com.sun.syndication.io

## Class WireFeedInput

- java.lang.Object
- - com.sun.syndication.io.WireFeedInput

    public class WireFeedInput
    extends java.lang.Object

Parses an XML document (File, InputStream, Reader, W3C SAX InputSource, W3C DOM Document or JDom DOcument) into an WireFeed (RSS/Atom).

It accepts all flavors of RSS (0.90, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0) and Atom 0.3 feeds. Parsers are plugable (they must implement the WireFeedParser interface).

The WireFeedInput useds liberal parsers.

### Constructor Summary

Constructors
Constructor and Description
`WireFeedInput()` Creates a WireFeedInput instance with input validation turned off.
`WireFeedInput(boolean validate)` Creates a WireFeedInput instance.

### Method Summary

Methods
`WireFeed` `build(org.w3c.dom.Document document)` Builds an WireFeed (RSS or Atom) from an W3C DOM document.
`WireFeed` `build(org.jdom.Document document)` Builds an WireFeed (RSS or Atom) from an JDOM document.
`WireFeed` `build(java.io.File file)` Builds an WireFeed (RSS or Atom) from a file.
`WireFeed` `build(org.xml.sax.InputSource is)` Builds an WireFeed (RSS or Atom) from an W3C SAX InputSource.
`WireFeed` `build(java.io.Reader reader)` Builds an WireFeed (RSS or Atom) from an Reader.
`protected SAXBuilder` `createSAXBuilder()` Creates and sets up a org.jdom.input.SAXBuilder for parsing.
`static java.util.List` `getSupportedFeedTypes()` Returns the list of supported input feed types.
`boolean` `getXmlHealerOn()` Indicates if the WiredFeedInput instance will XML heal (if necessary) the character stream.
`void` `setXmlHealerOn(boolean heals)` Enables XML healing in the WiredFeedInput instance.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### WireFeedInput

    public WireFeedInput()

Creates a WireFeedInput instance with input validation turned off.

#### WireFeedInput

    public WireFeedInput(boolean validate)

Creates a WireFeedInput instance.

Parameters:
  `validate` - indicates if the input should be validated. NOT IMPLEMENTED YET (validation does not happen)

### Method Detail

#### getSupportedFeedTypes

    public static java.util.List getSupportedFeedTypes()

Returns the list of supported input feed types.

Returns:
  a list of String elements with the supported input feed types.
See Also:
  `for details on the format of these strings.

  `

#### setXmlHealerOn

    public void setXmlHealerOn(boolean heals)

Enables XML healing in the WiredFeedInput instance.

Healing trims leading chars from the stream (empty spaces and comments) until the XML prolog.

Healing resolves HTML entities (from literal to code number) in the reader.

The healing is done only with the build(File) and build(Reader) signatures.

By default is TRUE.

Parameters:
  `heals` - TRUE enables stream healing, FALSE disables it.

#### getXmlHealerOn

    public boolean getXmlHealerOn()

Indicates if the WiredFeedInput instance will XML heal (if necessary) the character stream.

Healing trims leading chars from the stream (empty spaces and comments) until the XML prolog.

Healing resolves HTML entities (from literal to code number) in the reader.

The healing is done only with the build(File) and build(Reader) signatures.

By default is TRUE.

Returns:
  TRUE if healing is enabled, FALSE if not.

#### build

    public WireFeed build(java.io.File file)
                   throws java.io.FileNotFoundException,
                          java.io.IOException,
                          java.lang.IllegalArgumentException,
                          FeedException

Builds an WireFeed (RSS or Atom) from a file.

NOTE: This method delages to the 'AsbtractFeed WireFeedInput#build(org.jdom.Document)'.

Parameters:
  `file` - file to read to create the WireFeed.
Returns:
  the WireFeed read from the file.
Throws:
  `java.io.FileNotFoundException` - thrown if the file could not be found.
  `java.io.IOException` - thrown if there is problem reading the file.
  `java.lang.IllegalArgumentException` - thrown if feed type could not be understood by any of the underlying parsers.
  `FeedException` - if the feed could not be parsed

#### build

    public WireFeed build(java.io.Reader reader)
                   throws java.lang.IllegalArgumentException,
                          FeedException

Builds an WireFeed (RSS or Atom) from an Reader.

NOTE: This method delages to the 'AsbtractFeed WireFeedInput#build(org.jdom.Document)'.

Parameters:
  `reader` - Reader to read to create the WireFeed.
Returns:
  the WireFeed read from the Reader.
Throws:
  `java.lang.IllegalArgumentException` - thrown if feed type could not be understood by any of the underlying parsers.
  `FeedException` - if the feed could not be parsed

#### build

    public WireFeed build(org.xml.sax.InputSource is)
                   throws java.lang.IllegalArgumentException,
                          FeedException

Builds an WireFeed (RSS or Atom) from an W3C SAX InputSource.

NOTE: This method delages to the 'AsbtractFeed WireFeedInput#build(org.jdom.Document)'.

Parameters:
  `is` - W3C SAX InputSource to read to create the WireFeed.
Returns:
  the WireFeed read from the W3C SAX InputSource.
Throws:
  `java.lang.IllegalArgumentException` - thrown if feed type could not be understood by any of the underlying parsers.
  `FeedException` - if the feed could not be parsed

#### build

    public WireFeed build(org.w3c.dom.Document document)
                   throws java.lang.IllegalArgumentException,
                          FeedException

Builds an WireFeed (RSS or Atom) from an W3C DOM document.

NOTE: This method delages to the 'AsbtractFeed WireFeedInput#build(org.jdom.Document)'.

Parameters:
  `document` - W3C DOM document to read to create the WireFeed.
Returns:
  the WireFeed read from the W3C DOM document.
Throws:
  `java.lang.IllegalArgumentException` - thrown if feed type could not be understood by any of the underlying parsers.
  `FeedException` - if the feed could not be parsed

#### build

    public WireFeed build(org.jdom.Document document)
                   throws java.lang.IllegalArgumentException,
                          FeedException

Builds an WireFeed (RSS or Atom) from an JDOM document.

NOTE: All other build methods delegate to this method.

Parameters:
  `document` - JDOM document to read to create the WireFeed.
Returns:
  the WireFeed read from the JDOM document.
Throws:
  `java.lang.IllegalArgumentException` - thrown if feed type could not be understood by any of the underlying parsers.
  `FeedException` - if the feed could not be parsed

#### createSAXBuilder

    protected SAXBuilder createSAXBuilder()

Creates and sets up a org.jdom.input.SAXBuilder for parsing.

Returns:
  a new org.jdom.input.SAXBuilder object