com.verisign.epp.util

## Class EPPEntityResolver

- java.lang.Object
- - com.verisign.epp.util.EPPEntityResolver

- All Implemented Interfaces:
    org.xml.sax.EntityResolver

      public class EPPEntityResolver
      extends java.lang.Object
      implements org.xml.sax.EntityResolver

  EPP Entity Resolver used to cache and load EPP XML schemas from the classpath. The first time an entity is encountered, `EPPEntityResolver` will attempt to load it from the classpath and than store it in an internal cache. The cache is a class attribute, so all instances of `EPPEntityResolver` reference the same cache.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EPPEntityResolver()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `org.xml.sax.InputSource` | `resolveEntity(java.lang.String aPublicId, java.lang.String aSystemId)` Implimentation of the `EntityResolver.resolveEntity` method, which is called before the parser loads an external entity.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### EPPEntityResolver

          public EPPEntityResolver()

  - ### Method Detail

    - #### resolveEntity

          public org.xml.sax.InputSource resolveEntity(java.lang.String aPublicId,
                                                       java.lang.String aSystemId)
                                                throws org.xml.sax.SAXException,
                                                       java.io.IOException

      Implimentation of the `EntityResolver.resolveEntity` method, which is called before the parser loads an external entity. This method will implement the loading of the external entity from the classpath and cache entities in an internal cache. Additionally, if a custom `ClassLoader` was used to load `EPPEntityResolver`, than the custom `ClassLoader` will be used after `ClassLoader.getSystemResourceAsStream`.
      Specified by:
        `resolveEntity` in interface `org.xml.sax.EntityResolver`
      Parameters:
        `aPublicId` - Ignored
        `aSystemId` - Name of entity to load
      Returns:
        `InputSource` instance associated with `aSystemId`
      Throws:
        `org.xml.sax.SAXException` - Currently not thrown, but part of the interface
        `java.io.IOException` - Error loading the entity.