## org.jdom.transform
Class JDOMSource

    java.lang.Object
      |
      +--javax.xml.transform.sax.SAXSource
            |
            +--org.jdom.transform.JDOMSource

public class JDOMSource
extends javax.xml.transform.sax.SAXSource

Acts as an holder for JDOM document sources.

This class shall be used to wrap a JDOM Document to provide it as input to a JAXP Transformer

The following example shows how to apply an XSL Transformation to a JDOM document and get the transformation result in the form of another JDOM Document:

>        public static Document transform(Document in, String stylesheet)
>                                             throws JDOMException {
>          try {
>            Transformer transformer = TransformerFactory.newInstance()
>               .newTransformer(new StreamSource(stylesheet));

>            JDOMResult out = new JDOMResult();
>            transformer.transform(new JDOMSource(in), out);
>            return out.getDocument();
>          }
>          catch (TransformerException e) {
>            throw new JDOMException("XSLT Trandformation failed", e);
>          }
>        }

Version:
  $Revision: 1.6 $, $Date: 2002/01/08 09:17:10 $
Author:
  Laurent Bihanic, Jason Hunter
See Also:
  `JDOMResult`

Field Summary
`static java.lang.String` `JDOM_FEATURE` If `TransformerFactory.getFeature(java.lang.String)` returns `true` when passed this value as an argument, the Transformer natively supports JDOM.

Fields inherited from class javax.xml.transform.sax.SAXSource
`FEATURE`

Constructor Summary
`JDOMSource(Document source)` Creates a JDOM TRaX source wrapping a JDOM document.

Method Summary
`Document` `getDocument()` Returns the source document used by this TRaX source.
`org.xml.sax.XMLReader` `getXMLReader()` Returns the XMLReader to be used for the Source.
`void` `setDocument(Document source)` Sets the source document used by this TRaX source.
`void` `setInputSource(org.xml.sax.InputSource inputSource)` Sets the SAX InputSource to be used for the Source.
`void` `setXMLReader(org.xml.sax.XMLReader reader)` Set the XMLReader to be used for the Source.

Methods inherited from class javax.xml.transform.sax.SAXSource
`getInputSource, getSystemId, setSystemId, sourceToInputSource`

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

Field Detail

### JDOM_FEATURE

    public static final java.lang.String JDOM_FEATURE

  If `TransformerFactory.getFeature(java.lang.String)` returns `true` when passed this value as an argument, the Transformer natively supports JDOM.

  Note: This implementation does not override the `SAXSource.FEATURE` value defined by its superclass to be considered as a SAXSource by Transformer implementations not natively supporting JDOM.

Constructor Detail

### JDOMSource

    public JDOMSource(Document source)

  Creates a JDOM TRaX source wrapping a JDOM document.
  Parameters:
    `source` - the JDOM document to use as source for the transformations
  Throws:
    NullPointerException - if `source` is `null`.
  See Also:
    `setDocument(org.jdom.Document)`

Method Detail

### setDocument

    public void setDocument(Document source)

  Sets the source document used by this TRaX source.
  Parameters:
    `source` - the JDOM document to use as source for the transformations
  Throws:
    NullPointerException - if `source` is `null`.
  See Also:
    `getDocument()`

### getDocument

    public Document getDocument()

  Returns the source document used by this TRaX source.
  Returns:
    the source document used by this TRaX source or `null` if none has been set.
  See Also:
    `setDocument(org.jdom.Document)`

### setInputSource

    public void setInputSource(org.xml.sax.InputSource inputSource)
                        throws java.lang.UnsupportedOperationException

  Sets the SAX InputSource to be used for the Source.

  As this implementation only supports JDOM document as data source, this method always throws an `UnsupportedOperationException`.

  Overrides:
    setInputSource in class javax.xml.transform.sax.SAXSource
  Parameters:
    `inputSource` - a valid InputSource reference.
  Throws:
    java.lang.UnsupportedOperationException - always!

### setXMLReader

    public void setXMLReader(org.xml.sax.XMLReader reader)
                      throws java.lang.UnsupportedOperationException

  Set the XMLReader to be used for the Source.

  As this implementation only supports JDOM document as data source, this method throws an `UnsupportedOperationException` if the provided reader object does not implement the SAX `XMLFilter` interface. Otherwise, the JDOM document reader will be attached as parent of the filter chain.

  Overrides:
    setXMLReader in class javax.xml.transform.sax.SAXSource
  Parameters:
    `reader` - a valid XMLReader or XMLFilter reference.
  Throws:
    java.lang.UnsupportedOperationException - always!
  See Also:
    `getXMLReader()`

### getXMLReader

    public org.xml.sax.XMLReader getXMLReader()

  Returns the XMLReader to be used for the Source.

  This implementation returns a specific XMLReader reading the XML data from the source JDOM document.

  Overrides:
    getXMLReader in class javax.xml.transform.sax.SAXSource
  Returns:
    an XMLReader reading the XML data from the source JDOM document.

Copyright © 2002 Jason Hunter, Brett McLaughlin. All Rights Reserved.