Class DefaultEntityResolver

java.lang.Object
org.apache.commons.configuration2.resolver.DefaultEntityResolver
All Implemented Interfaces:
EntityRegistry, EntityResolver

The DefaultEntityResolver used by XML Configurations.
Since:
1.7
  • Constructor Details

  • Method Details

    • 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 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:
      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 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 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:
      SAXException - if a parsing exception occurs
    • getRegisteredEntities

      Gets 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