Class DefaultEntityResolver
- All Implemented Interfaces:
EntityRegistry
,EntityResolver
- Since:
- 1.7
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionGets a map with the entity IDs that have been registered using theregisterEntityId()
method.void
registerEntityId
(String publicId, URL entityURL) Registers the specified URL for the specified public identifier.resolveEntity
(String publicId, String systemId) Resolves the requested external entity.
-
Constructor Details
-
DefaultEntityResolver
public DefaultEntityResolver()
-
-
Method Details
-
getRegisteredEntities
Gets a map with the entity IDs that have been registered using theregisterEntityId()
method.- Specified by:
getRegisteredEntities
in interfaceEntityRegistry
- Returns:
- a map with the registered entity IDs
-
registerEntityId
Registers the specified URL for the specified public identifier.
This implementation maps
PUBLICID
's to URLs (from which the resource will be loaded). A common use case for this method is to register local URLs (possibly computed at runtime by a class loader) for DTDs and Schemas. This allows the performance advantage of using a local version without having to ensure everySYSTEM
URI on every processed XML document is local. This implementation provides only basic functionality. If more sophisticated features are required, either callingXMLConfiguration.setDocumentBuilder(DocumentBuilder)
to set a customDocumentBuilder
(which also can be initialized with a customEntityResolver
) or creating a custom entity resolver and registering it with the XMLConfiguration is recommended.- Specified by:
registerEntityId
in interfaceEntityRegistry
- Parameters:
publicId
- Public identifier of the Entity to be resolvedentityURL
- The URL to use for reading this Entity- Throws:
IllegalArgumentException
- if the public ID is undefined
-
resolveEntity
Resolves the requested external entity. This is the default implementation of theEntityResolver
interface. It checks the passed in public ID against the registered entity IDs and uses a local URL if possible.- Specified by:
resolveEntity
in interfaceEntityResolver
- Parameters:
publicId
- the public identifier of the entity being referencedsystemId
- the system identifier of the entity being referenced- Returns:
- an input source for the specified entity
- Throws:
SAXException
- if a parsing exception occurs
-