|
BEA Systems, Inc. | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--weblogic.apache.xerces.impl.XMLEntityManager
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:
Inner Class Summary | |
protected static class |
XMLEntityManager.Entity
Entity information. |
protected class |
XMLEntityManager.EntityScanner
Implements the entity scanner methods. |
protected static class |
XMLEntityManager.ExternalEntity
External entity. |
protected static class |
XMLEntityManager.InternalEntity
Internal entity. |
protected class |
XMLEntityManager.RewindableInputStream
|
protected class |
XMLEntityManager.ScannedEntity
Entity state. |
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 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 XMLEntityManager.ScannedEntity |
fCurrentEntity
Current entity. |
protected java.util.Hashtable |
fDeclaredEntities
Shared declared entities. |
protected java.util.Hashtable |
fEntities
Entities. |
protected int |
fEntityExpansionCount
|
protected int |
fEntityExpansionLimit
|
protected XMLEntityHandler |
fEntityHandler
Entity handler. |
protected XMLEntityResolver |
fEntityResolver
Entity resolver. |
protected XMLEntityScanner |
fEntityScanner
Entity scanner. |
protected java.util.Stack |
fEntityStack
Entity stack. |
protected XMLErrorReporter |
fErrorReporter
Error reporter. |
protected boolean |
fExternalGeneralEntities
External general entities. |
protected boolean |
fExternalParameterEntities
External parameter entities. |
protected java.util.Vector |
fOwnReaders
|
protected SecurityManager |
fSecurityManager
|
protected boolean |
fStandalone
True if the document entity is standalone. |
protected SymbolTable |
fSymbolTable
Symbol table. |
protected boolean |
fValidation
Validation. |
protected ValidationManager |
fValidationManager
Validation manager. |
protected boolean |
fWarnDuplicateEntityDef
warn on duplicate Entity declaration. |
protected static java.lang.String |
SECURITY_MANAGER
property identifier: security manager. |
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()
Default constructor. |
|
XMLEntityManager(XMLEntityManager entityManager)
Constructs an entity manager that shares the specified entity declarations during each parse. |
Method Summary | |
void |
addExternalEntity(java.lang.String name,
java.lang.String publicId,
java.lang.String literalSystemId,
java.lang.String baseSystemId)
Adds an external entity declaration. |
void |
addInternalEntity(java.lang.String name,
java.lang.String text)
Adds an internal entity declaration. |
void |
addUnparsedEntity(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId,
java.lang.String baseSystemId,
java.lang.String notation)
Adds an unparsed entity declaration. |
void |
closeReaders()
Close all opened InputStreams and Readers opened by this parser. |
protected XMLEntityScanner |
createEntityScanner()
|
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. |
protected void |
endEntity()
Ends an entity. |
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. |
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. |
XMLEntityScanner |
getEntityScanner()
Returns the entity scanner. |
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 |
isDeclaredEntity(java.lang.String entityName)
Checks whether an entity given by name is declared. |
boolean |
isExternalEntity(java.lang.String entityName)
Checks whether an entity given by name is external. |
boolean |
isStandalone()
Returns true if the document entity is standalone. |
boolean |
isUnparsedEntity(java.lang.String entityName)
Checks whether an entity given by name is unparsed. |
void |
reset(XMLComponentManager componentManager)
Resets the component. |
XMLInputSource |
resolveEntity(XMLResourceIdentifier resourceIdentifier)
Resolves the specified public and system identifiers. |
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 propertyId,
java.lang.Object value)
Sets the value of a property. |
void |
setStandalone(boolean standalone)
Sets whether the document entity is standalone. |
void |
startDocumentEntity(XMLInputSource xmlInputSource)
Starts the document entity. |
void |
startDTDEntity(XMLInputSource xmlInputSource)
Starts the DTD entity. |
void |
startEntity(java.lang.String entityName,
boolean literal)
Starts a named entity. |
void |
startEntity(java.lang.String name,
XMLInputSource xmlInputSource,
boolean literal,
boolean isExternal)
Starts an entity. |
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 VALIDATION_MANAGER
protected static final java.lang.String BUFFER_SIZE
protected static final java.lang.String SECURITY_MANAGER
protected boolean fValidation
protected boolean fExternalGeneralEntities
protected boolean fExternalParameterEntities
protected boolean fAllowJavaEncodings
protected boolean fWarnDuplicateEntityDef
protected SymbolTable fSymbolTable
protected XMLErrorReporter fErrorReporter
protected XMLEntityResolver fEntityResolver
protected ValidationManager fValidationManager
protected int fBufferSize
protected SecurityManager fSecurityManager
protected boolean fStandalone
protected XMLEntityHandler fEntityHandler
protected XMLEntityScanner fEntityScanner
protected int fEntityExpansionLimit
protected int fEntityExpansionCount
protected java.util.Hashtable fEntities
protected java.util.Stack fEntityStack
protected XMLEntityManager.ScannedEntity fCurrentEntity
protected java.util.Hashtable fDeclaredEntities
protected java.util.Vector fOwnReaders
Constructor Detail |
public XMLEntityManager()
public XMLEntityManager(XMLEntityManager entityManager)
REVISIT: We might want to think about the "right" way to expose the list of declared entities. For now, the knowledge how to access the entity declarations is implicit.
Method Detail |
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 void addInternalEntity(java.lang.String name, java.lang.String text)
Note: This method ignores subsequent entity declarations.
Note: The name should be a unique symbol. The SymbolTable can be used for this purpose.
name
- The name of the entity.text
- The text of the entity.SymbolTable
public void addExternalEntity(java.lang.String name, java.lang.String publicId, java.lang.String literalSystemId, java.lang.String baseSystemId)
Note: This method ignores subsequent entity declarations.
Note: The name should be a unique symbol. The SymbolTable can be used for this purpose.
name
- The name of the entity.publicId
- The public identifier of the entity.literalSystemId
- The system identifier of the entity.baseSystemId
- The base system identifier of the entity.
This is the system identifier of the entity
where the entity being added and
is used to expand the system identifier when
the system identifier is a relative URI.
When null the system identifier of the first
external entity on the stack is used instead.SymbolTable
public boolean isExternalEntity(java.lang.String entityName)
entityName
- The name of the entity to check.public void addUnparsedEntity(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String baseSystemId, java.lang.String notation)
Note: This method ignores subsequent entity declarations.
Note: The name should be a unique symbol. The SymbolTable can be used for this purpose.
name
- The name of the entity.publicId
- The public identifier of the entity.systemId
- The system identifier of the entity.notation
- The name of the notation.SymbolTable
public boolean isUnparsedEntity(java.lang.String entityName)
entityName
- The name of the entity to check.public boolean isDeclaredEntity(java.lang.String entityName)
entityName
- The name of the entity to check.public XMLInputSource resolveEntity(XMLResourceIdentifier resourceIdentifier) throws java.io.IOException, XNIException
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.public void startEntity(java.lang.String entityName, boolean literal) throws java.io.IOException, XNIException
entityName
- The name of the entity to start.literal
- True if this entity is started within a literal
value.public void startDocumentEntity(XMLInputSource xmlInputSource) throws java.io.IOException, XNIException
xmlInputSource
- The input source of the document entity.public void startDTDEntity(XMLInputSource xmlInputSource) throws java.io.IOException, XNIException
xmlInputSource
- The input source of the DTD entity.public void startEntity(java.lang.String name, XMLInputSource xmlInputSource, boolean literal, boolean isExternal) throws java.io.IOException, 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.public XMLEntityScanner getEntityScanner()
public void closeReaders()
public void reset(XMLComponentManager componentManager) throws XMLConfigurationException
componentManager
- The component manager.public java.lang.String[] getRecognizedFeatures()
public void setFeature(java.lang.String featureId, boolean state) throws XMLConfigurationException
Note: Components should silently ignore features that do not affect the operation of the component.
featureId
- The feature identifier.state
- The state of the feature.public java.lang.String[] getRecognizedProperties()
public void setProperty(java.lang.String propertyId, java.lang.Object value) throws XMLConfigurationException
Note: Components should silently ignore properties that do not affect the operation of the component.
propertyId
- The property identifier.value
- The value of the property.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 void endEntity() throws XNIException
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.protected XMLEntityScanner createEntityScanner()
protected static java.lang.String fixURI(java.lang.String str)
str
- The string to fix.
|
Documentation is available at http://download.oracle.com/docs/cd/E13222_01/wls/docs81 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |