## org.apache.xerces.readers
Class DefaultEntityHandler

    java.lang.Object
      |
      +--org.apache.xerces.readers.DefaultEntityHandler

public class DefaultEntityHandler
extends java.lang.Object
implements XMLEntityHandler, XMLEntityHandler.DTDHandler

Default entity handler implementation.

Version:
  $Id: DefaultEntityHandler.java,v 1.8.2.2 2001/11/05 19:48:21 neilg Exp $

Inner Class Summary
`class` `DefaultEntityHandler.EntityPool`
`static interface` `DefaultEntityHandler.EventHandler`

Inner classes inherited from class org.apache.xerces.readers.XMLEntityHandler
`XMLEntityHandler.CharBuffer, XMLEntityHandler.CharDataHandler, XMLEntityHandler.DTDHandler, XMLEntityHandler.EntityReader`

Field Summary
`protected XMLEntityReaderFactory` `fReaderFactory`

Fields inherited from interface org.apache.xerces.readers.XMLEntityHandler

`ATTVALUE_RESULT_COMPLEX, ATTVALUE_RESULT_INVALID_CHAR, ATTVALUE_RESULT_LESSTHAN, CHARREF_RESULT_INVALID_CHAR, CHARREF_RESULT_OUT_OF_RANGE, CHARREF_RESULT_SEMICOLON_REQUIRED, CONTENT_RESULT_END_OF_CDSECT, CONTENT_RESULT_INVALID_CHAR, CONTENT_RESULT_MARKUP_END_OF_INPUT, CONTENT_RESULT_MARKUP_NOT_RECOGNIZED, CONTENT_RESULT_MATCHING_ETAG, CONTENT_RESULT_REFERENCE_END_OF_INPUT, CONTENT_RESULT_START_OF_CDSECT, CONTENT_RESULT_START_OF_CHARREF, CONTENT_RESULT_START_OF_COMMENT, CONTENT_RESULT_START_OF_ELEMENT, CONTENT_RESULT_START_OF_ENTITYREF, CONTENT_RESULT_START_OF_ETAG, CONTENT_RESULT_START_OF_PI, ENTITYREF_DOCUMENT, ENTITYREF_EXTERNAL_SUBSET, ENTITYREF_IN_ATTVALUE, ENTITYREF_IN_CONTENT, ENTITYREF_IN_DEFAULTATTVALUE, ENTITYREF_IN_DTD_AS_MARKUP, ENTITYREF_IN_DTD_WITHIN_MARKUP, ENTITYREF_IN_ENTITYVALUE, ENTITYTYPE_DOCUMENT, ENTITYTYPE_EXTERNAL, ENTITYTYPE_EXTERNAL_PE, ENTITYTYPE_EXTERNAL_SUBSET, ENTITYTYPE_INTERNAL, ENTITYTYPE_INTERNAL_PE, ENTITYTYPE_UNPARSED, ENTITYVALUE_RESULT_END_OF_INPUT, ENTITYVALUE_RESULT_FINISHED, ENTITYVALUE_RESULT_INVALID_CHAR, ENTITYVALUE_RESULT_PEREF, ENTITYVALUE_RESULT_REFERENCE, STRINGLIT_RESULT_INVALID_CHAR, STRINGLIT_RESULT_QUOTE_REQUIRED`

Constructor Summary
`DefaultEntityHandler(StringPool stringPool, XMLErrorReporter errorReporter)`

Method Summary
`int` `addExternalEntityDecl(int name, int publicId, int systemId, boolean isExternal)`
`int` `addExternalPEDecl(int name, int publicId, int systemId, boolean isExternal)`
`int` `addInternalEntityDecl(int name, int value, boolean isExternal)`
`int` `addInternalPEDecl(int name, int value, boolean isExternal)` Declare entities and notations.
`int` `addNotationDecl(int notationName, int publicId, int systemId, boolean isExternal)`
`void` `addRecognizer(XMLDeclRecognizer recognizer)` Adds a recognizer.
`void` `addRequiredNotation(int notationName, Locator locator, int majorCode, int minorCode, java.lang.Object[] args)` Remember a required but undeclared notation.
`int` `addUnparsedEntityDecl(int name, int publicId, int systemId, int notationName, boolean isExternal)`
`XMLEntityHandler.EntityReader` `changeReaders()` This method is called by the reader subclasses at the end of input, and also by the scanner directly to force a reader change during error recovery.
`void` `checkRequiredNotations()` Check required but undeclared notations.
`void` `endEntityDecl()` end an entity declaration
`java.lang.String` `expandSystemId(java.lang.String systemId)` Expands a system id and returns the system id as a URI, if it can be expanded.
`boolean` `externalReferenceInContent(int entityHandle)`
`boolean` `getAllowJavaEncodings()`
`XMLEntityHandler.CharDataHandler` `getCharDataHandler()` Get the character data handler.
`int` `getColumnNumber()` Return the column number of the current position within the document that we are processing.
`XMLEntityHandler.EntityReader` `getEntityReader()` get the Entity reader.
`EntityResolver` `getEntityResolver()` Gets the resolver used to resolve external entities.
`protected int` `getEntityValue(int entityHandle)`
`int` `getLineNumber()` Return the line number of the current position within the document that we are processing.
`protected int` `getParameterEntityValue(int peIndex)`
`java.lang.String` `getPublicId()` Return the public identifier of the `InputSource` that we are processing.
`protected java.lang.String` `getPublicIdOfEntity(int entityHandle)`
`protected java.lang.String` `getPublicIdOfParameterEntity(int peIndex)`
`int` `getReaderDepth()` This method is provided for scanner implementations.
`int` `getReaderId()` This method is provided for scanner implementations.
`java.lang.String` `getSystemId()` Return the system identifier of the `InputSource` that we are processing.
`protected java.lang.String` `getSystemIdOfEntity(int entityHandle)`
`protected java.lang.String` `getSystemIdOfParameterEntity(int peIndex)`
`protected boolean` `isExternalEntity(int entityHandle)`
`protected boolean` `isExternalParameterEntity(int peIndex)`
`boolean` `isNotationDeclared(int notationName)` Check for declared notation.
`boolean` `isUnparsedEntity(int entityName)` Check for unparsed entity.
`protected int` `lookupEntity(int entityNameIndex)`
`protected int` `lookupParameterEntity(int peName)`
`void` `reset(StringPool stringPool)` Reset the entity handler.
`void` `setAllowJavaEncodings(boolean flag)`
`void` `setCharDataHandler(XMLEntityHandler.CharDataHandler charDataHandler)` Set the character data handler.
`void` `setEntityResolver(EntityResolver resolver)` Sets the resolver used to resolve external entities.
`void` `setEventHandler(DefaultEntityHandler.EventHandler eventHandler)`
`void` `setReaderDepth(int depth)` This method is provided for scanner implementations.
`void` `setReaderFactory(XMLEntityReaderFactory readerFactory)` Set the reader factory.
`void` `setSendCharDataAsCharArray(boolean flag)` Set char data processing preference.
`boolean` `startEntityDecl(boolean isPE, int entityName)` start an entity declaration
`boolean` `startReadingFromDocument(InputSource source)` Start reading document from an InputSource.
`boolean` `startReadingFromEntity(int entityName, int readerDepth, int context)` start reading from an external entity
`void` `startReadingFromExternalSubset(java.lang.String publicId, java.lang.String systemId, int readerDepth)` start reading from an external DTD subset
`void` `stopReadingFromExternalSubset()` stop reading from an external DTD subset
`protected int` `valueOfReferenceInAttValue(int entityHandle)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### fReaderFactory

    protected XMLEntityReaderFactory fReaderFactory

Constructor Detail

### DefaultEntityHandler

    public DefaultEntityHandler(StringPool stringPool,
                                XMLErrorReporter errorReporter)

Method Detail

### setEventHandler

    public void setEventHandler(DefaultEntityHandler.EventHandler eventHandler)

### setCharDataHandler

    public void setCharDataHandler(XMLEntityHandler.CharDataHandler charDataHandler)

  Description copied from interface: XMLEntityHandler
  Set the character data handler.
  Specified by:
    setCharDataHandler in interface XMLEntityHandler

### getCharDataHandler

    public XMLEntityHandler.CharDataHandler getCharDataHandler()

  Description copied from interface: XMLEntityHandler
  Get the character data handler.
  Specified by:
    getCharDataHandler in interface XMLEntityHandler

### setSendCharDataAsCharArray

    public void setSendCharDataAsCharArray(boolean flag)

  Set char data processing preference.

### setReaderFactory

    public void setReaderFactory(XMLEntityReaderFactory readerFactory)

  Set the reader factory.

### reset

    public void reset(StringPool stringPool)

  Reset the entity handler.

### setAllowJavaEncodings

    public void setAllowJavaEncodings(boolean flag)

### getAllowJavaEncodings

    public boolean getAllowJavaEncodings()

### addInternalPEDecl

    public int addInternalPEDecl(int name,
                                 int value,
                                 boolean isExternal)
                          throws java.lang.Exception

  Description copied from interface: XMLEntityHandler.DTDHandler
  Declare entities and notations.
  Specified by:
    addInternalPEDecl in interface XMLEntityHandler.DTDHandler

### addExternalPEDecl

    public int addExternalPEDecl(int name,
                                 int publicId,
                                 int systemId,
                                 boolean isExternal)
                          throws java.lang.Exception

  Specified by:
    addExternalPEDecl in interface XMLEntityHandler.DTDHandler

### addInternalEntityDecl

    public int addInternalEntityDecl(int name,
                                     int value,
                                     boolean isExternal)
                              throws java.lang.Exception

  Specified by:
    addInternalEntityDecl in interface XMLEntityHandler.DTDHandler

### addExternalEntityDecl

    public int addExternalEntityDecl(int name,
                                     int publicId,
                                     int systemId,
                                     boolean isExternal)
                              throws java.lang.Exception

  Specified by:
    addExternalEntityDecl in interface XMLEntityHandler.DTDHandler

### addUnparsedEntityDecl

    public int addUnparsedEntityDecl(int name,
                                     int publicId,
                                     int systemId,
                                     int notationName,
                                     boolean isExternal)
                              throws java.lang.Exception

  Specified by:
    addUnparsedEntityDecl in interface XMLEntityHandler.DTDHandler

### addNotationDecl

    public int addNotationDecl(int notationName,
                               int publicId,
                               int systemId,
                               boolean isExternal)
                        throws java.lang.Exception

  Specified by:
    addNotationDecl in interface XMLEntityHandler.DTDHandler

### isUnparsedEntity

    public boolean isUnparsedEntity(int entityName)

  Description copied from interface: XMLEntityHandler.DTDHandler
  Check for unparsed entity.
  Specified by:
    isUnparsedEntity in interface XMLEntityHandler.DTDHandler
  Tags copied from interface: XMLEntityHandler.DTDHandler
  Parameters:
    `entityName` - The string handle for the entity name.
  Returns:
    `true` if entityName is an unparsed entity; otherwise `false` if entityName is not declared or not an unparsed entity.

### isNotationDeclared

    public boolean isNotationDeclared(int notationName)

  Description copied from interface: XMLEntityHandler.DTDHandler
  Check for declared notation.
  Specified by:
    isNotationDeclared in interface XMLEntityHandler.DTDHandler
  Tags copied from interface: XMLEntityHandler.DTDHandler
  Parameters:
    `notationName` - The string handle for the notation name.
  Returns:
    `true` if notationName is a declared notation; otherwise `false` if notationName is not declared.

### addRequiredNotation

    public void addRequiredNotation(int notationName,
                                    Locator locator,
                                    int majorCode,
                                    int minorCode,
                                    java.lang.Object[] args)

  Description copied from interface: XMLEntityHandler.DTDHandler
  Remember a required but undeclared notation.
  Specified by:
    addRequiredNotation in interface XMLEntityHandler.DTDHandler

### checkRequiredNotations

    public void checkRequiredNotations()
                                throws java.lang.Exception

  Description copied from interface: XMLEntityHandler.DTDHandler
  Check required but undeclared notations.
  Specified by:
    checkRequiredNotations in interface XMLEntityHandler.DTDHandler

### lookupEntity

    protected int lookupEntity(int entityNameIndex)

### externalReferenceInContent

    public boolean externalReferenceInContent(int entityHandle)
                                       throws java.lang.Exception

### valueOfReferenceInAttValue

    protected int valueOfReferenceInAttValue(int entityHandle)
                                      throws java.lang.Exception

### isExternalEntity

    protected boolean isExternalEntity(int entityHandle)

### getEntityValue

    protected int getEntityValue(int entityHandle)

### getPublicIdOfEntity

    protected java.lang.String getPublicIdOfEntity(int entityHandle)

### getSystemIdOfEntity

    protected java.lang.String getSystemIdOfEntity(int entityHandle)

### lookupParameterEntity

    protected int lookupParameterEntity(int peName)
                                 throws java.lang.Exception

### isExternalParameterEntity

    protected boolean isExternalParameterEntity(int peIndex)

### getParameterEntityValue

    protected int getParameterEntityValue(int peIndex)

### getPublicIdOfParameterEntity

    protected java.lang.String getPublicIdOfParameterEntity(int peIndex)

### getSystemIdOfParameterEntity

    protected java.lang.String getSystemIdOfParameterEntity(int peIndex)

### getEntityReader

    public XMLEntityHandler.EntityReader getEntityReader()

  get the Entity reader.
  Specified by:
    getEntityReader in interface XMLEntityHandler

### addRecognizer

    public void addRecognizer(XMLDeclRecognizer recognizer)

  Adds a recognizer.
  Parameters:
    `recognizer` - The XML recognizer to add.

### setEntityResolver

    public void setEntityResolver(EntityResolver resolver)

  Sets the resolver used to resolve external entities. The EntityResolver interface supports resolution of public and system identifiers.
  Parameters:
    `resolver` - The new entity resolver. Passing a null value will uninstall the currently installed resolver.

### getEntityResolver

    public EntityResolver getEntityResolver()

  Gets the resolver used to resolve external entities. The EntityResolver interface supports resolution of public and system identifiers.
  Returns:
    The current entity resolver.

### expandSystemId

    public java.lang.String expandSystemId(java.lang.String systemId)

  Expands a system id and returns the system id as a URI, if it can be expanded. A return value of null means that the identifier is already expanded. An exception thrown indicates a failure to expand the id.
  Specified by:
    expandSystemId in interface XMLEntityHandler
  Parameters:
    `systemId` - The systemId to be expanded.
  Returns:
    Returns the URI string representing the expanded system identifier. A null value indicates that the given system identifier is already expanded.

### startReadingFromDocument

    public boolean startReadingFromDocument(InputSource source)
                                     throws java.lang.Exception

  Description copied from interface: XMLEntityHandler
  Start reading document from an InputSource.
  Specified by:
    startReadingFromDocument in interface XMLEntityHandler
  Tags copied from interface: XMLEntityHandler
  Parameters:
    `source` - The input source for the document to process.
  Returns:
    `true` if we were able to open the document source; `false` otherwise.
  Throws:
    java.lang.Exception -

### startReadingFromExternalSubset

    public void startReadingFromExternalSubset(java.lang.String publicId,
                                               java.lang.String systemId,
                                               int readerDepth)
                                        throws java.lang.Exception

  start reading from an external DTD subset
  Specified by:
    startReadingFromExternalSubset in interface XMLEntityHandler.DTDHandler
  Tags copied from interface: XMLEntityHandler.DTDHandler
  Parameters:
    `publicId` - The public identifier for the external subset.
    `systemId` - The system identifier for the external subset.
    `readerDepth` - The depth to associate with the reader for the external subset.
  Throws:
    java.lang.Exception -

### stopReadingFromExternalSubset

    public void stopReadingFromExternalSubset()
                                       throws java.lang.Exception

  stop reading from an external DTD subset
  Specified by:
    stopReadingFromExternalSubset in interface XMLEntityHandler.DTDHandler
  Tags copied from interface: XMLEntityHandler.DTDHandler
  Throws:
    java.lang.Exception -

### startReadingFromEntity

    public boolean startReadingFromEntity(int entityName,
                                          int readerDepth,
                                          int context)
                                   throws java.lang.Exception

  start reading from an external entity
  Specified by:
    startReadingFromEntity in interface XMLEntityHandler
  Tags copied from interface: XMLEntityHandler
  Parameters:
    `entityName` - The entity name handle in the string pool.
    `readerDepth` - The depth to associate with the reader for this entity.
    `context` - The context of the entity reference; see ENTITYREF_IN_*.
  Returns:
    `true` if the entity might start with a TextDecl; `false` otherwise.
  Throws:
    java.lang.Exception -

### startEntityDecl

    public boolean startEntityDecl(boolean isPE,
                                   int entityName)
                            throws java.lang.Exception

  start an entity declaration
  Specified by:
    startEntityDecl in interface XMLEntityHandler.DTDHandler
  Tags copied from interface: XMLEntityHandler.DTDHandler
  Returns:
    `true` on success; otherwise `false` if the entity declaration is recursive.
  Throws:
    java.lang.Exception -

### endEntityDecl

    public void endEntityDecl()
                       throws java.lang.Exception

  end an entity declaration
  Specified by:
    endEntityDecl in interface XMLEntityHandler.DTDHandler
  Tags copied from interface: XMLEntityHandler.DTDHandler
  Throws:
    java.lang.Exception -

### getReaderId

    public int getReaderId()

  This method is provided for scanner implementations.
  Specified by:
    getReaderId in interface XMLEntityHandler

### setReaderDepth

    public void setReaderDepth(int depth)

  This method is provided for scanner implementations.
  Specified by:
    setReaderDepth in interface XMLEntityHandler

### getReaderDepth

    public int getReaderDepth()

  This method is provided for scanner implementations.
  Specified by:
    getReaderDepth in interface XMLEntityHandler

### getPublicId

    public java.lang.String getPublicId()

  Return the public identifier of the `InputSource` that we are processing.
  Returns:
    The public identifier, or null if not provided.

### getSystemId

    public java.lang.String getSystemId()

  Return the system identifier of the `InputSource` that we are processing.
  Returns:
    The system identifier, or null if not provided.

### getLineNumber

    public int getLineNumber()

  Return the line number of the current position within the document that we are processing.
  Returns:
    The current line number.

### getColumnNumber

    public int getColumnNumber()

  Return the column number of the current position within the document that we are processing.
  Returns:
    The current column number.

### changeReaders

    public XMLEntityHandler.EntityReader changeReaders()
                                                throws java.lang.Exception

  This method is called by the reader subclasses at the end of input, and also by the scanner directly to force a reader change during error recovery.
  Specified by:
    changeReaders in interface XMLEntityHandler
  Tags copied from interface: XMLEntityHandler
  Returns:
    The reader to use next.
  Throws:
    java.lang.Exception -

Copyright © 1999-2001 Apache XML Project. All Rights Reserved.