Class ParserEntityResolver

java.lang.Object
org.pentaho.reporting.libraries.xmlns.parser.ParserEntityResolver
All Implemented Interfaces:
EntityResolver

public final class ParserEntityResolver extends Object implements EntityResolver
Resolves the JFreeReport DTD specification and routes the parser to a local copy.
Author:
Thomas Morgner
  • Method Details

    • setDTDLocation

      public boolean setDTDLocation(String publicID, URL location)
      Defines a DTD used to validate the report definition. Your XMLParser must be a validating parser for this feature to work.
      Parameters:
      publicID - the public ID.
      location - the URL.
      Returns:
      A boolean.
    • setDTDLocation

      public boolean setDTDLocation(String publicID, String systemId, URL location)
      Defines a DTD used to validate the report definition. Your XMLParser must be a validating parser for this feature to work.
      Parameters:
      systemId - the system ID for the DTD.
      publicID - the public ID.
      location - the URL.
      Returns:
      A boolean.
    • getDTDLocation

      public URL getDTDLocation(String publicID)
      Sets the location of the DTD. This is used for validating XML parsers to validate the structure of the report definition.
      Parameters:
      publicID - the id.
      Returns:
      the URL for the DTD.
    • resolveEntity

      public InputSource resolveEntity(String publicId, String systemId)
      Allow the application to resolve external entities.

      Resolves the DTD definition to point to a local copy, if the specified public ID is known to this resolver.

      Specified by:
      resolveEntity in interface EntityResolver
      Parameters:
      publicId - the public ID.
      systemId - the system ID.
      Returns:
      The input source.
    • getDefaultResolver

      public static ParserEntityResolver getDefaultResolver()
      Returns a default resolver, which is initialized to redirect the parser to a local copy of the JFreeReport DTDs.
      Returns:
      the default entity resolver.
    • setDeprecatedDTDMessage

      public void setDeprecatedDTDMessage(String publicID, String message)
      Defines that the given public ID should be deprecated and provides a log-message along with the deprecation.
      Parameters:
      publicID - the public id that should be considered deprecated.
      message - the message to present to the user to warn them about their use of deprecated DTDs.
    • getDeprecatedDTDMessage

      public String getDeprecatedDTDMessage(String publicID)
      Returns deprecation message for the given public ID.
      Parameters:
      publicID - the public id that should be considered deprecated.
      Returns:
      the deprecation message or null if the ID is not considered deprecated.