|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.xml.stream.XMLEntityManager
public class XMLEntityManager
Will keep track of current entity. The entity manager handles the registration of general and parameter entities; resolves entities; and starts entities. The entity manager is a central component in a standard parser configuration and this class works directly with the entity scanner to manage the underlying xni.
This component requires the following features and properties from the component manager that uses it:
Nested Class Summary | |
---|---|
protected class |
XMLEntityManager.RewindableInputStream
|
Field Summary | |
---|---|
protected static java.lang.String |
ALLOW_JAVA_ENCODINGS
Feature identifier: allow Java encodings. |
protected static java.lang.String |
BUFFER_SIZE
property identifier: buffer size. |
static int |
DEFAULT_BUFFER_SIZE
Default buffer size (2048). |
static int |
DEFAULT_INTERNAL_BUFFER_SIZE
Default internal entity buffer size (1024). |
static int |
DEFAULT_XMLDECL_BUFFER_SIZE
Default buffer size before we've finished with the XMLDecl: |
protected java.lang.Object[] |
defaultEncoding
|
protected static java.lang.String |
ENTITY_RESOLVER
Property identifier: entity resolver. |
protected static java.lang.String |
ERROR_REPORTER
Property identifier: error reporter. |
protected static java.lang.String |
EXTERNAL_GENERAL_ENTITIES
Feature identifier: external general entities. |
protected static java.lang.String |
EXTERNAL_PARAMETER_ENTITIES
Feature identifier: external parameter entities. |
protected boolean |
fAllowJavaEncodings
Allow Java encoding names. |
protected int |
fBufferSize
Buffer size. |
protected Entity.ScannedEntity |
fCurrentEntity
Current entity. |
protected java.util.Hashtable |
fDeclaredEntities
Shared declared entities. |
protected java.util.Hashtable |
fEntities
Entities. |
protected XMLEntityHandler |
fEntityHandler
Entity handler. |
protected XMLEntityReaderImpl |
fEntityReader
|
protected org.apache.xerces.xni.parser.XMLEntityResolver |
fEntityResolver
Entity resolver. |
protected java.util.Stack |
fEntityStack
Entity stack. |
protected XMLEntityStorage |
fEntityStorage
|
protected XMLErrorReporter |
fErrorReporter
Error reporter. |
protected boolean |
fExternalGeneralEntities
External general entities. |
protected boolean |
fExternalParameterEntities
External parameter entities. |
protected boolean |
fInExternalSubset
|
protected java.util.Vector |
fOwnReaders
|
protected PropertyManager |
fPropertyManager
|
protected boolean |
fStandalone
True if the document entity is standalone. |
protected StaxEntityResolverWrapper |
fStaxEntityResolver
|
protected org.apache.xerces.util.SymbolTable |
fSymbolTable
Symbol table. |
protected boolean |
fValidation
Validation. |
protected static java.lang.String |
STAX_ENTITY_RESOLVER
|
protected static java.lang.String |
SYMBOL_TABLE
Property identifier: symbol table. |
protected static java.lang.String |
VALIDATION
Feature identifier: validation. |
protected static java.lang.String |
VALIDATION_MANAGER
|
protected static java.lang.String |
WARN_ON_DUPLICATE_ENTITYDEF
Feature identifier: warn on duplicate EntityDef |
Constructor Summary | |
---|---|
XMLEntityManager()
If this constructor is used to create the object, reset() should be invoked on this object |
|
XMLEntityManager(PropertyManager propertyManager)
Default constructor. |
Method Summary | |
---|---|
void |
closeReaders()
Close all opened InputStreams and Readers opened by this parser. |
protected java.io.Reader |
createReader(java.io.InputStream inputStream,
java.lang.String encoding,
java.lang.Boolean isBigEndian)
Creates a reader capable of reading the given input stream in the specified encoding. |
void |
endEntity()
|
void |
endExternalSubset()
|
static 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. |
static java.lang.String |
expandSystemId(java.lang.String systemId,
java.lang.String baseSystemId)
Expands a system id and returns the system id as a URI, if it can be expanded. |
protected static java.lang.String |
fixURI(java.lang.String str)
Fixes a platform dependent filename to standard URI form. |
int |
getColumnNumber()
Return the column number where the current document event ends. |
Entity.ScannedEntity |
getCurrentEntity()
Return the current entity being scanned. |
protected java.lang.Object[] |
getEncodingName(byte[] b4,
int count)
Returns the IANA encoding name that is auto-detected from the bytes specified, with the endian-ness of that encoding where appropriate. |
XMLEntityReader |
getEntityReader()
return the entity responsible for reading the entity |
XMLEntityStorage |
getEntityStore()
get the entity storage object from entity manager |
java.lang.String |
getExpandedSystemId()
Return the expanded system identifier for the current document event. |
java.lang.Boolean |
getFeatureDefault(java.lang.String featureId)
Returns the default state for a feature, or null if this component does not want to report a default value for this feature. |
int |
getLineNumber()
Return the line number where the current document event ends. |
java.lang.String |
getLiteralSystemId()
Return the literal system identifier for the current document event. |
java.lang.Object |
getPropertyDefault(java.lang.String propertyId)
Returns the default state for a property, or null if this component does not want to report a default value for this property. |
java.lang.String |
getPublicId()
Return the public identifier for the current document event. |
java.lang.String[] |
getRecognizedFeatures()
Returns a list of feature identifiers that are recognized by this component. |
java.lang.String[] |
getRecognizedProperties()
Returns a list of property identifiers that are recognized by this component. |
boolean |
isStandalone()
Returns true if the document entity is standalone. |
void |
reset(PropertyManager propertyManager)
|
void |
reset(org.apache.xerces.xni.parser.XMLComponentManager componentManager)
Resets the component. |
org.apache.xerces.xni.parser.XMLInputSource |
resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier resourceIdentifier)
Resolves the specified public and system identifiers. |
StaxXMLInputSource |
resolveEntityAsPerStax(org.apache.xerces.xni.XMLResourceIdentifier resourceIdentifier)
|
void |
setEntityHandler(XMLEntityHandler entityHandler)
Sets the entity handler. |
void |
setFeature(java.lang.String featureId,
boolean state)
Sets the state of a feature. |
void |
setProperty(java.lang.String name,
java.lang.Object value)
Sets the value of a property. |
void |
setStandalone(boolean standalone)
Sets whether the document entity is standalone. |
void |
startDocumentEntity(org.apache.xerces.xni.parser.XMLInputSource xmlInputSource)
Starts the document entity. |
void |
startDTDEntity(org.apache.xerces.xni.parser.XMLInputSource xmlInputSource)
Starts the DTD entity. |
void |
startEntity(java.lang.String entityName,
boolean literal)
Starts a named entity. |
void |
startEntity(java.lang.String name,
org.apache.xerces.xni.parser.XMLInputSource xmlInputSource,
boolean literal,
boolean isExternal)
Starts an entity. |
void |
startExternalSubset()
|
void |
test()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int DEFAULT_BUFFER_SIZE
public static final int DEFAULT_XMLDECL_BUFFER_SIZE
public static final int DEFAULT_INTERNAL_BUFFER_SIZE
protected static final java.lang.String VALIDATION
protected static final java.lang.String EXTERNAL_GENERAL_ENTITIES
protected static final java.lang.String EXTERNAL_PARAMETER_ENTITIES
protected static final java.lang.String ALLOW_JAVA_ENCODINGS
protected static final java.lang.String WARN_ON_DUPLICATE_ENTITYDEF
protected static final java.lang.String SYMBOL_TABLE
protected static final java.lang.String ERROR_REPORTER
protected static final java.lang.String ENTITY_RESOLVER
protected static final java.lang.String STAX_ENTITY_RESOLVER
protected static final java.lang.String VALIDATION_MANAGER
protected static final java.lang.String BUFFER_SIZE
protected boolean fValidation
protected boolean fExternalGeneralEntities
protected boolean fExternalParameterEntities
protected boolean fAllowJavaEncodings
protected org.apache.xerces.util.SymbolTable fSymbolTable
protected XMLErrorReporter fErrorReporter
protected org.apache.xerces.xni.parser.XMLEntityResolver fEntityResolver
protected StaxEntityResolverWrapper fStaxEntityResolver
protected PropertyManager fPropertyManager
protected int fBufferSize
protected boolean fStandalone
protected boolean fInExternalSubset
protected XMLEntityHandler fEntityHandler
protected XMLEntityReaderImpl fEntityReader
protected java.util.Hashtable fEntities
protected java.util.Stack fEntityStack
protected Entity.ScannedEntity fCurrentEntity
protected java.util.Hashtable fDeclaredEntities
protected XMLEntityStorage fEntityStorage
protected final java.lang.Object[] defaultEncoding
protected java.util.Vector fOwnReaders
Constructor Detail |
---|
public XMLEntityManager()
public XMLEntityManager(PropertyManager propertyManager)
Method Detail |
---|
public XMLEntityStorage getEntityStore()
public XMLEntityReader getEntityReader()
public void setStandalone(boolean standalone)
standalone
- True if document entity is standalone.public boolean isStandalone()
public void setEntityHandler(XMLEntityHandler entityHandler)
entityHandler
- The new entity handler.public StaxXMLInputSource resolveEntityAsPerStax(org.apache.xerces.xni.XMLResourceIdentifier resourceIdentifier) throws java.io.IOException
java.io.IOException
public org.apache.xerces.xni.parser.XMLInputSource resolveEntity(org.apache.xerces.xni.XMLResourceIdentifier resourceIdentifier) throws java.io.IOException, org.apache.xerces.xni.XNIException
resolveEntity
in interface org.apache.xerces.xni.parser.XMLEntityResolver
publicId
- The public identifier of the entity.systemId
- The system identifier of the entity.baseSystemId
- The base system identifier of the entity.
This is the system identifier of the current
entity and is used to expand the system
identifier when the system identifier is a
relative URI.
java.io.IOException
- Thrown on i/o error.
org.apache.xerces.xni.XNIException
- Thrown by entity resolver to signal an error.XMLResourceIdentifier
public void startEntity(java.lang.String entityName, boolean literal) throws java.io.IOException, org.apache.xerces.xni.XNIException
entityName
- The name of the entity to start.literal
- True if this entity is started within a literal
value.
java.io.IOException
- Thrown on i/o error.
org.apache.xerces.xni.XNIException
- Thrown by entity handler to signal an error.public void startDocumentEntity(org.apache.xerces.xni.parser.XMLInputSource xmlInputSource) throws java.io.IOException, org.apache.xerces.xni.XNIException
xmlInputSource
- The input source of the document entity.
java.io.IOException
- Thrown on i/o error.
org.apache.xerces.xni.XNIException
- Thrown by entity handler to signal an error.public void startDTDEntity(org.apache.xerces.xni.parser.XMLInputSource xmlInputSource) throws java.io.IOException, org.apache.xerces.xni.XNIException
xmlInputSource
- The input source of the DTD entity.
java.io.IOException
- Thrown on i/o error.
org.apache.xerces.xni.XNIException
- Thrown by entity handler to signal an error.public void startExternalSubset()
public void endExternalSubset()
public void startEntity(java.lang.String name, org.apache.xerces.xni.parser.XMLInputSource xmlInputSource, boolean literal, boolean isExternal) throws java.io.IOException, org.apache.xerces.xni.XNIException
This method can be used to insert an application defined XML entity stream into the parsing stream.
name
- The name of the entity.xmlInputSource
- The input source of the entity.literal
- True if this entity is started within a
literal value.isExternal
- whether this entity should be treated as an internal or external entity.
java.io.IOException
- Thrown on i/o error.
org.apache.xerces.xni.XNIException
- Thrown by entity handler to signal an error.public Entity.ScannedEntity getCurrentEntity()
public void closeReaders()
public void endEntity() throws java.io.IOException, org.apache.xerces.xni.XNIException
java.io.IOException
org.apache.xerces.xni.XNIException
public void reset(PropertyManager propertyManager)
public void reset(org.apache.xerces.xni.parser.XMLComponentManager componentManager) throws org.apache.xerces.xni.parser.XMLConfigurationException
reset
in interface org.apache.xerces.xni.parser.XMLComponent
componentManager
- The component manager.
SAXException
- Thrown by component on initialization error.
For example, if a feature or property is
required for the operation of the component, the
component manager may throw a
SAXNotRecognizedException or a
SAXNotSupportedException.
org.apache.xerces.xni.parser.XMLConfigurationException
public java.lang.String[] getRecognizedFeatures()
getRecognizedFeatures
in interface org.apache.xerces.xni.parser.XMLComponent
public void setFeature(java.lang.String featureId, boolean state) throws org.apache.xerces.xni.parser.XMLConfigurationException
Note: Components should silently ignore features that do not affect the operation of the component.
setFeature
in interface org.apache.xerces.xni.parser.XMLComponent
featureId
- The feature identifier.state
- The state of the feature.
SAXNotRecognizedException
- The component should not throw
this exception.
SAXNotSupportedException
- The component should not throw
this exception.
org.apache.xerces.xni.parser.XMLConfigurationException
- Thrown for configuration error.
In general, components should
only throw this exception if
it is really
a critical error.public void setProperty(java.lang.String name, java.lang.Object value)
org.apache.xerces.xni.parser.XMLComponent
Note: Components should silently ignore properties that do not affect the operation of the component.
setProperty
in interface org.apache.xerces.xni.parser.XMLComponent
name
- The property identifier.value
- The value of the property.public java.lang.String[] getRecognizedProperties()
getRecognizedProperties
in interface org.apache.xerces.xni.parser.XMLComponent
public java.lang.Boolean getFeatureDefault(java.lang.String featureId)
getFeatureDefault
in interface org.apache.xerces.xni.parser.XMLComponent
featureId
- The feature identifier.public java.lang.Object getPropertyDefault(java.lang.String propertyId)
getPropertyDefault
in interface org.apache.xerces.xni.parser.XMLComponent
propertyId
- The property identifier.public static java.lang.String expandSystemId(java.lang.String systemId)
systemId
- The systemId to be expanded.
public static java.lang.String expandSystemId(java.lang.String systemId, java.lang.String baseSystemId)
systemId
- The systemId to be expanded.
protected java.lang.Object[] getEncodingName(byte[] b4, int count)
b4
- The first four bytes of the input.count
- The number of bytes actually read.
protected java.io.Reader createReader(java.io.InputStream inputStream, java.lang.String encoding, java.lang.Boolean isBigEndian) throws java.io.IOException
inputStream
- The input stream.encoding
- The encoding name that the input stream is
encoded using. If the user has specified that
Java encoding names are allowed, then the
encoding name may be a Java encoding name;
otherwise, it is an ianaEncoding name.isBigEndian
- For encodings (like uCS-4), whose names cannot
specify a byte order, this tells whether the order is bigEndian. null menas
unknown or not relevant.
java.io.IOException
public java.lang.String getPublicId()
The return value is the public identifier of the document entity or of the external parsed entity in which the markup triggering the event appears.
public java.lang.String getExpandedSystemId()
The return value is the expanded system identifier of the document entity or of the external parsed entity in which the markup triggering the event appears.
If the system identifier is a URL, the parser must resolve it fully before passing it to the application.
public java.lang.String getLiteralSystemId()
The return value is the literal system identifier of the document entity or of the external parsed entity in which the markup triggering the event appears.
public int getLineNumber()
Warning: The return value from the method is intended only as an approximation for the sake of error reporting; it is not intended to provide sufficient information to edit the character content of the original XML document.
The return value is an approximation of the line number in the document entity or external parsed entity where the markup triggering the event appears.
If possible, the SAX driver should provide the line position of the first character after the text associated with the document event. The first line in the document is line 1.
public int getColumnNumber()
Warning: The return value from the method is intended only as an approximation for the sake of error reporting; it is not intended to provide sufficient information to edit the character content of the original XML document.
The return value is an approximation of the column number in the document entity or external parsed entity where the markup triggering the event appears.
If possible, the SAX driver should provide the line position of the first character after the text associated with the document event.
If possible, the SAX driver should provide the line position of the first character after the text associated with the document event. The first column in each line is column 1.
protected static java.lang.String fixURI(java.lang.String str)
str
- The string to fix.
public void test()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |