Class DefaultEntityResolver
- All Implemented Interfaces:
EntityRegistry,EntityResolver
- Since:
- 1.7
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGets a map with the entity IDs that have been registered using theregisterEntityId()method.voidregisterEntityId(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:
getRegisteredEntitiesin 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 everySYSTEMURI 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:
registerEntityIdin 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 theEntityResolverinterface. It checks the passed in public ID against the registered entity IDs and uses a local URL if possible.- Specified by:
resolveEntityin 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
-