public class DOMObjectModel extends Object implements ExternalObjectModel, Serializable
| Constructor and Description |
|---|
DOMObjectModel()
Create an instance of the DOMObjectModel class.
|
| Modifier and Type | Method and Description |
|---|---|
static Object |
convertXPathValueToObject(ValueRepresentation value,
Object targetClass)
Convert an XPath value to an object in this object model.
|
NodeInfo |
copy(Node node,
TreeModel model,
Configuration config)
Copy a DOM node to create a node in a different tree 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 DOMObjectModel |
getInstance()
Get a reusable instance instance of this class.
|
JPConverter |
getJPConverter(Class sourceClass)
Get a converter from values in the external object model to XPath values.
|
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 |
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.
|
NodeInfo |
wrap(Node node,
Configuration config)
Wrap a DOM node using this object model to return the corresponding Saxon node.
|
public DOMObjectModel()
When possible, use the getInstance() method in preference, as the instance is then reusable.
public static DOMObjectModel getInstance()
Note, this is not actually a singleton instance; the class also has a public constructor, which is needed to support the automatic loading of object models into the Configuration.
public String getIdentifyingURI()
getIdentifyingURI in interface ExternalObjectModelpublic PJConverter getPJConverter(Class targetClass)
getPJConverter in interface ExternalObjectModeltargetClass - 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)
ExternalObjectModelgetJPConverter in interface ExternalObjectModelsourceClass - the class (static or dynamic) of values to be convertedpublic PJConverter getNodeListCreator(Object node)
getNodeListCreator in interface ExternalObjectModelnode - an example of the kind of node used in this modelpublic Receiver getDocumentBuilder(Result result) throws XPathException
getDocumentBuilder in interface ExternalObjectModelresult - a JAXP result objectXPathExceptionpublic boolean sendSource(Source source, Receiver receiver) throws XPathException
sendSource in interface ExternalObjectModelsource - a JAXP Source objectreceiver - the Receiver that is to receive the data from the SourceXPathExceptionpublic NodeInfo wrap(Node node, Configuration config)
node - the DOM node to be wrappedconfig - the Saxon Configurationpublic NodeInfo copy(Node node, TreeModel model, Configuration config) throws XPathException
node - the DOM node to be copiedmodel - the target tree modelconfig - the Saxon ConfigurationXPathExceptionpublic NodeInfo unravel(Source source, Configuration config)
unravel in interface ExternalObjectModelsource - a JAXP Source objectconfig - the Saxon configurationpublic static Object convertXPathValueToObject(ValueRepresentation value, Object targetClass) throws XPathException
XPathException - if the target class is explicitly associated with this object model, but the
supplied value cannot be converted to the appropriate class