net.sf.saxon.dom

Class DOMEnvelope

public class DOMEnvelope extends Object implements ExternalObjectModel, Serializable

DOMEnvelope is an object model representation in which DOM interfaces are wrapped around Saxon NodeInfo nodes: that is, it implements the DOM on top of a Saxon tree implementation such as the tiny tree or linked tree.
Constructor Summary
DOMEnvelope()
Public constructor.
Method Summary
ReceivergetDocumentBuilder(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.
StringgetIdentifyingURI()
Get the URI of the external object model as used in the JAXP factory interfaces for obtaining an XPath implementation
static DOMEnvelopegetInstance()
Get the singular instance (this class is stateless)
JPConvertergetJPConverter(Class sourceClass)
PJConvertergetNodeListCreator(Object node)
Get a converter that converts a sequence of XPath nodes to this model's representation of a node list.
PJConvertergetPJConverter(Class targetClass)
booleanisRecognizedNode(Object object)
Test whether this object model recognizes a given node as one of its own
booleanisRecognizedNodeClass(Class nodeClass)
Test whether this object model recognizes a given class as representing a node in that object model.
booleansendSource(Source source, Receiver receiver, PipelineConfiguration pipe)
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.
NodeInfounravel(Source source, Configuration config)
Wrap or unwrap a node using this object model to return the corresponding Saxon node.

Constructor Detail

DOMEnvelope

public DOMEnvelope()
Public constructor. (Use the singular instance in preference to creating a new one).

Method Detail

getDocumentBuilder

public 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. If the Result is not recognised, return null.

This implementation always returns null: it is not possible to construct an instance of this object model implementation directly as the result of a JAXP transformation.

getIdentifyingURI

public String getIdentifyingURI()
Get the URI of the external object model as used in the JAXP factory interfaces for obtaining an XPath implementation

getInstance

public static DOMEnvelope getInstance()
Get the singular instance (this class is stateless)

Returns: the singular instance

getJPConverter

public JPConverter getJPConverter(Class sourceClass)

getNodeListCreator

public PJConverter getNodeListCreator(Object node)
Get a converter that converts a sequence of XPath nodes to this model's representation of a node list.

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

getPJConverter

public PJConverter getPJConverter(Class targetClass)

isRecognizedNode

public boolean isRecognizedNode(Object object)
Test whether this object model recognizes a given node as one of its own

isRecognizedNodeClass

public boolean isRecognizedNodeClass(Class nodeClass)
Test whether this object model recognizes a given class as representing a node in that object model. This method will generally be called at compile time.

Parameters: nodeClass A class that possibly represents nodes

Returns: true if the class is used to represent nodes in this object model

sendSource

public boolean sendSource(Source source, Receiver receiver, PipelineConfiguration pipe)
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.

This implementation returns true only if the source is a DOMSource whose contained node is a a "NodeOverNodeInfo".

unravel

public NodeInfo unravel(Source source, Configuration config)
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