public class XOMObjectModel extends TreeModel implements ExternalObjectModel, Serializable
This is a singleton class whose instance can be obtained using the getInstance()
method. However, the constructor is public for backwards compatibility.
The class extends TreeModel
so that any interface expected a TreeModel, for example
XdmDestination.setTreeModel(net.sf.saxon.om.TreeModel)
, can take XOMObjectModel.getInstance()
as an argument.
LINKED_TREE, TINY_TREE, TINY_TREE_CONDENSED
Constructor and Description |
---|
XOMObjectModel() |
Modifier and Type | Method and Description |
---|---|
Object |
convertXPathValueToObject(Sequence value,
Object targetClass)
Convert an XPath value to an object in this object model.
|
Receiver |
getDocumentBuilder(Result result)
Test whether this object model recognizes a particular kind of JAXP Result object,
and if it does, return a Receiver that builds an instance of this data model from
a sequence of events.
|
String |
getIdentifyingURI()
Get the URI of the external object model as used in the JAXP factory interfaces for obtaining
an XPath implementation
|
static XOMObjectModel |
getInstance() |
JPConverter |
getJPConverter(Class sourceClass,
Configuration config)
Get a converter from values in the external object model to XPath values.
|
String |
getName()
Get a name that identifies the tree model
|
PJConverter |
getNodeListCreator(Object node)
Get a converter that converts a sequence of XPath nodes to this model's representation
of a node list.
|
PJConverter |
getPJConverter(Class targetClass)
Get a converter from XPath values to values in the external object model
|
boolean |
isRecognizedNode(Object object)
Test whether this object model recognizes a given node as one of its own
|
boolean |
isRecognizedNodeClass(Class nodeClass)
Test whether this object model recognizes a given class as representing a
node in that object model.
|
Builder |
makeBuilder(PipelineConfiguration pipe)
Make a Builder, which can then be used to construct an instance of this tree model
from a stream of events
|
boolean |
sendSource(Source source,
Receiver receiver)
Test whether this object model recognizes a particular kind of JAXP Source object,
and if it does, send the contents of the document to a supplied Receiver, and return true.
|
NodeInfo |
unravel(Source source,
Configuration config)
Wrap or unwrap a node using this object model to return the corresponding Saxon node.
|
DocumentInfo |
wrapDocument(Object node,
String baseURI,
Configuration config)
Wrap a document node in the external object model in a document wrapper that implements
the Saxon DocumentInfo interface
|
NodeInfo |
wrapNode(DocumentInfo document,
Object node)
Wrap a node within the external object model in a node wrapper that implements the Saxon
VirtualNode interface (which is an extension of NodeInfo)
|
getSymbolicValue, getTreeModel, isMutable, isSchemaAware
public static XOMObjectModel getInstance()
public String getIdentifyingURI()
getIdentifyingURI
in interface ExternalObjectModel
public String getName()
TreeModel
public Builder makeBuilder(PipelineConfiguration pipe)
TreeModel
makeBuilder
in class TreeModel
pipe
- A PipelineConfiguration, which can be constructed using the method
Configuration.makePipelineConfiguration()
.public PJConverter getPJConverter(Class targetClass)
ExternalObjectModel
getPJConverter
in interface ExternalObjectModel
targetClass
- the required class of the result of the conversion. If this class represents
a node or list of nodes in the external object model, the method should return a converter that takes
a native node or sequence of nodes as input and returns a node or sequence of nodes in the
external object model representation. Otherwise, it should return null.public JPConverter getJPConverter(Class sourceClass, Configuration config)
ExternalObjectModel
getJPConverter
in interface ExternalObjectModel
sourceClass
- the class (static or dynamic) of values to be convertedpublic PJConverter getNodeListCreator(Object node)
getNodeListCreator
in interface ExternalObjectModel
node
- an example of the kind of node used in this modelpublic boolean isRecognizedNode(Object object)
public boolean isRecognizedNodeClass(Class nodeClass)
nodeClass
- A class that possibly represents nodespublic Receiver getDocumentBuilder(Result result)
getDocumentBuilder
in interface ExternalObjectModel
result
- a JAXP result objectpublic boolean sendSource(Source source, Receiver receiver) throws XPathException
sendSource
in interface ExternalObjectModel
source
- a JAXP Source objectreceiver
- the Receiver that is to receive the data from the SourceXPathException
- if any failure occurspublic NodeInfo unravel(Source source, Configuration config)
unravel
in interface ExternalObjectModel
source
- a JAXP Source objectconfig
- the Saxon configurationpublic Object convertXPathValueToObject(Sequence value, Object targetClass) throws XPathException
XPathException
public DocumentInfo wrapDocument(Object node, String baseURI, Configuration config)
node
- a node (any node) in the third party documentbaseURI
- the base URI of the node (supply "" if unknown)config
- the Saxon configuration (which among other things provides access to the NamePool)public NodeInfo wrapNode(DocumentInfo document, Object node)
document
- the document wrapper, as a DocumentInfo objectnode
- the node to be wrapped. This must be a node within the document wrapped by the
DocumentInfo provided in the first argumentCopyright (c) 2004-2013 Saxonica Limited. All rights reserved.