Class DefaultEntityResolver
- java.lang.Object
-
- org.apache.commons.configuration2.resolver.DefaultEntityResolver
-
- All Implemented Interfaces:
EntityRegistry,EntityResolver
public class DefaultEntityResolver extends Object implements EntityResolver, EntityRegistry
The DefaultEntityResolver used by XML Configurations.- Since:
- 1.7
-
-
Constructor Summary
Constructors Constructor Description DefaultEntityResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<String,URL>getRegisteredEntities()Gets 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.InputSourceresolveEntity(String publicId, String systemId)Resolves the requested external entity.
-
-
-
Constructor Detail
-
DefaultEntityResolver
public DefaultEntityResolver()
-
-
Method Detail
-
registerEntityId
public void registerEntityId(String publicId, URL entityURL)
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
public InputSource resolveEntity(String publicId, String systemId) throws SAXException
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
-
getRegisteredEntities
public Map<String,URL> 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
-
-