com.sun.syndication.io

Class WireFeedInput

public class WireFeedInput extends 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.

Author: Alejandro Abdelnur

Nested Class Summary
static classWireFeedInput.EmptyEntityResolver
Field Summary
static InputSourceEMPTY_INPUTSOURCE
static FeedParsersFEED_PARSERS
static EntityResolverRESOLVER
boolean_validate
boolean_xmlHealerOn
Constructor Summary
WireFeedInput()
Creates a WireFeedInput instance with input validation turned off.
WireFeedInput(boolean validate)
Creates a WireFeedInput instance.
Method Summary
WireFeedbuild(File file)
Builds an WireFeed (RSS or Atom) from a file.
WireFeedbuild(Reader reader)
Builds an WireFeed (RSS or Atom) from an Reader.
WireFeedbuild(InputSource is)
Builds an WireFeed (RSS or Atom) from an W3C SAX InputSource.
WireFeedbuild(Document document)
Builds an WireFeed (RSS or Atom) from an W3C DOM document.
WireFeedbuild(Document document)
Builds an WireFeed (RSS or Atom) from an JDOM document.
protected SAXBuildercreateSAXBuilder()
Creates and sets up a org.jdom.input.SAXBuilder for parsing.
static ListgetSupportedFeedTypes()
Returns the list of supported input feed types.
booleangetXmlHealerOn()
Indicates if the WiredFeedInput instance will XML heal (if necessary) the character stream.
voidsetXmlHealerOn(boolean heals)
Enables XML healing in the WiredFeedInput instance.

Field Detail

EMPTY_INPUTSOURCE

private static final InputSource EMPTY_INPUTSOURCE

FEED_PARSERS

private static FeedParsers FEED_PARSERS

RESOLVER

private static final EntityResolver RESOLVER

_validate

private boolean _validate

_xmlHealerOn

private boolean _xmlHealerOn

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

build

public WireFeed build(File file)
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: FileNotFoundException thrown if the file could not be found. IOException thrown if there is problem reading the file. 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(Reader reader)
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: 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(InputSource is)
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: 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(Document document)
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: 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(Document document)
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: 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

getSupportedFeedTypes

public static 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.

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.

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.

Copyright © Sun Microsystems. All Rights Reserved.