Package net.sf.saxon.option.jdom
Class JDOMObjectModel
java.lang.Object
net.sf.saxon.om.TreeModel
net.sf.saxon.option.jdom.JDOMObjectModel
- All Implemented Interfaces:
Serializable
,ExternalObjectModel
This interface must be implemented by any third-party object model that can
be wrapped with a wrapper that implements the Saxon Object Model (the NodeInfo interface).
This implementation of the interface supports wrapping of JDOM Documents.
- See Also:
-
Field Summary
Fields inherited from class net.sf.saxon.om.TreeModel
LINKED_TREE, TINY_TREE, TINY_TREE_CONDENSED
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetDocumentBuilder
(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.Get the URI of the external object model as used in the JAXP factory interfaces for obtaining an XPath implementationstatic JDOMObjectModel
getJPConverter
(Class sourceClass) Get a converter from values in the external object model to XPath values.getNodeListCreator
(Object node) Get a converter that converts a sequence of XPath nodes to this model's representation of a node list.getPJConverter
(Class targetClass) Get a converter from XPath values to values in the external object modelint
Get the integer constant used to identify this tree model in some legacy interfacesMake a Builder to construct an instance of this tree model from a stream of eventsboolean
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.unravel
(Source source, Configuration config) Wrap or unwrap a node using this object model to return the corresponding Saxon node.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 interfacewrapNode
(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)Methods inherited from class net.sf.saxon.om.TreeModel
getTreeModel, isMutable
-
Constructor Details
-
JDOMObjectModel
public JDOMObjectModel()
-
-
Method Details
-
getInstance
-
getIdentifyingURI
Get the URI of the external object model as used in the JAXP factory interfaces for obtaining an XPath implementation- Specified by:
getIdentifyingURI
in interfaceExternalObjectModel
- Returns:
- the URI used to identify this object model in the JAXP XPath factory mechanism.
-
makeBuilder
Description copied from class:TreeModel
Make a Builder to construct an instance of this tree model from a stream of events- Specified by:
makeBuilder
in classTreeModel
- Returns:
- a newly created Builder @param pipe
-
getSymbolicValue
public int getSymbolicValue()Description copied from class:TreeModel
Get the integer constant used to identify this tree model in some legacy interfaces- Overrides:
getSymbolicValue
in classTreeModel
- Returns:
- an integer constant used to identify the model, for example
Builder.TINY_TREE
-
getPJConverter
Description copied from interface:ExternalObjectModel
Get a converter from XPath values to values in the external object model- Specified by:
getPJConverter
in interfaceExternalObjectModel
- Parameters:
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.- Returns:
- a converter, if the targetClass is recognized as belonging to this object model; otherwise null
-
getJPConverter
Description copied from interface:ExternalObjectModel
Get a converter from values in the external object model to XPath values.- Specified by:
getJPConverter
in interfaceExternalObjectModel
- Parameters:
sourceClass
- the class (static or dynamic) of values to be converted- Returns:
- a converter, if the sourceClass is recognized as belonging to this object model; otherwise null
-
getNodeListCreator
Get a converter that converts a sequence of XPath nodes to this model's representation of a node list.- Specified by:
getNodeListCreator
in interfaceExternalObjectModel
- Parameters:
node
- an example of the kind of node used in this model- Returns:
- if the model does not recognize this node as one of its own, return null. Otherwise return a PJConverter that takes a list of XPath nodes (represented as NodeInfo objects) and returns a collection of nodes in this object model
-
getDocumentBuilder
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. If the Result is not recognised, return null.- Specified by:
getDocumentBuilder
in interfaceExternalObjectModel
- Parameters:
result
- a JAXP result object- Returns:
- a Receiver that writes to that result, if available; or null otherwise
-
sendSource
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. Otherwise, return false.- Specified by:
sendSource
in interfaceExternalObjectModel
- Parameters:
source
- a JAXP Source objectreceiver
- the Receiver that is to receive the data from the Source- Returns:
- true if the data from the Source has been sent to the Receiver, false otherwise
- Throws:
XPathException
- if any failure occurs
-
unravel
Wrap or unwrap a node using this object model to return the corresponding Saxon node. If the supplied source does not belong to this object model, return null- Specified by:
unravel
in interfaceExternalObjectModel
- Parameters:
source
- a JAXP Source objectconfig
- the Saxon configuration- Returns:
- a NodeInfo corresponding to the Source, if this can be constructed; otherwise null
-
wrapDocument
Wrap a document node in the external object model in a document wrapper that implements the Saxon DocumentInfo interface- Parameters:
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)- Returns:
- the wrapper, which must implement DocumentInfo
-
wrapNode
Wrap a node within the external object model in a node wrapper that implements the Saxon VirtualNode interface (which is an extension of NodeInfo)- Parameters:
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 argument- Returns:
- the wrapper for the node, as an instance of VirtualNode
-