public abstract class DTMManager extends Object
The system property that determines which Factory implementation to create is named "org.apache.xml.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 | 
|---|---|
| static int | IDENT_DTM_DEFAULTWhen this bitmask is ANDed with a DTM node handle number, the result
 is the DTM's document identity number. | 
| static int | IDENT_DTM_NODE_BITSThis 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. | 
| static int | IDENT_MAX_DTMSThis is the maximum number of DTMs available. | 
| static int | IDENT_NODE_DEFAULTWhen 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. | 
| boolean | m_incremental | 
| boolean | m_source_location | 
| protected XMLStringFactory | m_xsfFactory for creating XMLString objects. | 
| Modifier | Constructor and Description | 
|---|---|
| protected  | DTMManager()Default constructor is protected on purpose. | 
| Modifier and Type | Method and Description | 
|---|---|
| abstract DTM | createDocumentFragment()Creates a DTM representing an empty  DocumentFragmentobject. | 
| abstract DTMIterator | createDTMIterator(int node)Create a new  DTMIteratorthat holds exactly one node. | 
| abstract DTMIterator | createDTMIterator(int whatToShow,
                 DTMFilter filter,
                 boolean entityReferenceExpansion)Create a new  DTMIteratorbased only on a whatToShow
 and a DTMFilter. | 
| abstract DTMIterator | createDTMIterator(Object xpathCompiler,
                 int pos)Create a new  DTMIteratorbased on an XPath
 UnionExpr. | 
| abstract DTMIterator | createDTMIterator(String xpathString,
                 PrefixResolver presolver)Create a new  DTMIteratorbased on an XPath
 UnionExpr. | 
| abstract DTM | getDTM(int nodeHandle)Get the instance of DTM that "owns" a node handle. | 
| 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. | 
| abstract int | getDTMHandleFromNode(Node node)Given a W3C DOM node, try and return a DTM handle. | 
| abstract int | getDTMIdentity(DTM dtm)%TBD% Doc
 NEEDSDOC @param dtm
 NEEDSDOC ($objectName$) @return | 
| int | getDTMIdentityMask()%TBD% Doc
 NEEDSDOC ($objectName$) @return | 
| boolean | getIncremental()Get a flag indicating whether an incremental transform is desired | 
| int | getNodeIdentityMask()%TBD% Doc
 NEEDSDOC ($objectName$) @return | 
| boolean | getSource_location()Get a flag indicating whether the transformation phase should
 keep track of line and column numbers for the input source
 document. | 
| XMLStringFactory | getXMLStringFactory()Get the XMLStringFactory used for the DTMs. | 
| static DTMManager | newInstance(XMLStringFactory xsf)Obtain a new instance of a  DTMManager. | 
| abstract boolean | release(DTM dtm,
       boolean shouldHardDelete)Release a DTM either to a lru pool, or completely remove reference. | 
| 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 | 
| 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. | 
| void | setXMLStringFactory(XMLStringFactory xsf)Set the XMLStringFactory used for the DTMs. | 
protected XMLStringFactory m_xsf
public boolean m_incremental
public boolean m_source_location
public static final int IDENT_DTM_NODE_BITS
public static final int IDENT_NODE_DEFAULT
public static final int IDENT_DTM_DEFAULT
public static final int IDENT_MAX_DTMS
public XMLStringFactory getXMLStringFactory()
public void setXMLStringFactory(XMLStringFactory xsf)
xsf - a valid XMLStringFactory object, should not be null.public static DTMManager newInstance(XMLStringFactory xsf) throws DTMConfigurationException
DTMManager.
 This static method creates a new factory instance
 This method uses the following ordered lookup procedure to determine
 the DTMManager implementation class to
 load:
 org.apache.xml.dtm.DTMManager system
 property.
 META-INF/services/org.apache.xml.dtm.DTMManager
 in jars available to the runtime.
 DTMManager classname, which is
 org.apache.xml.dtm.ref.DTMManagerDefault.
 
 DTMManager it can use the factory to configure
 and obtain parser instances.DTMConfigurationException - if the implementation is not available or cannot be instantiated.public abstract DTM getDTM(Source source, boolean unique, DTMWSFilter whiteSpaceFilter, boolean incremental, boolean doIndexing)
source - 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.unique - true if the returned DTM must be unique, probably because it
 is going to be mutated.whiteSpaceFilter - Enables filtering of whitespace nodes, and may
                         be null.incremental - true if the DTM should be built incrementally, if
                    possible.doIndexing - true if the caller considers it worth it to use 
                   indexing schemes.public abstract DTM getDTM(int nodeHandle)
nodeHandle - the nodeHandle.public abstract int getDTMHandleFromNode(Node node)
node - Non-null reference to a DOM node.public abstract DTM createDocumentFragment()
DocumentFragment object.public abstract boolean release(DTM dtm, boolean shouldHardDelete)
dtm - The DTM to be released.shouldHardDelete - True if the DTM should be removed no matter what.public abstract DTMIterator createDTMIterator(Object xpathCompiler, int pos)
DTMIterator based on an XPath
 UnionExpr.xpathCompiler - ??? 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.pos - The position in the expression.DTMIterator.public abstract DTMIterator createDTMIterator(String xpathString, PrefixResolver presolver)
DTMIterator based on an XPath
 UnionExpr.xpathString - Must be a valid string expressing a
 UnionExpr.presolver - An object that can resolve prefixes to namespace URLs.DTMIterator.public abstract DTMIterator createDTMIterator(int whatToShow, DTMFilter filter, boolean entityReferenceExpansion)
DTMIterator based only on a whatToShow
 and a DTMFilter.  The traversal semantics are defined as the
 descendant access.
 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.
whatToShow - This flag specifies which node types may appear in
   the logical view of the tree presented by the iterator. See the
   description of NodeFilter for the set of possible
   SHOW_ values.These flags can be combined using
   OR.filter - The NodeFilter to be used with this
   DTMFilter, or null to indicate no filter.entityReferenceExpansion - The value of this flag determines
   whether entity reference nodes are expanded.DTMIterator.public abstract DTMIterator createDTMIterator(int node)
DTMIterator that holds exactly one node.node - The node handle that the DTMIterator will iterate to.DTMIterator.public boolean getIncremental()
public void setIncremental(boolean incremental)
incremental - boolean to use to set m_incremental.public boolean getSource_location()
public void setSource_location(boolean sourceLocation)
sourceLocation - boolean to use to set m_source_locationpublic abstract int getDTMIdentity(DTM dtm)
public int getDTMIdentityMask()
public int getNodeIdentityMask()
Copyright © 2018 JBoss by Red Hat. All rights reserved.