org.apache.commons.configuration.resolver
Class DefaultEntityResolver

java.lang.Object
  extended by org.apache.commons.configuration.resolver.DefaultEntityResolver
All Implemented Interfaces:
EntityRegistry, org.xml.sax.EntityResolver

public class DefaultEntityResolver
extends java.lang.Object
implements org.xml.sax.EntityResolver, EntityRegistry

The DefaultEntityResolver used by XML Configurations.

Since:
1.7
Version:
$Id: DefaultEntityResolver.java 729581 2008-12-27 02:27:49Z rgoers $
Author:
Commons Configuration team

Constructor Summary
DefaultEntityResolver()
           
 
Method Summary
 java.util.Map getRegisteredEntities()
          Returns a map with the entity IDs that have been registered using the registerEntityId() method.
 void registerEntityId(java.lang.String publicId, java.net.URL entityURL)
           Registers the specified URL for the specified public identifier.
 org.xml.sax.InputSource resolveEntity(java.lang.String publicId, java.lang.String systemId)
          Resolves the requested external entity.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultEntityResolver

public DefaultEntityResolver()
Method Detail

registerEntityId

public void registerEntityId(java.lang.String publicId,
                             java.net.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 every SYSTEM URI on every processed XML document is local. This implementation provides only basic functionality. If more sophisticated features are required, either calling XMLConfiguration.setDocumentBuilder(DocumentBuilder) to set a custom DocumentBuilder (which also can be initialized with a custom EntityResolver) or creating a custom entity resolver and registering it with the XMLConfiguration is recommended.

Specified by:
registerEntityId in interface EntityRegistry
Parameters:
publicId - Public identifier of the Entity to be resolved
entityURL - The URL to use for reading this Entity
Throws:
java.lang.IllegalArgumentException - if the public ID is undefined

resolveEntity

public org.xml.sax.InputSource resolveEntity(java.lang.String publicId,
                                             java.lang.String systemId)
                                      throws org.xml.sax.SAXException
Resolves the requested external entity. This is the default implementation of the EntityResolver interface. It checks the passed in public ID against the registered entity IDs and uses a local URL if possible.

Specified by:
resolveEntity in interface org.xml.sax.EntityResolver
Parameters:
publicId - the public identifier of the entity being referenced
systemId - the system identifier of the entity being referenced
Returns:
an input source for the specified entity
Throws:
org.xml.sax.SAXException - if a parsing exception occurs

getRegisteredEntities

public java.util.Map getRegisteredEntities()
Returns a map with the entity IDs that have been registered using the registerEntityId() method.

Specified by:
getRegisteredEntities in interface EntityRegistry
Returns:
a map with the registered entity IDs


Copyright © 2001-2011. All Rights Reserved.