org.apache.xml.dtm
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!!
Field Summary | |
---|---|
static int | IDENT_DTM_DEFAULT When this bitmask is ANDed with a DTM node handle number, the result
is the DTM's document identity number. |
static 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. |
static int | IDENT_MAX_DTMS This is the maximum number of DTMs available. |
static 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. |
boolean | m_incremental |
boolean | m_source_location |
Method Summary | |
---|---|
abstract DTM | createDocumentFragment()
Creates a DTM representing an empty DocumentFragment object. |
abstract DTMIterator | createDTMIterator(Object xpathCompiler, int pos)
Create a new DTMIterator based on an XPath
UnionExpr.
|
abstract DTMIterator | createDTMIterator(String xpathString, PrefixResolver presolver)
Create a new DTMIterator based on an XPath
UnionExpr.
|
abstract DTMIterator | createDTMIterator(int whatToShow, DTMFilter filter, boolean entityReferenceExpansion)
Create a new DTMIterator based only on a whatToShow
and a DTMFilter. |
abstract DTMIterator | createDTMIterator(int node)
Create a new DTMIterator that holds exactly one node.
|
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 DTM | getDTM(int nodeHandle)
Get the instance of DTM that "owns" a node handle.
|
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.
|
DocumentFragment
object.Returns: a non-null DTM reference.
DTMIterator
based on an XPath
UnionExpr.
Parameters: 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.
Returns: The newly created DTMIterator
.
DTMIterator
based on an XPath
UnionExpr.
Parameters: xpathString Must be a valid string expressing a UnionExpr. presolver An object that can resolve prefixes to namespace URLs.
Returns: The newly created DTMIterator
.
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.
Parameters: 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.
Returns: The newly created DTMIterator
.
DTMIterator
that holds exactly one node.
Parameters: node The node handle that the DTMIterator will iterate to.
Returns: The newly created DTMIterator
.
Parameters: 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.
Returns: a non-null DTM reference.
Parameters: nodeHandle the nodeHandle.
Returns: a non-null DTM reference.
Parameters: node Non-null reference to a DOM node.
Returns: a valid DTM handle.
Returns: incremental boolean.
Returns: source location boolean
Returns: a valid XMLStringFactory object, or null if it hasn't been set yet.
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.
Returns: new DTMManager instance, never null.
Throws: DTMConfigurationException if the implementation is not available or cannot be instantiated.
Parameters: dtm The DTM to be released. shouldHardDelete True if the DTM should be removed no matter what.
Returns: true if the DTM was removed, false if it was put back in a lru pool.
Parameters: incremental boolean to use to set m_incremental.
Parameters: sourceLocation boolean to use to set m_source_location
Parameters: xsf a valid XMLStringFactory object, should not be null.