The system property that determines which Factory implementation to create is named "com.sun.org.apache.xml.internal.utils.DTMFactory". This property names a concrete subclass of the DTMFactory abstract class. If the property is not defined, a platform default is be used.
An instance of this class
Note
this class is incomplete right now. It will be pretty much modeled after javax.xml.transform.TransformerFactory in terms of its factory support.
State: In progress!!
| Modifier and Type | Field and Description |
|---|---|
| private boolean | |
| public static final int | IDENT_DTM_DEFAULT
When this bitmask is ANDed with a DTM node handle number, the result is the DTM's document identity number. |
| public static final int | IDENT_DTM_NODE_BITS
This value, set at compile time, controls how many bits of the DTM node identifier numbers are used to identify a node within a document, and thus sets the maximum number of nodes per document. |
| public static final int | IDENT_MAX_DTMS
This is the maximum number of DTMs available. |
| public static final int | IDENT_NODE_DEFAULT
When this bitmask is ANDed with a DTM node handle number, the result is the low bits of the node's index number within that DTM. |
| public boolean | |
| public boolean | |
| protected XMLStringFactory | m_xsf
Factory for creating XMLString objects. |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public abstract DTM | Returns: a non-null DTM reference.Creates a DTM representing an empty |
| public abstract DTMIterator | Returns: The newly createdDTMIterator.??? Somehow we need to pass in a subpart of the
expression. I hate to do this with strings, since the larger expression
has already been parsed. xpathCompiler, int The position in the expression. pos)Create a new |
| public abstract DTMIterator | Returns: The newly createdDTMIterator.Must be a valid string expressing a
LocationPath or
a UnionExpr. xpathString, PrefixResolver An object that can resolve prefixes to namespace URLs. presolver)Create a new |
| public abstract DTMIterator | Returns: The newly createdDTMIterator.This flag specifies which node types may appear in
the logical view of the tree presented by the iterator. See the
description of whatToShow, DTMFilter NodeFilter for the set of possible
SHOW_ values.These flags can be combined using
OR.The filter, boolean NodeFilter to be used with this
DTMFilter, or null to indicate no filter.The value of this flag determines
whether entity reference nodes are expanded. entityReferenceExpansion)Create a new |
| public abstract DTMIterator | Returns: The newly createdDTMIterator.The node handle that the DTMIterator will iterate to. node)Create a new |
| public abstract DTM | Returns: a non-null DTM reference.the specification of the source object, which may be null,
in which case it is assumed that node construction will take
by some other means. source, boolean true if the returned DTM must be unique, probably because it
is going to be mutated. unique, DTMWSFilter Enables filtering of whitespace nodes, and may
be null. whiteSpaceFilter, boolean true if the DTM should be built incrementally, if
possible. incremental, boolean true if the caller considers it worth it to use
indexing schemes. doIndexing)Get an instance of a DTM, loaded with the content from the specified source. |
| public abstract DTM | Returns: a non-null DTM reference.the nodeHandle. nodeHandle)Get the instance of DTM that "owns" a node handle. |
| public abstract int | Returns: a valid DTM handle.Non-null reference to a DOM node. node)Given a W3C DOM node, try and return a DTM handle. |
| public abstract int | |
| public int | |
| public boolean | Returns: incremental boolean.Get a flag indicating whether an incremental transform is desired |
| public int | |
| public boolean | Returns: source location booleanGet a flag indicating whether the transformation phase should keep track of line and column numbers for the input source document. |
| public XMLStringFactory | Returns: a valid XMLStringFactory object, or null if it hasn't been set yet.Get the XMLStringFactory used for the DTMs. |
| public static DTMManager | Returns: new DTMManager instance, never null.Obtain a new instance of a |
| public boolean | |
| public abstract boolean | |
| public void | setIncremental(boolean
boolean to use to set m_incremental. incremental)Set a flag indicating whether an incremental transform is desired This flag should have the same value as the FEATURE_INCREMENTAL feature which is set by the TransformerFactory.setAttribut() method before a DTMManager is created |
| public void | |
| public void | setSource_location(boolean
boolean to use to set m_source_location sourceLocation)Set a flag indicating whether the transformation phase should keep track of line and column numbers for the input source document. |
| public void | setXMLStringFactory(XMLStringFactory
a valid XMLStringFactory object, should not be null. xsf)Set the XMLStringFactory used for the DTMs. |
| _overrideDefaultParser | back to summary |
|---|---|
| private boolean _overrideDefaultParser | |
| IDENT_DTM_DEFAULT | back to summary |
|---|---|
| public static final int IDENT_DTM_DEFAULT When this bitmask is ANDed with a DTM node handle number, the result is the DTM's document identity number. | |
| IDENT_DTM_NODE_BITS | back to summary |
|---|---|
| public static final int IDENT_DTM_NODE_BITS This value, set at compile time, controls how many bits of the DTM node identifier numbers are used to identify a node within a document, and thus sets the maximum number of nodes per document. The remaining bits are used to identify the DTM document which contains this node. If you change IDENT_DTM_NODE_BITS, be sure to rebuild _ALL_ the files which use it... including the IDKey testcases. (FuncGenerateKey currently uses the node identifier directly and thus is affected when this changes. The IDKEY results will still be _correct_ (presuming no other breakage), but simple equality comparison against the previous "golden" files will probably complain.) | |
| IDENT_MAX_DTMS | back to summary |
|---|---|
| public static final int IDENT_MAX_DTMS This is the maximum number of DTMs available. The highest DTM is one less than this. | |
| IDENT_NODE_DEFAULT | back to summary |
|---|---|
| public static final int IDENT_NODE_DEFAULT When this bitmask is ANDed with a DTM node handle number, the result is the low bits of the node's index number within that DTM. To obtain the high bits, add the DTM ID portion's offset as assigned in the DTM Manager. | |
| m_incremental | back to summary |
|---|---|
| public boolean m_incremental | |
| m_source_location | back to summary |
|---|---|
| public boolean m_source_location | |
| m_xsf | back to summary |
|---|---|
| protected XMLStringFactory m_xsf Factory for creating XMLString objects. %TBD% Make this set by the caller. | |
| DTMManager | back to summary |
|---|---|
| protected DTMManager() Default constructor is protected on purpose. | |
| createDocumentFragment | back to summary |
|---|---|
| public abstract DTM createDocumentFragment() Creates a DTM representing an empty
| |
| createDTMIterator | back to summary |
|---|---|
| public abstract DTMIterator createDTMIterator(Object xpathCompiler, int pos) Create a new
| |
| createDTMIterator | back to summary |
|---|---|
| public abstract DTMIterator createDTMIterator(String xpathString, PrefixResolver presolver) Create a new
| |
| createDTMIterator | back to summary |
|---|---|
| public abstract DTMIterator createDTMIterator(int whatToShow, DTMFilter filter, boolean entityReferenceExpansion) Create a new Note that DTMIterators may not be an exact match to DOM NodeIterators. They are initialized and used in much the same way as a NodeIterator, but their response to document mutation is not currently defined.
| |
| createDTMIterator | back to summary |
|---|---|
| public abstract DTMIterator createDTMIterator(int node) Create a new
| |
| getDTM | back to summary |
|---|---|
| public abstract DTM getDTM(Source source, boolean unique, DTMWSFilter whiteSpaceFilter, boolean incremental, boolean doIndexing) Get an instance of a DTM, loaded with the content from the specified source. If the unique flag is true, a new instance will always be returned. Otherwise it is up to the DTMManager to return a new instance or an instance that it already created and may be being used by someone else. (More parameters may eventually need to be added for error handling and entity resolution, and to better control selection of implementations.)
| |
| getDTM | back to summary |
|---|---|
| public abstract DTM getDTM(int nodeHandle) Get the instance of DTM that "owns" a node handle.
| |
| getDTMHandleFromNode | back to summary |
|---|---|
| public abstract int getDTMHandleFromNode(Node node) Given a W3C DOM node, try and return a DTM handle. Note calling this may be non-optimal.
| |
| getDTMIdentity | back to summary |
|---|---|
| public abstract int getDTMIdentity(DTM dtm) %TBD% Doc NEEDSDOC @param dtm NEEDSDOC ($objectName$) @return | |
| getDTMIdentityMask | back to summary |
|---|---|
| public int getDTMIdentityMask() %TBD% Doc NEEDSDOC ($objectName$) @return | |
| getIncremental | back to summary |
|---|---|
| public boolean getIncremental() Get a flag indicating whether an incremental transform is desired
| |
| getNodeIdentityMask | back to summary |
|---|---|
| public int getNodeIdentityMask() %TBD% Doc NEEDSDOC ($objectName$) @return | |
| getSource_location | back to summary |
|---|---|
| public boolean getSource_location() Get a flag indicating whether the transformation phase should keep track of line and column numbers for the input source document.
| |
| getXMLStringFactory | back to summary |
|---|---|
| public XMLStringFactory getXMLStringFactory() Get the XMLStringFactory used for the DTMs.
| |
| newInstance | back to summary |
|---|---|
| public static DTMManager newInstance(XMLStringFactory xsf) throws DTMException Obtain a new instance of a
| |
| overrideDefaultParser | back to summary |
|---|---|
| public boolean overrideDefaultParser() Return the state of the services mechanism feature. | |
| release | back to summary |
|---|---|
| public abstract boolean release(DTM dtm, boolean shouldHardDelete) Release a DTM either to a lru pool, or completely remove reference. DTMs without system IDs are always hard deleted. State: experimental.
| |
| setIncremental | back to summary |
|---|---|
| public void setIncremental(boolean incremental) Set a flag indicating whether an incremental transform is desired This flag should have the same value as the FEATURE_INCREMENTAL feature which is set by the TransformerFactory.setAttribut() method before a DTMManager is created
| |
| setOverrideDefaultParser | back to summary |
|---|---|
| public void setOverrideDefaultParser(boolean flag) Set the state of the services mechanism feature. | |
| setSource_location | back to summary |
|---|---|
| public void setSource_location(boolean sourceLocation) Set a flag indicating whether the transformation phase should keep track of line and column numbers for the input source document. This flag should have the same value as the FEATURE_SOURCE_LOCATION feature which is set by the TransformerFactory.setAttribut() method before a DTMManager is created
| |
| setXMLStringFactory | back to summary |
|---|---|
| public void setXMLStringFactory(XMLStringFactory xsf) Set the XMLStringFactory used for the DTMs.
| |