Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.dom
Class DOMEnvelope

    java.lang.Object
      net.sf.saxon.dom.DOMEnvelope

All Implemented Interfaces:
  Serializable, ExternalObjectModel

    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.

See Also:
  Serialized Form

Constructor Summary
`DOMEnvelope()` Public constructor.

Method Summary
`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 DOMEnvelope` | `getInstance()` Get the singular instance (this class is stateless)
`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` | `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.
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DOMEnvelope

    public DOMEnvelope()

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

Method Detail

### getInstance

    public static DOMEnvelope getInstance()

  Get the singular instance (this class is stateless)

  Returns:
    the singular instance

### getIdentifyingURI

    public String 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 interface `ExternalObjectModel`
  Returns:
    the URI used to identify this object model in the JAXP XPath factory mechanism.

### getPJConverter

    public PJConverter getPJConverter(Class targetClass)

  Description copied from interface: `ExternalObjectModel`
  Get a converter from XPath values to values in the external object model

  Specified by:
    `getPJConverter` in interface `ExternalObjectModel`
  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

    public JPConverter getJPConverter(Class sourceClass)

  Description copied from interface: `ExternalObjectModel`
  Get a converter from values in the external object model to XPath values.

  Specified by:
    `getJPConverter` in interface `ExternalObjectModel`
  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

    public PJConverter getNodeListCreator(Object node)

  Get a converter that converts a sequence of XPath nodes to this model's representation of a node list.

  Specified by:
    `getNodeListCreator` in interface `ExternalObjectModel`
  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

### isRecognizedNode

    public boolean isRecognizedNode(Object object)

  Test whether this object model recognizes a given node as one of its own

  Parameters:
    `object` - the object to be tested
  Returns:
    true if the supplied object is a node in this object model

### 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

### getDocumentBuilder

    public Receiver getDocumentBuilder(Result result)
                                throws XPathException

  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.

  Specified by:
    `getDocumentBuilder` in interface `ExternalObjectModel`
  Parameters:
    `result` - a JAXP result object
  Returns:
    a Receiver that writes to that result, if available; or null otherwise
  Throws:
    `XPathException` - if any failure occurs

### sendSource

    public boolean sendSource(Source source,
                              Receiver receiver)
                       throws XPathException

  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".

  Specified by:
    `sendSource` in interface `ExternalObjectModel`
  Parameters:
    `source` - a JAXP Source object
    `receiver` - 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

    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

  Specified by:
    `unravel` in interface `ExternalObjectModel`
  Parameters:
    `source` - a JAXP Source object
    `config` - the Saxon configuration
  Returns:
    a NodeInfo corresponding to the Source, if this can be constructed; otherwise null

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.