Main Menu
+-
+
- Home +
- Projects +
- Forums +
- People +
- Java User Groups +
diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/ChangeLog.html b/ChangeLog.html new file mode 100644 index 0000000..f82ad93 --- /dev/null +++ b/ChangeLog.html @@ -0,0 +1,394 @@ + + + +
+ ++yyyy-MM-dd'T'HH:mm:ssZ yyyy-MM-dd't'HH:mm:sszZ +
+public XmlReader(InputStream is, boolean lenient, String defaultEncoding) +
+FeedInput --> WireFeedInput +FeedOutput --> WireFeedOutput +FeedParser --> WireFeedParser +FeedGenerator --> WireFeedGenerator +SyndInput --> SyndFeedInput +SyndOutput --> SyndFeedOutputt +
Software requirements: Synd J2SE 1.4+, JDOM 1.0 and Rome 0.4.
+This tutorial walks through the steps of creating a custom module for syndication feeds that support additional namespaces (such as RSS 1.0, RSS 2.0 and Atom 0.3).
+To understand this tutorial you should be familiar the with Rome API and with the use of modules in syndication feeds.
+Out of the box Rome parsers and generators support plug-ability of modules for RSS 1.0, RSS 2.0 and Atom 0.3 at both feed and item/entry levels. Also support for the Dublin Core and Syndication modules is provided.
+The complete source for this tutorial is in the Rome samples bundle as well as in SVN.
+The goal is to add support for a hypothetical Sample Module by defining a module bean, module parser and module generator and the necessary configuration to wire the parser and generator to an RSS 1.0 parser and RSS 1.0 generator.
+The sample module defines 3 elements, 'bar', 'foo' and 'date', where 'bar' and 'date' may occur at most once and the 'foo' element may occur several times. For example, a feed with the Sample Module data would look like:
++<?xml version="1.0"?> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://purl.org/rss/1.0/" + xmlns:sample="http://rome.dev.java.net/module/sample/1.0"> + <channel> + <title>RSS 1.0 Feed with Sample Module</title> + <link>http://rome.dev.java.net</link> + <description>This is a feed showing how to use a custom module with Rome</description> + <items> + <rdf:Seq> + <rdf:li resource="item01" /> + <rdf:li resource="item02" /> + </rdf:Seq> + </items> + <sample:bar>Channel bar</sample:bar> + <sample:foo>Channel first foo</sample:foo> + <sample:foo>Channel second foo</sample:foo> + </channel> + <item rdf:about="item01"> + <title>Title of Item 01</title> + <link>http://rome.dev.java.net/item01</link> + <description>Item 01 does not have Sample module data</description> + </item> + <item rdf:about="item02"> + <title>Title of Item 02</title> + <link>http://rome.dev.java.net/item02</link> + <description>Item 02 has Sample module data</description> + <sample:bar>Item 02 bar</sample:bar> + <sample:foo>Item 02 only foo</sample:foo> + <sample:date>2004-07-27T00:00+00:00</sample:date> + </item> +</rdf:RDF> +
First we must start with the bean interface, SampleModule. SampleModule must extend Module. The Module interface defines the getUri() method, which will return a URI identifying the module. The Module interface also extends the Cloneable, ToString and CopyFrom interfaces to ensure that the beans provide support for basic features as cloning, equality, toString, etc. (for more details on this check the Understanding the Rome common classes and interfaces document).
+The SampleModule's URI is defined as a constant, accessible via the getURI() instance method. This is for convenience and good practice only.
+Then the module defines 3 properties: bar (String), foos (List) and date (Date). The elements of the foos property list must be strings (wishing for Java 5 generics already?).
++public interface SampleModule extends Module,CopyFrom { + + public static final String URI = "http://rome.dev.java.net/module/sample/1.0"; + + public String getBar(); + public void setBar(String bar); + + public List getFoos(); + public void setFoos(List foos); + + public Date getDate(); + public void setDate(Date date); +} +
Next we have to write the bean implementation, SampleModuleImpl.
+SampleModuleImpl extends ModuleImpl. ModuleImpl is the default implementation of the ==Module interface. ModuleImpl extends ObjectBean which provides equals, hashCode, toString and clone support for the properties of the class given in the constructor (SampleModule). Also the URI of the Sample module is indicated; it will be used by the Module.getUri() method.
++public class SampleModuleImpl extends ModuleImpl implements SampleModule { + ... + public SampleModule() { + super(SampleModule.class,SampleModule.URI); + } + + public String getBar() { + return _bar; + } + ... +
The module properties are just Java Bean properties. The only catch is to follow Rome semantics for Collection properties: in the case of a null value for the collection, an empty collection must be returned.. Also, following Rome semantics, all properties are by reference, including mutable ones.
++public class SampleModuleImpl extends ModuleImpl implements SampleModule { + private String _bar; + private List _foos; + private Date _date; + ... + public void setBar(String bar) { + _bar = bar; + } + + public List getFoos() { + return (_foos==null) ? (_foos=new ArrayList()) : _foos; + } + + public void setFoos(List foos) { + _foos = foos; + } + + public Date getDate() { + return _date; + } + + public void setDate(Date date) { + _date = date; + } +
Now the weird part: the bits for the CopyFrom logic. The Understanding the Rome common classes and interfaces document fully explains the CopyFrom logic in detail. In short, the CopyFrom interface is to support copying properties from one implementation of a bean (defined through an interface) to another implementation of the same bean.
+The getInterface() method returns the bean interface of the implementation (this is necessary for collections containing sub-classes such as a list of modules).
+The copyFrom() method copies all the properties from the parameter object (which must be a SampleModule implementation) into the caller bean properties. Note that the copyFrom must do a deep copy.
++public class SampleModuleImpl extends ModuleImpl implements SampleModule { + ... + public Class getInterface() { + return SampleModuleI.class; + } + + public void copyFrom(Object obj) { + SampleModule sm = (SampleModule) obj; + setBar(sm.getBar()); + List foos = new ArrayList(sm.getFoos()); // this is enough for the copy because the list elements are inmutable (Strings) + setFoos(foos); + setDate((Date)sm.getDate().clone()); // because Date is not inmutable. + } + +} +
The sample module parser must implement the ModuleParser interface. This interface defines 2 methods, getNamespaceUri() that returns the URI of the module and parse(Element) which extracts the module elements from the given Element.
+The feed parsers will invoke the module parser with a feed element or with an item element. The module parser must look for module elements in the children of the given element. That is was the Sample parser is doing when looking for 'bar', 'foo' and 'date' children elements in the received element.
+In the case of the 'foo' element it looks for all occurrences as the Sample module schema allows for more than one occurrence of the 'foo' element. A SampleModule bean is created and the found values are set into it. For the 'date' element it assumes its a date value in W3C datetime format.
+If no Sample Module elements are found in the feed, the parse(Element) method returns null. This is to avoid having an empty instance of a module -not present in the feed- in the feed bean or in the item bean.
++public class SampleModuleParser implements ModuleParser { + + private static final Namespace SAMPLE_NS = Namespace.getNamespace("sample", SampleModule.URI); + + public String getNamespaceUri() { + return SampleModule.URI; + } + + public Module parse(Element dcRoot) { + boolean foundSomething = false; + SampleModule fm = new SampleModuleImpl(); + + Element e = dcRoot.getChild("bar", SAMPLE_NS); + if (e != null) { + foundSomething = true; + fm.setBar(e.getText()); + } + List eList = dcRoot.getChildren("foo", SAMPLE_NS); + if (eList.size() > 0) { + foundSomething = true; + fm.setFoos(parseFoos(eList)); + } + e = dcRoot.getChild("date", SAMPLE_NS); + if (e != null) { + foundSomething = true; + fm.setDate(DateParser.parseW3CDateTime(e.getText())); + } + return (foundSomething) ? fm : null; + } + + private List parseFoos(List eList) { + List foos = new ArrayList(); + for (int i = 0; i < eList.size(); i++) { + Element e = (Element) eList.get(i); + foos.add(e.getText()); + } + return foos; + } + +} +
The sample module generator must implement the ModuleGenerator interface. This interface defines 2 methods, getNamespaceUri() that returns the URI of the module and generate(ModuleI,Element) which injects the module data into the given Element.
+The feed generator will invoke the module generator with a feed element or with an item element. The module generator must inject the module properties into the given element (which is a feed or an item). This injection has to be done using the right namespace. The set of namespaces returned by the getNamespaces() method will be used to declare the namespaces used by the module in the feed root element.
+If no Sample Module bean is in the feed bean the module generator is not invoked at all.
++public class SampleModuleGenerator implements ModuleGenerator { + private static final Namespace SAMPLE_NS = Namespace.getNamespace("sample", SampleModule.URI); + + public String getNamespaceUri() { + return SampleModule.URI; + } + + private static final Set NAMESPACES; + + static { + Set nss = new HashSet(); + nss.add(SAMPLE_NS); + NAMESPACES = Collections.unmodifiableSet(nss); + } + + public Set getNamespaceUris() { + return NAMESPACES; + } + + public void generate(Module module, Element element) { + + // this is not necessary, it is done to avoid the namespace definition in every item. + Element root = element; + while (root.getParent()!=null && root.getParent() instanceof Element) { + root = (Element) element.getParent(); + } + root.addNamespaceDeclaration(SAMPLE_NS); + + SampleModuleI fm = (SampleModule)module; + if (fm.getBar() != null) { + element.addContent(generateSimpleElement("bar", fm.getBar())); + } + List foos = fm.getFoos(); + for (int i = 0; i < foos.size(); i++) { + element.addContent(generateSimpleElement("foo",foos.get(i).toString())); + } + if (fm.getDate() != null) { + element.addContent(generateSimpleElement("date", DateParser.formatW3CDateTime(fm.getDate()))); + } + } + + protected Element generateSimpleElement(String name, String value) { + Element element = new Element(name, SAMPLE_NS); + element.addContent(value); + return element; + } + +} +
The last step is to setup the configuration file to indicate to Rome how and when to use the Sample Module parser and generator.
+The configuration is stored in a Properties file, 'rome.properties', that has to be in the root of the classpath or JAR where the Sample Module bean, parser and generator classes are.
+You must indicate the syndication feed formats (ie RSS 1.0) that must be aware of the Sample Module. You must indicate if the Sample Module is available for feed or item elements, or for both. You must indicate both the parser and the generator classes.
+Following is the 'rome.properties' file for the Sample Module, it's defined for RSS 1.0 only, for both feed and item elements.
++# Parsers for RSS 1.0 feed modules +# +rss_1.0.feed.ModuleParser.classes=com.sun.syndication.samples.module.SampleModuleParser + +# Parsers for RSS 1.0 item modules +# +rss_1.0.item.ModuleParser.classes=com.sun.syndication.samples.module.SampleModuleParser + +# Generators for RSS 1.0 feed modules +# +rss_1.0.feed.ModuleGenerator.classes=com.sun.syndication.samples.module.SampleModuleGenerator + +# Generators for RSS_1.0 entry modules +# +rss_1.0.item.ModuleGenerator.classes=com.sun.syndication.samples.module.SampleModuleGenerator +
If you are defining more than one module, indicate the parser and generator implementation classes separated by commas or spaces.
They will be there, just use them. You may get the SampleModule bean using the getModule(String Uri) method of the SyndFeed bean and the SyndEntry bean.
+Adding or replacing a syndication feed parser, generator or converter goes along the same lines of what it has been explained in the tutorial for modules. This is explained in the Rome Plugins Mechanism topic.
Software requirements: J2SE 1.4+, JDOM 1.0 and Rome 0.4.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeed instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeed feed = input.build(new XmlReader(feedUrl)); +
The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the InputStream of a URL pointing to the feed. The XmlReader is a character based Reader that resolves the encoding following the HTTP MIME types and XML rules for it. The SyndFeedInput.build() method returns a SyndFeed instance that can be easily processed.
+Rome also includes generators to create syndication feeds out of SyndFeed instances. The SyndFeedOutput class does this generation. The SyndFeedOutput will generate a syndication feed of the feed type indicated by the SyndFeed object being output. The following two lines of code show how to create a syndication feed output from a SyndFeed instance:
++SyndFeedOutput output = new SyndFeedOutput(); +output.output(feed,new PrintWriter(System.out)); +
The first line creates a SyndFeedOutput instance that will produce syndication feeds. It can output feeds of any type (rss_0.9, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0 & atom_0.3), the SyndFeed feedType property indicates the type. The second line writes the SyndFeed as a syndication feed into the application's output.
+SyndFeed instances can also be created and populated within the code. For example:
++SyndFeed aggrFeed = new SyndFeedImpl(); +aggrFeed.setFeedType("rss_1.0"); +aggrFeed.setTitle("Aggregated Feed"); +aggrFeed.setDescription("Anonymous Aggregated Feed"); +aggrFeed.setAuthor("anonymous"); +aggrFeed.setLink("http://www.anonymous.com"); +
The snipped of code above creates a SyndFeed instance using the default implementation provided by Rome, sets the feed type to RSS 1.0, sets the title, description, author and link properties of the feed.
+SyndFeed properties can be modified, assigned to other SyndFeed instances, removed, etc. It's important to remember that the getters/setters semantics defined for all SyndFeed properties (and properties of its properties) is a copy by reference, not by value. In other words if you alter the property of a SyndFeed property you are altering the SyndFeed. Or, another example, if you assign the list of entries of one SyndFeed instance to another SyndFeed isntance and then you modify the list or any of the entries in the list, you are modifying the entries of both SyndFeed instances.
+The following lines of code show how to copy the entries of a SyndFeed instance being read (inFeed) into a SyndFeed instance being created within the application (feed):
++package com.sun.syndication.samples; + +import java.net.URL; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.util.List; +import java.util.ArrayList; + +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.feed.synd.SyndFeedImpl; +import com.sun.syndication.io.SyndFeedOutput; +import com.sun.syndication.io.SyndFeedInput; +import com.sun.syndication.io.XmlReader; + +/** + * It aggregates a list of RSS/Atom feeds (they can be of different types) + * into a single feed of the specified type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedAggregator { + + public static void main(String[] args) { + boolean ok = false; + if (args.length>=2) { + try { + String outputType = args[0]; + + SyndFeed feed = new SyndFeedImpl(); + feed.setFeedType(outputType); + + feed.setTitle("Aggregated Feed"); + feed.setDescription("Anonymous Aggregated Feed"); + feed.setAuthor("anonymous"); + feed.setLink("http://www.anonymous.com"); + + List entries = new ArrayList(); + feed.setEntries(entries); + + for (int i=1;i<args.length;i++) { + URL inputUrl = new URL(args[i]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeed inFeed = input.build(new XmlReader(inputUrl)); + + entries.addAll(inFeed.getEntries()); + + } + + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,new PrintWriter(System.out)); + + ok = true; + } + catch (Exception ex) { + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedAggregator aggregates different feeds into a single one."); + System.out.println("The first parameter must be the feed type for the aggregated feed."); + System.out.println(" [valid values are: rss_0.9, rss_0.91, rss_0.92, rss_0.93, ]"); + System.out.println(" [ rss_0.94, rss_1.0, rss_2.0 & atom_0.3 ]"); + System.out.println("The second to last parameters are the URLs of feeds to aggregate."); + System.out.println(); + } + } + +} +
Software requirements: Synd J2SE 1.4+, JDOM 1.0 and Rome 0.4.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeed instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeed feed = input.build(new XmlReader(feedUrl)); +
The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the InputStream of a URL pointing to the feed. The XmlReader is a character based Reader that resolves the encoding following the HTTP MIME types and XML rules for it. The SyndFeedInput.build() method returns a SyndFeed instance that can be easily processed.
+Rome also includes generators to create syndication feeds out of SyndFeed instances. The SyndFeedOutput class does this generation. The SyndFeedOutput will generate a syndication feed of the feed type indicated by the SyndFeed object being output. The following two lines of code show how to create a syndication feed output from a SyndFeed instance:
++SyndFeedOutput output = new SyndFeedOutput(); +output.output(feed,new PrintWriter(System.out)); +
The first line creates a SyndFeedOutput instance that will produce syndication feeds. It can output feeds of any type (rss_0.9, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0 & atom_0.3), the SyndFeed feedType property indicates the type. The second line writes the SyndFeed as a syndication feed into the application's output.
+Following is the full code for a Java application that reads a syndication feed and converts it to other syndication feed type, writing the converted feed to the application's output.
++package com.sun.syndication.samples; + +import java.net.URL; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.io.SyndFeedInput; +import com.sun.syndication.io.SyndFeedOutput; +import com.sun.syndication.io.XmlReader; + +/** + * It Converts any RSS/Atom feed type to a an RSS/Atom feed of the + * specified type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedConverter { + + public static void main(String[] args) { + boolean ok = false; + if (args.length==2) { + try { + String outputType = args[0]; + + URL feedUrl = new URL(args[1]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeed feed = input.build(new XmlReader(feedUrl)); + feed.setFeedType(outputType); + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,new PrintWriter(System.out)); + + ok = true; + } + catch (Exception ex) { + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedConverter converts between syndication feeds types."); + System.out.println("The first parameter must be the feed type to convert to."); + System.out.println(" [valid values are: rss_0.9, rss_0.91, rss_0.92, rss_0.93, ]"); + System.out.println(" [ rss_0.94, rss_1.0, rss_2.0 & atom_0.3 ]"); + System.out.println("The second parameter must be the URL of the feed to convert."); + System.out.println(); + } + } + +} +
Software requirements: J2SE 1.4+, JDOM 1.0 and Rome 0.4.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.feed.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Creating a feed with SyndFeed beans consists of creating beans and setting their properties. The following code fragments show how a SyndFeed bean with 3 entries is created.
+First the SyndFeed instance is created, the preferred syndication format is set and the feed header info (title, link, description) is also set.
++ SyndFeed feed = new SyndFeedImpl(); + feed.setFeedType(feedType); + + feed.setTitle("Sample Feed (created with Rome)"); + feed.setLink("http://rome.dev.java.net"); + feed.setDescription("This feed has been created using Rome (Java syndication utilities"); +
Then a list for entries is created, entries are created and added to the list. Each entry is set with a title, link, published date and a description. The description for the first entry is plain test, for the third entry is HTML. After each entry is created is added to the list.
++ List entries = new ArrayList(); + SyndEntry entry; + SyndContent description; + + entry = new SyndEntryImpl(); + entry.setTitle("Rome v1.0"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome01"); + entry.setPublishedDate(DATE_PARSER.parse("2004-06-08")); + description = new SyndContentImpl(); + description.setType("text/plain"); + description.setValue("Initial release of Rome"); + entry.setDescription(description); + entries.add(entry); + ... + entry = new SyndEntryImpl(); + entry.setTitle("Rome v3.0"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome03"); + entry.setPublishedDate(DATE_PARSER.parse("2004-07-27")); + description = new SyndContentImpl(); + description.setType("text/html"); + description.setValue("<p>More Bug fixes, mor API changes, some new features and some Unit testing</p>"+ + "<p>For details check the <a href=\"http://wiki.java.net/bin/view/Javawsxml/RomeChangesLog#RomeV03\">Changes Log</a></p>"); + entry.setDescription(description); + entries.add(entry); +
Finally the list with entries is added to the SyndFeed bean.
++ feed.setEntries(entries); +
The SyndFeed bean is now ready to be written out to a syndication feed XML document. Note that any of supported syndication formats can be set in the feedType property.
+Rome includes generators that allow producing syndication feed XML documents from SyndFeed instances. The SyndFeedOutput class handles the generation of the syndication feed XML documents on any of the supported feed formats (RSS and Atom). The developer does not need to worry about selecting the right generator for a syndication feed, the SyndFeedOutput will take care of it by looking at the information in the SyndFeed bean. All it takes to write a syndication feed XML document using Rome -assuming you have a SyndFeed bean and a Writer instance- are the following lines of code:
++ SyndFeed feed = ...; + Writer writer = ...; + + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,writer); +
First a SyndFeedOutput instance is created, this instance will work with any syndication feed type (RSS and Atom versions). Then the feed and the writer are given to the SyndFeedOutput instance, the SyndFeedOutput will write the syndication feed XML document represented by the SyndFeed bean to the Writer stream.
+Following is the full code for a Java application that creates a syndication feed and writes it to a file in the specified syndication format.
++package com.sun.syndication.samples; + +import com.sun.syndication.feed.synd.*; +import com.sun.syndication.io.SyndFeedOutput; + +import java.io.FileWriter; +import java.io.Writer; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + +/** + * It creates a feed and writes it to a file. + * <p> + * + */ +public class FeedWriter { + + private static final DateFormat DATE_PARSER = new SimpleDateFormat("yyyy-MM-dd"); + + public static void main(String[] args) { + boolean ok = false; + if (args.length==2) { + try { + String feedType = args[0]; + String fileName = args[1]; + + SyndFeed feed = new SyndFeedImpl(); + feed.setFeedType(feedType); + + feed.setTitle("Sample Feed (created with Rome)"); + feed.setLink("http://rome.dev.java.net"); + feed.setDescription("This feed has been created using Rome (Java syndication utilities"); + + List entries = new ArrayList(); + SyndEntry entry; + SyndContent description; + + entry = new SyndEntryImpl(); + entry.setTitle("Rome v1.0"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome01"); + entry.setPublishedDate(DATE_PARSER.parse("2004-06-08")); + description = new SyndContentImpl(); + description.setType("text/plain"); + description.setValue("Initial release of Rome"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntryImpl(); + entry.setTitle("Rome v2.0"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome02"); + entry.setPublishedDate(DATE_PARSER.parse("2004-06-16")); + description = new SyndContentImpl(); + description.setType("text/plain"); + description.setValue("Bug fixes, minor API changes and some new features"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntryImpl(); + entry.setTitle("Rome v3.0"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome03"); + entry.setPublishedDate(DATE_PARSER.parse("2004-07-27")); + description = new SyndContentImpl(); + description.setType("text/html"); + description.setValue("<p>More Bug fixes, mor API changes, some new features and some Unit testing</p>"+ + "<p>For details check the <a href=\"http://wiki.java.net/bin/view/Javawsxml/RomeChangesLog#RomeV03\">Changes Log</a></p>"); + entry.setDescription(description); + entries.add(entry); + + feed.setEntries(entries); + + Writer writer = new FileWriter(fileName); + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,writer); + writer.close(); + + System.out.println("The feed has been written to the file ["+fileName+"]"); + + ok = true; + } + catch (Exception ex) { + ex.printStackTrace(); + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedWriter creates a RSS/Atom feed and writes it to a file."); + System.out.println("The first parameter must be the syndication format for the feed"); + System.out.println(" (rss_0.90, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0 rss_2.0 or atom_0.3)"); + System.out.println("The second parameter must be the file name for the feed"); + System.out.println(); + } + } + +} +
Software requirements: J2SE 1.4+, JDOM 1.0 and Rome 0.4.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeed instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeed feed = input.build(new XmlReader(feedUrl)); +
The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the char based input stream of a URL pointing to the feed. The XmlReader is a character based Reader that resolves the encoding following the HTTP MIME types and XML rules for it. The SyndFeedInput.build() method returns a SyndFeed instance that can be easily processed.
+The default SyndFeed implementation has a detailed and clear toString() implementation. The following line just prints it to the application's output.
++System.out.println(feed); +
Following is the full code for a Java application that reads a syndication feed and prints the SyndFeed bean to the application's output.
++package com.sun.syndication.samples; + +import java.net.URL; +import java.io.InputStreamReader; +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.io.SyndFeedInput; +import com.sun.syndication.io.XmlReader; + +/** + * It Reads and prints any RSS/Atom feed type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedReader { + + public static void main(String[] args) { + boolean ok = false; + if (args.length==1) { + try { + URL feedUrl = new URL(args[0]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeed feed = input.build(new XmlReader(feedUrl)); + + System.out.println(feed); + + ok = true; + } + catch (Exception ex) { + ex.printStackTrace(); + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedReader reads and prints any RSS/Atom feed type."); + System.out.println("The first parameter must be the URL of the feed to read."); + System.out.println(); + } + } + +} +
The Rome common package contains a set of Java classes that provide support for all the basic features Java Beans commonly must have: toString, equals, hashcode and cloning. There is also a simple enumeration base class (missing Java 5.0 already).
+By implementing or extending the common classes and interfaces Beans don't have to hand code these functions. This greatly simplifies things when Beans have several properties, collection properties and composite properties.
+The common classes use Java Bean instrospection on the properties of the classes extending and using them. This is done recursively on all properties.
+All Rome Beans (interfaces and default implementations) leverage and use these classes and interfaces defined in the common package.
+Ideally all this classes and interface should be part of a general component outside of Rome as they are not syndication specific (something like a commons-bean component if we use Jakarta Commons naming). They cannot be hidden in an implementation package as Rome public API uses them.
+Beans implementing the ToString interface must implement the toString(String prefix) method. This method must print the bean properties names and values, one per per line, separating the name and value with an '=' sign and prefixing the name with the given prefix parameter using the same notation used in the JSP expression language used in JSTL and in JSP 2.0. This must be done recursively for all array, collection and ToString properties.
+The ToStringBean class provides an implementation of the ToString interface with the defined behavior. The ToStringBean constructor takes the class definition the ToStringBean class should use for properties scanning -using instrospection- for printing, normally it is the class of the Bean using the ToStringBean. Beans leveraging the ToStringBean implementation can do it using two different patterns.
+public class MyBean extend ToStringBean { + + public MyBean() { + super(MyBean.class); + } + + public Foo getFoo() { ... } + public void setFoo(Foo foo) { ... } + + public String getName() { ... } + public void setName(String name) { ... } + + public List getValues() { ... } + public void setValues(List values) { ... } + } +
+public class MyBean implements ToString { + + public Foo getFoo() { ... } + public void setFoo(Foo foo) { ... } + + public String getName() { ... } + public void setName(String name) { ... } + + public List getValues() { ... } + public void setValues(List values) { ... } + + public String toString(String prefix) { + ToStringBean tsBean = new ToStringBean(MyBean.class,this); + return tsBean.toString(prefix); + } + + public String toString() { + return toString("myBean"); + } + } +
The EqualsBean class provides a recursive introspetion-based implementation of the equals() and hashCode() methods working on the Bean properties. The EqualsBean constructor takes the class definition that should be properties scanned (using introspection) by the equals() and thehashCode() methods. The EqualsBean class works on array, collection, bean and basic type properties. Java Beans leveraging the EqualsBean implementation can do it using two different patterns.
++public class MyBean extend EqualsBean { + + public MyBean() { + super(MyBean.class); + } + + public Foo getFoo() { ... } + public void setFoo(Foo foo) { ... } + + public String getName() { ... } + public void setName(String name) { ... } + + public List getValues() { ... } + public void setValues(List values) { ... } + } +
+public class MyBean implements ToString { + + public Foo getFoo() { ... } + public void setFoo(Foo foo) { ... } + + public String getName() { ... } + public void setName(String name) { ... } + + public List getValues() { ... } + public void setValues(List values) { ... } + + public boolean equals(Object obj) { + EqualsBean eBean = new EqualsBean(MyBean.class,this); + return eBean.beanEquals(obj); + } + + public int hashCode() { + EqualsBean equals = new EqualsBean(MyBean.class,this); + return equals.beanHashCode(); + } + } +
The CloneableBean class provides a recursive introspetion-based implementation of the clone() method working on the Bean properties. The CloneableBean class works on array, collection, bean and basic type properties. Java Beans leveraging the CloneableBean implementation can do it using two different patterns.
++public class MyBean extend CloneableBean { + + public Foo getFoo() { ... } + public void setFoo(Foo foo) { ... } + + public String getName() { ... } + public void setName(String name) { ... } + + public List getValues() { ... } + public void setValues(List values) { ... } + } +
+public class MyBean implements Cloneable { + + public Foo getFoo() { ... } + public void setFoo(Foo foo) { ... } + + public String getName() { ... } + public void setName(String name) { ... } + + public List getValues() { ... } + public void setValues(List values) { ... } + + public Object clone() { + CloneableBean cBean = new CloneableBean(this); + return cBean.beanClone(); + } + } +
By default, the CloneableBean copies all properties of the given object. It also supports an ignore-properties set, the property names in this set will not be copied to the cloned instance. This is useful for cases where the Bean has convenience properties (properties that are actually references to other properties or properties of properties). For example SyndFeed and SyndEntry beans have convenience properties, publishedDate, author, copyright and categories all of them mapped to properties in the DC Module.
The ObjectBean is a convenience bean providing ToStringBean, EqualsBean and CloneableBean functionality support. Also, ObjectBeans implements the Serializable interface making the beans serializable if all its properties are. Beans extending ObjectBean get toString(), equals(), hashCode() and clone() support as defined above.
+And example of using the ObjectBean class is:
++public class MyBean extends ObjectBean { + + public MyBean() { + super(MyBean.class); + } + + public Foo getFoo() { ... } + public void setFoo(Foo foo) { ... } + + public String getName() { ... } + public void setName(String name) { ... } + + public List getValues() { ... } + public void setValues(List values) { ... } + } +
The Enum is an enumeration base class [Too bad Java 5.0 is not here yet (Aug/16/2004)] with equals(), hashCode(), toString(), clone() and serialization support. When used as properties of Beans implementing any of the above function it provides a seamless integration.
+And example of using the EnumBean class is:
++public static class Day extends Enum { + private Day(String name) { + super(name); + } + + public static final Day SUNDAY = new Day("sunday"); + public static final Day MONDAY = new Day("monday"); + public static final Day TUESDAY = new Day("tuesday"); + public static final Day WEDNESDAY = new Day("wednesday"); + public static final Day THURSDAY = new Day("thursday"); + public static final Day FRIDAY = new Day("friday"); + public static final Day SATURDAY = new Day("saturday"); + + } +
The CopyFrom interface defines functionality similar to a deep cloning. The difference with the clone() method (besides the deep cloning requirements) is that the object to be the copy of the original one has to be explicitly created and it is this object the one that triggers the deep copying process. Implemetations of the CopyFrom interface should work propertly on arrays, collections, CopyFrom and basic type properties.
+Using CopyFrom objects enables copying data between different implementations of a given interface without these implementation having to know about each other.
+CopyFrom is unidirectional. A class implementing the CopyFrom knows how to extract properties from the given class (commonly having an interface in common).
+A simple example using the CopyFrom interface is:
++public interface Foo extends CopyFrom { + public void setName(String name); + public String getName(); + + public void setValues(Set values); + public Set getValues(); + } + + public class FooImplA implements Foo { + private String _name; + private Set _values; + + public void setName(String name) { + _name = name; + } + + public String getName() { + return _name; + } + + public void setValues(Set values) { + _values = values; + } + + public Set getValues() { + return _values; + } + + public void copyFrom(Object obj) { + Foo other = (Foo) obj; + setName(other.getName()); + setValues(new HashSet(other.getValues()); + } + + public Class getInterface() { + return Foo.class; + } + } + + public class FooImplB implements Foo { + private Map _data; + + public FooImplB() { + _data = new HashMap(); + } + + public void setName(String name) { + _data.put("name",name); + } + + public String getName() { + return (String) _data.get("name"); + } + + public void setValues(Set values) { + _data.put("values",values); + } + + public Set getValues() { + return (Set) _data.get("values"); + } + + public void copyFrom(Object obj) { + Foo other = (Foo) obj; + setName(other.getName()); + setValues(new HashSet(other.getValues()); + } + + public Class getInterface() { + return Foo.class; + } + } +
A use case for the CopyFrom functionality is a Java Bean implementation of an interface and a persistency implementation (such as Hibernate) of the the same interface that may add extra persistency related properties to the bean (ie, the 'Id' property as the persistency layer primary key).
+For bean, array and collection properties the bean being invoked which copyFrom() method is invoked is responsible for those properties.
+For properties implementing the CopyFrom interface, the bean must create a property instance implementing the interface returned by the getInterface() method. This allows the bean doing the copyFrom() to handle specialized subclasses of property elements propertly. This is also applicacle to array and collection properties. The 'modules' property of the SyndFeed and SyndEntry beans is a use case of this feature where the copyFrom() invocation must create different beans subclasses for each type of module, the getInteface() helps to find the right implementation.
Dave Johnson (The Roller Weblogger) has written a very nice blog How Rome Works describing (as the title says) how Rome works. With his permission we are adding it to Rome documentation.
+I spent some time exploring the new Rome feed parser for Java and trying to understand how it works. Along the way, I put together the following class diagram and notes on the parsing process. I provide some pointers into the Rome 0.4 Javadocs.
+You don't need to know this stuff to use Rome, but it you are interested in internals you might find it interesting.
+Rome is based around an idealized and abstract model of a Newsfeed or "Syndication Feed." Rome can parse any format of Newsfeed, including RSS variants and Atom, into this model. Rome can convert from model representation to any of the same Newfeed output formats.
+Internally, Rome defines intermediate object models for specific Newsfeed formats, or "Wire Feed" formats, including both Atom and all RSS variants. For each format, there is a separate JDOM based parser class that parses XML into an intermediate model. Rome provides "converters" to convert between the intermediate Wire Feed models and the idealized Syndication Feed model.
+Rome makes no attempt at Pilgrim-style liberal XML parsing. If a Newsfeed is not valid XML, then Rome will fail. Perhaps, as Kevin Burton suggests, parsing errors in Newsfeeds can and should be corrected. Kevin suggests that, when the parse fails, you can correct the problem and parse again. (BTW, I have some sample code that shows how to do this, but it only works with Xerces - Crimsom's SAXParserException does not have reliable error line and column numbers.)
+Here is what happens during Rome Newsfeed parsing:
+URL feedUrl = new URL("file:blogging-roller.rss"); +SyndFeedInput input = new SyndFeedInput(); +SyndFeed feed = input.build(new InputStreamReader(feedUrl.openStream())); +
Rome supports Newsfeed extension modules for all formats that also support modules: RSS 1.0, RSS 2.0, and Atom. Standard modules such as Dublic Core and Syndication are supported and you can define your own custom modules too.
+Rome also supports Newsfeed output and for each Newsfeed format provides a "generator" class that can take a Syndication Feed model and produce from it Newsfeed XML.
I've linked to a number of the Rome 0.4 Tutorials, here is the full list from the Rome Wiki:
+Rome is built using mighty Maven! This is why these instructions are so short:-)
+If you don't want to build Rome we'd suggest you download a binary build:-)
+See Version Control for access intructions and to browse the source from your browser.
+Check out the tag version-0-1 for version 0.1. Else checkout the trunk for the development version.
See Installing Maven for details.
+Maven automatically downloads dependencies of a project from an online repository.
WireFeeds will be preserved if the property preserveWireFeed is set on the SyndFeedInput object it is built from:
++SyndFeedInput in = new SyndFeedInput(); +in.setPreserveWireFeed(true); +SyndFeed syndFeed = in.build(..); +WireFeed wireFeed = syndFeed.originalWireFeed(); +
Atom/RSS Entry/Item objects are also available from SyndEntry objects if the WireFeed is preserved:
++Object obj = syndEntry.getWireEntry(); +if (obj != null && obj instanceof Entry) { + // it is an Atom Entry object + // do Atom specific stuff, eg: + Entry entry = (Entry) o; + System.out.println(entry.getRights()); +} else if (obj != null && obj instanceof Item) { + // it is a RSS Item object + // do RSS specific stuff eg: + Item item = (Item) o; + System.out.println(item.getComments()); +} +
The Fetcher can be set to preserve WireFeeds by setting the preserveWireFeed property to true:
++feedFetcher.setPreserveWireFeed(true); +
-- Main.nicklothian - 11 Mar 2009
If your site or project is powered by ROME, please take the time to write a short testimonial on this wiki page, or send a mail to users@rome.dev.java.net. Feel free to use our "Powered by ROME" badges in your work. (Several badge variations are available at the bottom of this page.)
+Discovering and implementing ROME made Yabot's feed aggregation faster and easier. In previous versions we rendered the XML our selves but with ROME now doing most of this work developers can focus on presentation and integration features. Thanks!
this page is not up to date
+Starting with ROME 1.0 RC2, rome jars are deployed on the java.net maven repository.
+In your project you can add this repository by putting the following XML into your pom.xml
++<repository> + <id>maven2-repository.dev.java.net</id> + <name>Java.net Repository for Maven</name> + <url>http://download.java.net/maven/2/</url> + <layout>default</layout> +</repository> +
As of 22, April 2009, the jars are deployed for the following releases:
+To include the Rome 1.0 in your maven2 project:
++<dependency> + <groupId>rome</groupId> + <artifactId>rome</artifactId> + <version>1.0</version> +</dependency> +
-- Main.mj_ - 22 Apr 2009
From ROME 1.0 RC2 onwards, the ROME jar includes OSGi information in its manifest.
+Note that we have received some reports that ROME plugin classloading may cause problems with OSGi. Setting the system property "rome.pluginmanager.useloadclass" to "true" may help avoid this. See Issue 118 for further information.
+-- Main.nicklothian - 08 Jan 2009
We're welcoming our first external developer, Nick Lothian today, so we thought it would be good to set a few basic rules for this project. We don't want to be too formal, since we're still alpha, and trust our developer's common sense to "do the right thing".
+-- PatrickChanezon - 17 Jun 2004
It has been 2 years since ROME started and along the way we've fixed, improved, enhanced and changed the API and the implementation. We've had to address things we did not think at first, we have to add support for specifications that were not around when ROME started, doing that has not being a hard task. The best indicator we've done a fair job with ROME is adoption.
+Some cracks are starting to appear, mistakes in the design (such as overloading the use of DCModule), a bit of implementation over-engineering (such as the home grown bean-introspector and the smart ObjectBean & co classes), a more complex than needed API (the existence of 2 abstraction levels for feed, Synd and Wire beans).
+This proposal attempts to address the problems and limitations we currently have with ROME.
+ROME2 will change the API breaking backwards compatibility (after all we are an Open Source Project and that is what they do best).
+We will maintain ROME 1.0 (bugfixing only) for 1 year to allow a smooth transition for all ROME users. We will also prepare migration/upgrade tips (based on our own experience) for the ROME community.
ROME2 will make use of Generics to type collections in its beans. It will also use the enum construct when applicable.
ROME2 will implement its core competency (Atom and RSS parsing, generation and manipulation), it will leverage other components as much as possible but it will focus, as ROME, in being as lean as possible not only in its code by in its dependencies (keeping them down to a reasonable minimum).
ROME2 will not have an abstract representation of feeds (the Synd beans). It will have 2 distinct models, Atom and RSS, both of them first citizens.
+ROME2 users will use the model that fits more their needs.
+Conversion (automatic and implicit) between the 2 models will be part of ROME2.
Interfaces are good, in fact they are great. However, when using them with beans that have to be created by the developer it ads noise to the code. Interfaces are used for all parameters and variables but implementations must be used to create the bean instances thus hard-coding areas of the application to a specific implementation. Or a factory pattern has to be use throughout the code to hide the implementation, with a side effect of removing clarity from the code.
+ROME2 will bring the best of both worlds, it will allow coding such as
++Feed feed = new Feed(); +Entry entry1 = new Entry(); +Entry entry2 = new Entry(); +feed.getEntries().add(entry1); +feed.getEntries().add(entry2); +
While allowing pluggability of the beans implementation. The pluggability will be achieved using a combination of a factory pattern and a self-proxy patterns, both of them transparent to the ROME2 user.
+For example the ROME2 API bean for the Atom feed would be something like:
++public class Feed { + private Feed feed; + + public Feed() { + if (this.getClass() == Feed.class) { + feed = BeanFactory.getFactory().create(Feed.class); + } + } + + public final Feed getImplementation() { + return feed; + } + + public Text getTitle() { + return feed.getTitle(); + } + + public void setTitle(Text title) { + feed.setTitle(title); + } + +... +} +
The ROME2 (default/provided) implementation bean for the Atom feed would be something like:
++public class FeedBean extends Feed { + private Text title; + + public Text getTitle() { + return title; + } + + public void setTitle(Text title) { + this.title = title; + } + +... +} +
ROME2 users will use the ROME2 API bean as plain objects that they are. The ROME2 API beans will delegate all their properties to an instance implementing their corresponding class. This instance will be the implementation bean which is created by the BeanFactory.
+To provide alternate implementation beans an alternate BeanFactory has to be provided.
+To write an alternate implementation beans the ROME2 API bean has be used as an interface, all property methods have to be overridden, nothing else.
+When extending ROME2 API beans, for example providing a new module bean, it is left to the implementor to follow this pattern or to use plain beans for the the additional module.
+For cases (they shouldn't be many) that a ROME2 user needs to manipulate the implementation bean, all ROME2 API beans will give access to it via the getImplementation() method.
ROME2 will support the use of multiple implementation beans simultaneously.
+A use case could be retrieving a feed from a persistent store (which uses its own implementation beans), retrieving a feed from the internet (using the default implementation beans), merging their entries and producing an output feed, into the persistent store or out to the internet.
+ROME2 public API will include the following classes for this purpose:
++public abstract class BeanFactory { + public abstract <T> T create(Class<T> beanClass); +} + +public class BeanFactoryInjector { + public static void execute(BeanFactory factory, Runnable runnable) { .. } +} +
When these two classes are not used explicitly ROME2 will use the default BeanFactory that creates default implementation beans.
+For alternate implementation beans a BeanFactory has to be provided. This factory will be responsible for creating a complete ROME2 bean family.
+The code to create ROME2 beans with an alternate factory will have to be written in the run() method of a Runnable object and it will have to be executed via the BeanFactoryInjector.execute() method.
+The created ROME2 beans could be used outside of the Runnable.run() method, because of this ROME2 users have to be aware that it is possible to mix and match implementation beans and that may not always have a happy ending if not thought properly.
All collection properties (such as the authors, categories, contributors, links and entries of an Atom feed bean) will only have getter methods in the ROME2 API beans, no setter methods. For example:
++public class Feed { + public List<Person> getAuthors() { ... } + public List<Category> getCategories() { ... } + ... +} +
This will ensure that the implementation bean has control on the implementation of the collection being used. This is particularly important to enable alternate implementation beans to fetch data from a repository as the collection is iterated over.
+Persistent experts we need your input here.
Feeds, both RSS and Atom, are extensible via namespaced elements at feed/channel and entry/item level, these namespace elements are known as modules. Beans supporting modules (feed, channel, entry and item) will all have the following method to support modules.
++public Map<String,Module> getModules() { ... } +
Because modules are uniquely identified by their URI, a Map will be used, the key will be the URI of the module and the value the module itself. As with other ROME2 API bean collection properties, the getModules() property has a getter only, the Map implementation is controlled by the implementation bean.
+Module URIs in ROME2, as all the links URLs in the beans, will be Strings thus reducing object creation explosion a bit. For cases that some URI manipulation is required, the JDK URI class should be used.
ROME2 modules design has to ensure it provides simple and comprehensive support for dynamic modules such as SLE and GData.
A special Module subclass, UnknownModule, will serve as placeholder for module data not explicitly processed by ROME2 available parsers/generators. This will allow to consume and re-export a feed without losing unknown (to ROME2) modules. Each unknown module will be keyed off with its URI in the map of the associated feed, channel, entry or item.
+The data of the unknown module will be available as a String. ROME2 users should not use =UnknownModule='s data directly, if they need to manipulate that data they should find or implement bean/parser/generator for the module they need to manipulate.
+Because unknown modules brings some extra overhead in the parsing and generating process ROME2 will have a property to enable/disable processing of unknown modules.
All ROME2 API beans will have xml:lang attributes, String and enum and primitive types properties won't.
The xml:base attribute will not be present in any ROME2 API bean.
+It will be the responsibility of the parsers to resolve any relative URL present in the feed at parsing time. Similarly, generators may relativize URLs as a size optimization (for God's sake we are doing XML).
A FeedConverter class will provide conversion from Atom to RSS beans and vice versa, both at feed/channel and entry/item level. All properties, including modules data will be copied, after an conversion the state of the beans will be completely independent.
The equals() and hashCode() methods will not be overridden. All ROME2 beans are mutable, it is not safe to use them as keys of hash structures.
+Cloning will not be supported by ROME2 beans, instead they will have a copyFrom() method which is type safe and does a deep copy. Cloning a ROME2 bean will be a two step process, for example:
++Feed feed1 = new Feed(); +... +Feed feed2 = new Feed(); +feed2.copyFrom(feed1); +
The toString() method in the beans will print the property that most likely identifies the bean plus the class name of the implementation bean. For example for a Feed bean the output of toString() would be:
++[http://foo.com/atom.xml - xxx.rome2.impl.pojo.atom.FeedBean] +
--++ Plugins ClassLoading
+Bean implementations, parsers, generators, converters and all pluggable ROME2 components will be loaded using the same classLoader ROME2 core classes are loaded from.
+This is to keep simple the handling of them via singletons and their instantiation. Supporting different classLoaders would require complex handling for instantiation, to avoid missing classes and class mismatches.
+As an example of how easy things can go sour, imagine ROME2 core classes in the common path of a web-container and 2 web-apps adding their own beans/parsers/generators/modules, the singletons managing them are in ROME2 core, managed by the common classLoader, a simple singleton won't cut it. ROME2 core will be small enough that it will not be a memory consumption issue if it is once in each web-app.
XML parsing and generation will support stream mode. We may even consider using streaming as the underlaying default implementation even if manipulating a feed bean on its whole in memory. We have to see if how this could be done leveraging Abdera, else using StAX API directly. This also means we may get rid of the JDom dependency.
+For example, the streaming version of an Atom parser and generator would be something like:
++public interface AtomReader { + + // repeatable operation, returns was has been read from the header so far + Feed readFeed() throws FeedException; + + // returns null when reaches the end of the feed + Entry readEntry() throws FeedException; + + void close() throws FeedException; + } + +public interface AtomWriter { + + // if called must be called once and before a write(Entry) + void write(Feed feed) throws FeedException; + + // if the first write is for an entry, then the output is an entry document + abstract void write(Entry entry) throws FeedException; + + void close() throws FeedException; + } +
As with ROME, in ROME2 Parsers will be as lenient as possible. Generators will be strict.
A bean FeedValidator class will verify that a feed or entry bean is valid for a given feed type. Feed generators would use this class to ensure feed correctness.
Conversion from Atom beans to RSS beans and vice versa will be done by a FeedConverter class that would have the following signature:
++public class FeedConverter { + public Feed convertToFeed(Channel channel, boolean processItems) { ... } + public Entry convertToEntry(Item item) { ... } + public Channel convertToChannel(Feed feed, boolean processEntries) { ... } + public Item convertToItem(Entry entry) { ... } +} +
Because the mapping from Atom to RSS elements is sometimes subject do discussion and different requirements the FeedConverter class will be pluggable. It will implement the self-proxy pattern ROME2 API beans implement.
Manipulation of feeds during parsing and generation at feed/channel and entry/item level will be possible by implementing readers and writers wrappers that work on top of the original reader and writer instances.
+This filtering/wrapping could be automated via configuration.
It has been 2 years since ROME started and along the way we've fixed, improved, enhanced and changed the API and the implementation. We've had to address things we did not think at first, we have to add support for specifications that were not around when ROME started, doing that has not being a hard task. The best indicator we've done a fair job with ROME is adoption.
+Some cracks are starting to appear, mistakes in the design (such as overloading the use of DCModule), a bit of implementation over-engineering (such as the home grown bean-introspector and the smart ObjectBean & co classes), a more complex than needed API (the existence of 2 abstraction levels for feed, Synd and Wire beans).
+This proposal attempts to address the problems and limitations we currently have with ROME.
+ROME2 will change the API breaking backwards compatibility (after all we are an Open Source Project and that is what they do best).
+We will maintain ROME 1.0 (bugfixing only) for 1 year to allow a smooth transition for all ROME users. We will also prepare migration/upgrade tips (based on our own experience) for the ROME community.
ROME2 will make use of Generics to type collections in its beans. It will also use the enum construct when applicable.
ROME2 will implement its core competency (Atom and RSS parsing, generation and manipulation), it will leverage other components as much as possible but it will, as ROME, be as lean as possible not only in its code but in its dependencies (keeping them down to a reasonable minimum).
ROME2 will not have an abstract representation of feeds (the Synd beans). It will have 2 distinct models, Atom and RSS, both of them first citizens.
+ROME2 users will use the model that fits more their needs.
+Conversion (automatic and programmatic) between the 2 models will be part of ROME2.
After some discussions on the first ROME2 proposal we are going back to the interface model. The self proxy pattern proposed in the first proposal (to be able use arbitrary implementations) adds a bit of complexity into understanding what is going one plus it does not address in a clean way the needs for persistency (such as Hibernate or JPA).
+All ROME2 beans will interfaces. Different from ROME, the implementation classes for the ROME2 beans will not be part of the public API. Instead using directly constructors to create ROME2 beans, a factory pattern will be used. A Convenience class, Rome, will wrap the factory class providing a concise way of creating a ROME2 bean.
+For example, creating ROME2 beans using the Rome class convenience class will be something like:
++Feed feed = Rome.create(Feed.class); +Entry entry1 = Rome.create(Entry.class)); +Entry entry2 = Rome.create(Entry); +feed.getEntries().add(entry1); +feed.getEntries().add(entry2); +
Which is equivalent to (using the Rome Bean factory class):
++Feed feed = BeanFactory.getFactory().create(Feed.class); +Entry entry1 = BeanFactory.getFactory().create(Entry.class)); +Entry entry2 = BeanFactory.getFactory().create(Entry); +feed.getEntries().add(entry1); +feed.getEntries().add(entry2); +
To provide an alternate implementation beans an alternate set of beans will have to be provided. In addition, if necessary, an alternate bean factory could be used.
+To write an alternate implementation the bean classes will have to implement the ROME2 interface beans.
ROME2 will support the use of multiple implementation beans simultaneously by changing the bean factory at anytime.
+A use case could be retrieving a feed from a persistent store (which uses its own implementation beans), retrieving a feed from the internet (using the default implementation beans), merging their entries and producing an output feed, into the persistent store or out to the internet.
The bean factory will support a default factory and a context factory. The default factory is used if no context factory is available. The context factory uses a InheritableThreadLocal to store the factory in context, this is useful for use in dependency injection containers (Servlet, Spring, etc).
All collection properties (such as the authors, categories, contributors, links and entries of an Atom feed bean) will only have getter methods in the ROME2 API beans, no setter methods. For example:
++public class Feed { + public List<Person> getAuthors() { ... } + public List<Category> getCategories() { ... } + ... +} +
This will ensure that the implementation bean has control on the implementation of the collection being used. This is particularly important to enable alternate implementation beans to fetch data from a repository as the collection is iterated over.
Feeds, both RSS and Atom, are extensible via namespaced elements at feed/channel and entry/item level, these namespace elements are known as modules. Beans supporting modules (feed, channel, entry and item) will all have the following method to support modules.
++public Map<String,Module> getModules() { ... } +
Because modules are uniquely identified by their URI, a Map will be used, the key will be the URI of the module and the value the module itself. As with other ROME2 API bean collection properties, the getModules() property has a getter only, the Map implementation is controlled by the implementation bean.
+Module URIs in ROME2, as all the links URLs in the beans, will be Strings thus reducing object creation explosion a bit. For cases that some URI manipulation is required, the JDK URI class should be used.
ROME2 modules design has to ensure it provides simple and comprehensive support for dynamic modules such as SLE and GData.
A special Module subclass, UnknownModule, will serve as placeholder for module data not explicitly processed by ROME2 available parsers/generators. This will allow to consume and re-export a feed without losing unknown (to ROME2) modules. Each unknown module will be keyed off with its URI in the map of the associated feed, channel, entry or item.
+The data of the unknown module will be available as a String. ROME2 users should not use =UnknownModule='s data directly, if they need to manipulate that data they should find or implement bean/parser/generator for the module they need to manipulate.
+Because unknown modules brings some extra overhead in the parsing and generating process ROME2 will have a property to enable/disable processing of unknown modules.
All ROME2 API beans will have xml:lang attributes, String and enum and primitive types properties won't.
The xml:base attribute will not be present in any ROME2 API bean.
+It will be the responsibility of the parsers to resolve any relative URL present in the feed at parsing time. Similarly, generators may relativize URLs as a size optimization (for God's sake we are doing XML).
The equals() and hashCode() methods will not be overridden. As all ROME2 beans are mutable, it is not safe to use them as keys of hash structures.
+Cloning will not be directly defined by ROME2 interface beans, instead they will have a copyFrom() method which is type safe and does a deep copy. Cloning a ROME2 bean will be a two step process, for example:
++Feed feed1 = Rome.create(Feed.class); +... +Feed feed2 = Rome.create(Feed.class); +feed2.copyFrom(feed1); +
The toString() method in the beans will print the property that most likely identifies the bean plus the class name of the implementation bean. For example for a Feed bean the output of toString() would be:
++[xxx.rome2.impl.pojo.atom.FeedBean - http://foo.com/atom.xml] +
--++ Plugins ClassLoading
+Bean implementations, parsers, generators, converters and all pluggable ROME2 components will be loaded using the same classLoader ROME2 core classes are loaded from.
+This is to keep simple the handling of them via singletons and their instantiation. Supporting different classLoaders would require complex handling for instantiation, to avoid missing classes and class mismatches.
+NOTE: As an example of how easy things can go sour, imagine ROME2 core classes in the common path of a web-container and 2 web-apps adding their own beans/parsers/generators/modules, the singletons managing them are in ROME2 core, managed by the common classLoader, a simple singleton won't cut it. ROME2 core will be small enough that it will not be a memory consumption issue if it is once in each web-app.
To support large feeds (several megabytes or even gigabytes) ROME2 will support stream parsing. We have to see if how this could be done leveraging Abdera, else using StAX API directly.
+Using XML stream parsers/generators is more complicated than using a DOM ones, to make easier for developers to implement parsers and generators ROME2 will take care of the details of the XML streaming API and it will expose feed fragments (the feed header and entries) via the JDom API, as JDom Elements. For example, the streaming version of an Atom parser and generator would be something like:
++public interface AtomParser { + // A JDom Document with just the root element, its attributes and namespaces in it. + boolean canParseFeed(Document jdomDoc); + + // repeatable operation, returns was has been read from the header so far + // feed parameter has whatever is has been readed from the feed header so far. + // If the given feed parameter is not null data from the jdom element is injected in it. + Feed parseFeed(Element jdomFeedElement, Feed feed) throws FeedException; + + + // the jdomFeedElement allows the parser to get context (such as base URL, namespaces) + // for the entry being parsed. + Entry parseEntry(Element jdomFeedElement, Element jdomEntryElement) throws FeedException; + } + + public interface AtomGenerator { + String getFeedType(); + + // if called must be called once and before a generateEntry(Entry) + Element generateFeed(Feed feed) throws FeedException; + + Element generateEntry(Entry entry) throws FeedException; + } +
For Modules the parser and generator interface would be something like:
++public interface ModuleParser<M extends Module> { + String getUri(); + + M parseModule(Element jdomFeedElement); + + M parseModule(Element jdomFeedElement, Element jdomEntryElement); + } + public interface ModuleGenerator<M extends Module> { + String getUri(); + + Element generateModule(M module); + } +
Parsers and Generators for modules will follow the same principle.
+As with ROME, in ROME2 Parsers will be as lenient as possible. Generators will be strict.
Feed parsers and generators will not be directly accessed by the ROME2 user, they are used by ROME2 to expose a more convenient API in the form of streaming API and builder API. For example:
++public class RomeIO { + + // streaming API + + public static AtomReader createAtomReader(Reader reader, boolean xmlHealing) { }; + public static RssReader createRssReader(Reader reader, boolean xmlHealing) { }; + + public static AtomWriter createAtomWriter(Writer writer, String feedType) { }; + public static RssWriter createRssWriter(Writer writer, String feedType) { }; + + + // builder API + + public Feed parseAsFeed(Reader reader) { }; + public Channel parseAsChannel(Reader reader) { }; + + public void generate(Writer writer, Feed feed, String feedType) { }; + public void generate(Writer writer, Channel channel, String feedType) { }; + } + public interface AtomReader { + + String getFeedType(); + + // repeatable read, returns the current parsed state of the feed header + Feed readFeed() throws FeedException; + + // returns a feed entry while there are more, NULL when done + Entry readEntry() throws FeedException; + + // closes the feed reader + void close() throws FeedException; + } + public interface AtomWriter { + + String getFeedType(); + + // if called must be called once and before a write(Entry) + void writeFeed(Feed feed) throws FeedException; + + // if the first write is for an Entry, then the output is an item document + void writeEntry(Entry entry) throws FeedException; + + void close() throws FeedException; + } +
A bean FeedValidator class will verify that a feed or entry bean is valid for a given feed type. Feed generators would use this class to ensure feed correctness.
Conversion from Atom to RSS beans and vice versa will be done by an implementation of the FeedConverter interface. Conversion will be supported at both feed/channel and entry/item level. All properties, including modules data will be copied, after an conversion the state of the beans will be completely independent.
+The converter implementation will be pluggable, the implementation will be obtained from the bean factory and the Rome convenience class.
+Conversion from Atom beans to RSS beans and vice versa will be done by a FeedConverter class that would have the following signature:
++public interface FeedConverter { + public Feed convertToFeed(Channel channel); + public Feed convertToFeed(Channel channel, boolean processItems); + public Entry convertToEntry(Item item); + + public Channel convertToChannel(Feed feed); + public Channel convertToChannel(Feed feed, boolean processEntries); + public Item convertToItem(Entry entry); +} +
Manipulation of feeds during parsing and generation at feed/channel and entry/item level would be possible by implementing readers and writers wrappers that work on top of the original reader and writer instances.
+This filtering/wrapping could be automated via configuration.
+<FONT size="2">Quatre pi&#232;ces</FONT> +
In the hope of gettin "Quatre pièces" in your html feed. You get from the SynFeedOutput.output() this:
++&lt;FONT size="2"&gt;Quatre pi&amp;#232;ces&lt;/FONT&gt; +
Which ends up with "Quatre pièces" being displayed in the RSS Reader that is taking your feed. To get the correct ouput I have had to resort to outputString.replaceAll("",""); OK as a a workaround but not very elegant or performant! -- Main.rjwallis - 19 Mar 2005
This is, as usual, the easiest way.
+There's only one configuration step: Maven downloads dependencies from an online repository (by default ibiblio), to a local repository (on UNIX usually in ~/.maven/repository). Because the rome distribution is not yet on ibiblio, you need to add it yourself, either to your local repository, or to your own intranet maven repository if you have such a thing in your organization.
+If you built Rome run maven jar:install in the rome project to install Rome's jar in your Maven repository.
+If you got Rome binary distribution copy the Rome's jar file to your Maven repository (on UNIX that would be cp rome-0.1/rome-0.1.jar ~/.maven/repository/rome/jars/).
+Then building the samples it's easy as a pie, just run maven jar in the rome-samples project and you are all set.
Hopefully maven is helpful in supporting poor ant users who did not make the switch yet:-) We generated an Ant build.xml file in order for you to be able to build rome-samples with Ant. (Actually, Maven did it for us, the maven ant goal).
+The targets present in the build.xml are very helpful, ant get-deps will download from ibiblio to rome-samples/target/lib all the jar files Rome depends on and are needed for building an application using Rome.
+The only thing that will be left out is Rome's jar file itself: you'll need to copy it to the rome-samples/target/lib directory (For example in UNIX would be cp rome-0.1/rome-0.1.jar rome-samples/target/lib, where rome-0.1 is the binary distribution).
+To build rome-samples just run ant jar.
The Maven goals for running the samples are defined in maven.xml. They should all generate the same file named toto, but somehow it ends up empty. However the output is correctly sent to the console. We'll fix that glitch later.
+maven run-agr runs the FeedAggregator sample
+maven run-conv runs the FeedConverter sample
+maven run-read runs the FeedReader sample
All ant targets for the samples generate the same file named toto: feel free to customize this build.xml to your own needs. Also today all these targets depends on the jar target, which represents some overhead if you have already built. Get rid of that once your project is well setup.
+ant run-aggr runs the FeedAggregator sample
+ant run-conv runs the FeedConverter sample
+ant run-read runs the FeedReader sample
Software requirements: J2SE 1.4+, Xerces 2.4.0, JDOM B10, Commons Codec 1.2 and Rome 0.1.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeedI interface. The SyndFeedI interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeedI instances. The SyndInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndInput input = new SyndInput(); +SyndFeedI feed = input.build(feedUrl.openStream()); +
The first line creates a SyndInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndInput to read the syndication feed from the InputStream of a URL pointing to the feed. The SyndInput.build() method returns a SyndFeedI instance that can be easily processed.
+Rome also includes generators to create syndication feeds out of SyndFeedI instances. The SyndOutput class does this generation. When creating a syndication feed output, the developer has to indicate the syndication feed type for the ouput, and the SyndOutput will use the right generator for it. The following two lines of code show how to create a syndication feed output from a SyndFeedI instance:
++SyndOutput output = new SyndOutput(outputType); +output.output(feed,System.out); +
The first line creates a SyndOutput instance that will produce syndication feeds of the type indicated by the outputType parameter. The outputType parameter can be any of the following values: rss_0.9, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0 & atom_0.3. The second line writes the SyndFeedI as a syndication feed into the application's output.
+SyndFeedI can also be created and populated within the code. For example:
++SyndFeedI aggrFeed = new SyndFeed(); +aggrFeed.setTitle("Aggregated Feed"); +aggrFeed.setDescription("Anonymous Aggregated Feed"); +aggrFeed.setAuthor("anonymous"); +aggrFeed.setLink("http://www.anonymous.com"); +
The snipped of code above creates a SyndFeedI instance using the default implementation provided by Rome and sets the title, description, author and link properties of the feed.
+SyndFeedI properties can be modified, assigned to other SyndFeedI instances, removed, etc. It's important to remember that the getters/setters semantics defined for all SyndFeedI properties (and properties of its properties) is a copy by reference, not by value. In other words if you alter the property of a SyndFeedI property you are altering the SyndFeedI. Or, another example, if you assign the list of entries of one SyndFeedI instance to another SyndFeedI isntance and then you modify the list or any of the entries in the list, you are modifying the entries of both SyndFeedI instances.
+The following lines of code show how to copy the entries of a SyndFeedI instance being read (inFeed) into a SyndFeedI instance being created within the application (feed):
++SyndFeedI feed = new SyndFeed(); +... +List entries = new ArrayList(); +feed.setEntries(entries); +... +SyndInput input = new SyndInput(false); +SyndFeedI inFeed = input.build(inputUrl.openStream()); + +entries.addAll(inFeed.getEntries()); +
Note that it's OK to assign the entries list to the feed and later add entries to it as all SyndFeedI getters/setters do copy by reference.
+Following is the full code for a Java application that reads a list of syndication feed, aggregates their items into a single feed, and writes the aggregated feed to the application's output.
++package com.sun.syndication.samples; + +import java.net.URL; +import java.util.List; +import java.util.ArrayList; + +import com.sun.syndication.feed.synd.SyndFeedI; +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.feed.synd.SyndEntryI; +import com.sun.syndication.io.SyndInput; +import com.sun.syndication.io.SyndOutput; + +public class FeedAggregator { + + public static void main(String[] args) { + boolean ok = false; + if (args.length>=2) { + try { + String outputType = args[0]; + + SyndFeedI feed = new SyndFeed(); + feed.setTitle("Aggregated Feed"); + feed.setDescription("Anonymous Aggregated Feed"); + feed.setAuthor("anonymous"); + feed.setLink("http://www.anonymous.com"); + + List entries = new ArrayList(); + feed.setEntries(entries); + + for (int i=1;i<args.length;i++) { + URL inputUrl = new URL(args[i]); + + SyndInput input = new SyndInput(false); + SyndFeedI inFeed = input.build(inputUrl.openStream()); + + entries.addAll(inFeed.getEntries()); + + } + + SyndOutput output = new SyndOutput(outputType); + output.output(feed,System.out); + + ok = true; + } + catch (Exception ex) { + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedAggregator aggregates different feeds into a single one."); + System.out.println("The first parameter must be the feed type for the aggregated feed."); + System.out.println(" [valid values are: rss_0.9, rss_0.91, rss_0.92, rss_0.93, ]"); + System.out.println(" [ rss_0.94, rss_1.0, rss_2.0 & atom_0.3 ]"); + System.out.println("The second to last parameters are the URLs of feeds to aggregate."); + System.out.println(); + } + } + +} +
Software requirements: Synd J2SE 1.4+, Xerces 2.4.0, JDOM B10, Commons Codec 1.2 and Rome 0.1.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeedI interface. The SyndFeedI interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeedI instances. The SyndInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndInput input = new SyndInput(); +SyndFeedI feed = input.build(feedUrl.openStream()); +
The first line creates a SyndInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndInput to read the syndication feed from the InputStream of a URL pointing to the feed. The SyndInput.build() method returns a SyndFeedI instance that can be easily processed.
+Rome also includes generators to create syndication feeds out of SyndFeedI instances. The SyndOutput class does this generation. When creating a syndication feed output, the developer has to indicate the syndication feed type for the ouput, and the SyndOutput will use the right generator for it. The following two lines of code show how to create a syndication feed output from a SyndFeedI instance:
++SyndOutput output = new SyndOutput(outputType); +output.output(feed,System.out); +
The first line creates a SyndOutput instance that will produce syndication feeds of the type indicated by the outputType parameter. The outputType parameter can be any of the following values: rss_0.9, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0 & atom_0.3. The second line writes the SyndFeedI as a syndication feed into the application's output.
+Following is the full code for a Java application that reads a syndication feed and converts it to other syndication feed type, writing the converted feed to the application's output.
++package com.sun.syndication.samples; + +import java.net.URL; +import com.sun.syndication.feed.synd.SyndFeedI; +import com.sun.syndication.io.SyndInput; +import com.sun.syndication.io.SyndOutput; + +public class FeedConverter { + + public static void main(String[] args) { + boolean ok = false; + if (args.length==2) { + try { + String outputType = args[0]; + + URL feedUrl = new URL(args[1]); + + SyndInput input = new SyndInput(false); + SyndFeedI feed = input.build(feedUrl.openStream()); + + SyndOutput output = new SyndOutput(outputType); + output.output(feed,System.out); + + ok = true; + } + catch (Exception ex) { + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedConverter converts between syndication feeds types."); + System.out.println("The first parameter must be the feed type to convert to."); + System.out.println(" [valid values are: rss_0.9, rss_0.91, rss_0.92, rss_0.93, ]"); + System.out.println(" [ rss_0.94, rss_1.0, rss_2.0 & atom_0.3 ]"); + System.out.println("The second parameter must be the URL of the feed to convert."); + System.out.println(); + } + } + +} +
Software requirements: J2SE 1.4+, Xerces 2.4.0, JDOM B10, Commons Codec 1.2 and Rome 0.1.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeedI interface. The SyndFeedI interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeedI instances. The SyndInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndInput input = new SyndInput(); +SyndFeedI feed = input.build(feedUrl.openStream()); +
The first line creates a SyndInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndInput to read the syndication feed from the InputStream of a URL pointing to the feed. The SyndInput.build() method returns a SyndFeedI instance that can be easily processed.
+The default SyndFeedI implementation has a detailed and clear toString() implementation. The following line just prints it to the application's output.
++System.out.println(feed); +
Following is the full code for a Java application that reads a syndication feed and prints the SyndFeedI bean to the application's output.
++package com.sun.syndication.samples; + +import java.net.URL; +import com.sun.syndication.feed.synd.SyndFeedI; +import com.sun.syndication.io.SyndInput; + +public class FeedReader { + + public static void main(String[] args) { + boolean ok = false; + if (args.length==1) { + try { + URL feedUrl = new URL(args[0]); + + SyndInput input = new SyndInput(); + SyndFeedI feed = input.build(feedUrl.openStream()); + + System.out.println(feed); + + ok = true; + } + catch (Exception ex) { + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedReader reads and prints any RSS/Atom feed type."); + System.out.println("The first parameter must be the URL of the feed to read."); + System.out.println(); + } + } + +} +
The following tutorials show how to use the Rome API. They focus on the higher abstraction layer of classes offered by Rome, what we call the Synd* classes. By using the Synd* classes developers don't have to deal with the specifics of any syndication feed. They work with normalized feeds, the Synd* feeds. This makes it much easier to write applications that have to deal with all the variety of syndication feed types in use today.
+For instructions on how to build and run the samples used in the tutorials click here.
Software requirements: J2SE 1.4+, JDOM B10 and Rome 0.2.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeedI interface. The SyndFeedI interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeedI instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeedI feed = input.build(feedUrl.openStream()); +
The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the InputStream of a URL pointing to the feed. The SyndFeedInput.build() method returns a SyndFeedI instance that can be easily processed.
+Rome also includes generators to create syndication feeds out of SyndFeedI instances. The SyndFeedOutput class does this generation. The SyndFeedOutput will generate a syndication feed of the feed type indicated by the SyndFeedI object being output. The following two lines of code show how to create a syndication feed output from a SyndFeedI instance:
++SyndFeedOutput output = new SyndFeedOutput(); +output.output(feed,System.out); +
The first line creates a SyndFeedOutput instance that will produce syndication feeds. It can output feeds of any type (rss_0.9, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0 & atom_0.3), the SyndFeedI feedType property indicates the type. The second line writes the SyndFeedI as a syndication feed into the application's output.
+SyndFeedI can also be created and populated within the code. For example:
++SyndFeedI aggrFeed = new SyndFeed(); +aggrFeed.setFeedType("rss_1.0"); +aggrFeed.setTitle("Aggregated Feed"); +aggrFeed.setDescription("Anonymous Aggregated Feed"); +aggrFeed.setAuthor("anonymous"); +aggrFeed.setLink("http://www.anonymous.com"); +
The snipped of code above creates a SyndFeedI instance using the default implementation provided by Rome, sets the feed type to RSS 1.0, sets the title, description, author and link properties of the feed.
+SyndFeedI properties can be modified, assigned to other SyndFeedI instances, removed, etc. It's important to remember that the getters/setters semantics defined for all SyndFeedI properties (and properties of its properties) is a copy by reference, not by value. In other words if you alter the property of a SyndFeedI property you are altering the SyndFeedI. Or, another example, if you assign the list of entries of one SyndFeedI instance to another SyndFeedI isntance and then you modify the list or any of the entries in the list, you are modifying the entries of both SyndFeedI instances.
+The following lines of code show how to copy the entries of a SyndFeedI instance being read (inFeed) into a SyndFeedI instance being created within the application (feed):
++package com.sun.syndication.samples; + +import java.net.URL; +import java.util.List; +import java.util.ArrayList; + +import com.sun.syndication.feed.synd.SyndFeedI; +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.io.SyndFeedOutput; +import com.sun.syndication.io.SyndFeedInput; + +/** + * It aggregates a list of RSS/Atom feeds (they can be of different types) + * into a single feed of the specified type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedAggregator { + + public static void main(String[] args) { + boolean ok = false; + if (args.length>=2) { + try { + String outputType = args[0]; + + SyndFeedI feed = new SyndFeed(); + feed.setFeedType(outputType); + + feed.setTitle("Aggregated Feed"); + feed.setDescription("Anonymous Aggregated Feed"); + feed.setAuthor("anonymous"); + feed.setLink("http://www.anonymous.com"); + + List entries = new ArrayList(); + feed.setEntries(entries); + + for (int i=1;i<args.length;i++) { + URL inputUrl = new URL(args[i]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeedI inFeed = input.build(inputUrl.openStream()); + + entries.addAll(inFeed.getEntries()); + + } + + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,System.out); + + ok = true; + } + catch (Exception ex) { + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedAggregator aggregates different feeds into a single one."); + System.out.println("The first parameter must be the feed type for the aggregated feed."); + System.out.println(" [valid values are: rss_0.9, rss_0.91, rss_0.92, rss_0.93, ]"); + System.out.println(" [ rss_0.94, rss_1.0, rss_2.0 & atom_0.3 ]"); + System.out.println("The second to last parameters are the URLs of feeds to aggregate."); + System.out.println(); + } + } + +} +
Software requirements: Synd J2SE 1.4+, JDOM B10 and Rome 0.2.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeedI interface. The SyndFeedI interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeedI instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeedI feed = input.build(feedUrl.openStream()); +
The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the InputStream of a URL pointing to the feed. The SyndFeedInput.build() method returns a SyndFeedI instance that can be easily processed.
+Rome also includes generators to create syndication feeds out of SyndFeedI instances. The SyndFeedOutput class does this generation. The SyndFeedOutput will generate a syndication feed of the feed type indicated by the SyndFeedI object being output. The following two lines of code show how to create a syndication feed output from a SyndFeedI instance:
++SyndFeedOutput output = new SyndFeedOutput(); +output.output(feed,System.out); +
The first line creates a SyndFeedOutput instance that will produce syndication feeds. It can output feeds of any type (rss_0.9, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0 & atom_0.3), the SyndFeedI feedType property indicates the type. The second line writes the SyndFeedI as a syndication feed into the application's output.
+Following is the full code for a Java application that reads a syndication feed and converts it to other syndication feed type, writing the converted feed to the application's output.
++package com.sun.syndication.samples; + +import java.net.URL; +import com.sun.syndication.feed.synd.SyndFeedI; +import com.sun.syndication.io.SyndFeedInput; +import com.sun.syndication.io.SyndFeedOutput; + +/** + * It Converts any RSS/Atom feed type to a an RSS/Atom feed of the + * specified type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedConverter { + + public static void main(String[] args) { + boolean ok = false; + if (args.length==2) { + try { + String outputType = args[0]; + + URL feedUrl = new URL(args[1]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeedI feed = input.build(feedUrl.openStream()); + feed.setFeedType(outputType); + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,System.out); + + ok = true; + } + catch (Exception ex) { + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedConverter converts between syndication feeds types."); + System.out.println("The first parameter must be the feed type to convert to."); + System.out.println(" [valid values are: rss_0.9, rss_0.91, rss_0.92, rss_0.93, ]"); + System.out.println(" [ rss_0.94, rss_1.0, rss_2.0 & atom_0.3 ]"); + System.out.println("The second parameter must be the URL of the feed to convert."); + System.out.println(); + } + } + +} +
Software requirements: J2SE 1.4+, JDOM B10 and Rome 0.2.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeedI interface. The SyndFeedI interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeedI instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeedI feed = input.build(feedUrl.openStream()); +
The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the InputStream of a URL pointing to the feed. The SyndFeedInput.build() method returns a SyndFeedI instance that can be easily processed.
+The default SyndFeedI implementation has a detailed and clear toString() implementation. The following line just prints it to the application's output.
++System.out.println(feed); +
Following is the full code for a Java application that reads a syndication feed and prints the SyndFeedI bean to the application's output.
++package com.sun.syndication.samples; + +import java.net.URL; +import com.sun.syndication.feed.synd.SyndFeedI; +import com.sun.syndication.io.SyndFeedInput; + +/** + * It Reads and prints any RSS/Atom feed type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedReader { + + public static void main(String[] args) { + boolean ok = false; + if (args.length==1) { + try { + URL feedUrl = new URL(args[0]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeedI feed = input.build(feedUrl.openStream()); + + System.out.println(feed); + + ok = true; + } + catch (Exception ex) { + ex.printStackTrace(); + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedReader reads and prints any RSS/Atom feed type."); + System.out.println("The first parameter must be the URL of the feed to read."); + System.out.println(); + } + } + +} +
The following tutorials show how to use the Rome API. They focus on the higher abstraction layer of classes offered by Rome, what we call the Synd* classes. By using the Synd* classes developers don't have to deal with the specifics of any syndication feed. They work with normalized feeds, the Synd* feeds. This makes it much easier to write applications that have to deal with all the variety of syndication feed types in use today.
+The instructions for building and running the samples are identical to the instructions for Rome v0.1.
This is, as usual, the easiest way.
+There's only one configuration step: Maven downloads dependencies from an online repository (by default ibiblio), to a local repository (on UNIX usually in ~/.maven/repository). Because the rome distribution is not yet on ibiblio, you need to add it yourself, either to your local repository, or to your own intranet maven repository if you have such a thing in your organization.
+If you built Rome run maven jar:install in the rome project to install Rome's jar in your Maven repository.
+If you got Rome binary distribution copy the Rome's jar file to your Maven repository (on UNIX that would be cp rome-0.3/rome-0.3.jar ~/.maven/repository/rome/jars/).
+Then building the samples it's easy as a pie, just run maven jar in the rome-samples project and you are all set.
Hopefully maven is helpful in supporting poor ant users who did not make the switch yet We generated an Ant build.xml file in order for you to be able to build rome-samples with Ant. (Actually, Maven did it for us, the maven ant goal).
+The targets present in the build.xml are very helpful, ant get-deps will download from ibiblio to rome-samples/target/lib all the jar files Rome depends on and are needed for building an application using Rome.
+The only thing that will be left out is Rome's jar file itself: you'll need to copy it to the rome-samples/target/lib directory (For example in UNIX would be cp rome-0.3/rome-0.3.jar rome-samples/target/lib, where rome-0.3 is the binary distribution).
+To build rome-samples just run ant jar.
The Maven goals for running the samples are defined in maven.xml. They should all generate the same file named toto, but somehow it ends up empty. However the output is correctly sent to the console. We'll fix that glitch later.
+All ant targets for the samples generate the same file named toto: feel free to customize this build.xml to your own needs. Also today all these targets depends on the jar target, which represents some overhead if you have already built. Get rid of that once your project is well setup.
+This tutorial walks through the steps of creating a custom module for syndication feeds that support additional namespaces (such as RSS 1.0, RSS 2.0 and Atom 0.3).
+To understand this tutorial you should be familiar the with Rome API and with the use of modules in syndication feeds.
+Out of the box Rome parsers and generators support plug-ability of modules for RSS 1.0, RSS 2.0 and Atom 0.3 at both feed and item/entry levels. Also support for the Dublin Core and Syndication modules is provided.
+The complete source for this tutorial is in the Rome samples bundle as well as in CVS.
+The goal is to add support for a hypothetical Sample Module by defining a module bean, module parser and module generator and the necessary configuration to wire the parser and generator to an RSS 1.0 parser and RSS 1.0 generator.
+The sample module defines 3 elements, 'bar', 'foo' and 'date', where 'bar' and 'date' may occur at most once and the 'foo' element may occur several times. For example, a feed with the Sample Module data would look like:
++<?xml version="1.0"?> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://purl.org/rss/1.0/" + xmlns:sample="http://rome.dev.java.net/module/sample/1.0"> + <channel> + <title>RSS 1.0 Feed with Sample Module</title> + <link>http://rome.dev.java.net</link> + <description>This is a feed showing how to use a custom module with Rome</description> + <items> + <rdf:Seq> + <rdf:li resource="item01" /> + <rdf:li resource="item02" /> + </rdf:Seq> + </items> + <sample:bar>Channel bar</sample:bar> + <sample:foo>Channel first foo</sample:foo> + <sample:foo>Channel second foo</sample:foo> + </channel> + <item rdf:about="item01"> + <title>Title of Item 01</title> + <link>http://rome.dev.java.net/item01</link> + <description>Item 01 does not have Sample module data</description> + </item> + <item rdf:about="item02"> + <title>Title of Item 02</title> + <link>http://rome.dev.java.net/item02</link> + <description>Item 02 has Sample module data</description> + <sample:bar>Item 02 bar</sample:bar> + <sample:foo>Item 02 only foo</sample:foo> + <sample:date>2004-07-27T00:00+00:00</sample:date> + </item> +</rdf:RDF> +
First we must start with the bean interface, SampleModuleI. SampleModuleI must extend ModuleI. The ModuleI interface defines the getUri() method, which will return a URI identifying the module. The ModuleI interface also extends the Cloneable, ToString and CopyFrom interfaces to ensure that the beans provide support for basic features as cloning, equality, toString, etc. (for more details on this check the Understanding the Rome common classes and interfaces document).
+The SampleModule's URI is defined as a constant, accessible via the getURI() instance method. This is for convenience and good practice only.
+Then the module defines 3 properties: bar (String), foos (List) and date (Date). The elements of the foos property list must be strings (wishing for Java 5 generics already?).
++public interface SampleModuleI extends ModuleI,CopyFrom { + + public static final String URI = "http://rome.dev.java.net/module/sample/1.0"; + + public String getBar(); + public void setBar(String bar); + + public List getFoos(); + public void setFoos(List foos); + + public Date getDate(); + public void setDate(Date date); +} +
Next we have to write the bean implementation, SampleModule.
+SampleModule extends Module (the implementation counterpart of ModuleI). Module extends ObjectBean which provides equals, hashCode, toString and clone support for the properties of the class given in the constructor (SampleModuleI). Also the URI of the Sample module is indicated; it will be used by the Module.getUri() method.
++public class SampleModule extends Module implements SampleModuleI { + ... + public SampleModule() { + super(SampleModuleI.class,SampleModuleI.URI); + } + + public String getBar() { + return _bar; + } + ... +
The module properties are just Java Bean properties. The only catch is to follow Rome semantics for Collection properties: in the case of a null value for the collection, an empty collection must be returned.. Also, following Rome semantics, all properties are by reference, including mutable ones.
++public class SampleModule extends Module implements SampleModuleI { + private String _bar; + private List _foos; + private Date _date; + ... + public void setBar(String bar) { + _bar = bar; + } + + public List getFoos() { + return (_foos==null) ? (_foos=new ArrayList()) : _foos; + } + + public void setFoos(List foos) { + _foos = foos; + } + + public Date getDate() { + return _date; + } + + public void setDate(Date date) { + _date = date; + } +
Now the weird part: the bits for the CopyFrom logic. The Understanding the Rome common classes and interfaces document fully explains the CopyFrom logic in detail. In short, the CopyFrom interface is to support copying properties from one implementation of a bean (defined through an interface) to another implementation of the same bean.
+The getInterface() method returns the bean interface of the implementation (this is necessary for collections containing sub-classes such as a list of modules).
+The copyFrom() method copies all the properties from the parameter object (which must be a SampleModuleI implementation) into the caller bean properties. Note that the copyFrom must do a deep copy.
++public class SampleModule extends Module implements SampleModuleI { + ... + public Class getInterface() { + return SampleModuleI.class; + } + + public void copyFrom(Object obj) { + SampleModuleI sm = (SampleModuleI) obj; + setBar(sm.getBar()); + List foos = new ArrayList(sm.getFoos()); // this is enough for the copy because the list elements are inmutable (Strings) + setFoos(foos); + setDate((Date)sm.getDate().clone()); // because Date is not inmutable. + } + +} +
The sample module parser must implement the ModuleParser interface. This interface defines 2 methods, getNamespaceUri() that returns the URI of the module and parse(Element) which extracts the module elements from the given Element.
+The feed parsers will invoke the module parser with a feed element or with an item element. The module parser must look for module elements in the children of the given element. That is was the Sample parser is doing when looking for 'bar', 'foo' and 'date' children elements in the received element.
+In the case of the 'foo' element it looks for all occurrences as the Sample module schema allows for more than one occurrence of the 'foo' element. A SampleModule bean is created and the found values are set into it. For the 'date' element it assumes its a date value in W3C datetime format.
+If no Sample Module elements are found in the feed, the parse(Element) method returns null. This is to avoid having an empty instance of a module -not present in the feed- in the feed bean or in the item bean.
++public class SampleModuleParser implements ModuleParser { + + private static final Namespace SAMPLE_NS = Namespace.getNamespace("sample", SampleModuleI.URI); + + public String getNamespaceUri() { + return SampleModuleI.URI; + } + + public ModuleI parse(Element dcRoot) { + boolean foundSomething = false; + SampleModuleI fm = new SampleModule(); + + Element e = dcRoot.getChild("bar", SAMPLE_NS); + if (e != null) { + foundSomething = true; + fm.setBar(e.getText()); + } + List eList = dcRoot.getChildren("foo", SAMPLE_NS); + if (eList.size() > 0) { + foundSomething = true; + fm.setFoos(parseFoos(eList)); + } + e = dcRoot.getChild("date", SAMPLE_NS); + if (e != null) { + foundSomething = true; + fm.setDate(DateParser.parseW3CDateTime(e.getText())); + } + return (foundSomething) ? fm : null; + } + + private List parseFoos(List eList) { + List foos = new ArrayList(); + for (int i = 0; i < eList.size(); i++) { + Element e = (Element) eList.get(i); + foos.add(e.getText()); + } + return foos; + } + +} +
The sample module generator must implement the ModuleGenerator interface. This interface defines 2 methods, getNamespaceUri() that returns the URI of the module and generate(ModuleI,Element) which injects the module data into the given Element.
+The feed generator will invoke the module generator with a feed element or with an item element. The module generator must inject the module properties into the given element (which is a feed or an item). This injection has to be done using the right namespace.
+If no Sample Module bean is in the feed bean the module generator is not invoked at all.
++public class SampleModuleGenerator implements ModuleGenerator { + private static final Namespace SAMPLE_NS = Namespace.getNamespace("sample", SampleModuleI.URI); + + public String getNamespaceUri() { + return SampleModuleI.URI; + } + + public void generate(ModuleI module, Element element) { + + // this is not necessary, it is done to avoid the namespace definition in every item. + Element root = element; + while (root.getParent()!=null && root.getParent() instanceof Element) { + root = (Element) element.getParent(); + } + root.addNamespaceDeclaration(SAMPLE_NS); + + SampleModuleI fm = (SampleModuleI)module; + if (fm.getBar() != null) { + element.addContent(generateSimpleElement("bar", fm.getBar())); + } + List foos = fm.getFoos(); + for (int i = 0; i < foos.size(); i++) { + element.addContent(generateSimpleElement("foo",foos.get(i).toString())); + } + if (fm.getDate() != null) { + element.addContent(generateSimpleElement("date", DateParser.parseW3CDateTime(fm.getDate()))); + } + } + + protected Element generateSimpleElement(String name, String value) { + Element element = new Element(name, SAMPLE_NS); + element.addContent(value); + return element; + } + +} +
The last step is to setup the configuration file to indicate to Rome how and when to use the Sample Module parser and generator.
+The configuration is stored in a Properties file, 'rome.properties', that has to be in the root of the classpath or JAR where the Sample Module bean, parser and generator classes are.
+You must indicate the syndication feed formats (ie RSS 1.0) that must be aware of the Sample Module. You must indicate if the Sample Module is available for feed or item elements, or for both. You must indicate both the parser and the generator classes.
+Following is the 'rome.properties' file for the Sample Module, it's defined for RSS 1.0 only, for both feed and item elements.
++# Parsers for RSS 1.0 feed modules +# +rss_1.0.feed.ModuleParser.classes=com.sun.syndication.samples.module.SampleModuleParser + +# Parsers for RSS 1.0 item modules +# +rss_1.0.item.ModuleParser.classes=com.sun.syndication.samples.module.SampleModuleParser + +# Generators for RSS 1.0 feed modules +# +rss_1.0.feed.ModuleGenerator.classes=com.sun.syndication.samples.module.SampleModuleGenerator + +# Generators for RSS_1.0 entry modules +# +rss_1.0.item.ModuleGenerator.classes=com.sun.syndication.samples.module.SampleModuleGenerator +
If you are defining more than one module, indicate the parser and generator implementation classes separated by commas or spaces.
They will be there, just use them. You may get the SampleModuleI bean using the getModule(String Uri) method of the SyndFeedI bean and the SyndEntryI bean.
+Adding or replacing a syndication feed parser, generator or converter is along the same lines of what it has been explained in the tutorial for modules. Eventually we'll have a doc on that too
Software requirements: J2SE 1.4+, JDOM B10 and Rome 0.3.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeedI interface. The SyndFeedI interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeedI instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeedI feed = input.build(new InputStreamReader(feedUrl.openStream())); +
Obtaining the char based input stream has been simplified in this tutorial, the sample code in the distribution is a little more complex to handle charset encodings properly.
+The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the InputStream of a URL pointing to the feed. The SyndFeedInput.build() method returns a SyndFeedI instance that can be easily processed.
+Rome also includes generators to create syndication feeds out of SyndFeedI instances. The SyndFeedOutput class does this generation. The SyndFeedOutput will generate a syndication feed of the feed type indicated by the SyndFeedI object being output. The following two lines of code show how to create a syndication feed output from a SyndFeedI instance:
++SyndFeedOutput output = new SyndFeedOutput(); +output.output(feed,new PrintWriter(System.out)); +
The first line creates a SyndFeedOutput instance that will produce syndication feeds. It can output feeds of any type (rss_0.9, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0 & atom_0.3), the SyndFeedI feedType property indicates the type. The second line writes the SyndFeedI as a syndication feed into the application's output.
+SyndFeedI can also be created and populated within the code. For example:
++SyndFeedI aggrFeed = new SyndFeed(); +aggrFeed.setFeedType("rss_1.0"); +aggrFeed.setTitle("Aggregated Feed"); +aggrFeed.setDescription("Anonymous Aggregated Feed"); +aggrFeed.setAuthor("anonymous"); +aggrFeed.setLink("http://www.anonymous.com"); +
The snipped of code above creates a SyndFeedI instance using the default implementation provided by Rome, sets the feed type to RSS 1.0, sets the title, description, author and link properties of the feed.
+SyndFeedI properties can be modified, assigned to other SyndFeedI instances, removed, etc. It's important to remember that the getters/setters semantics defined for all SyndFeedI properties (and properties of its properties) is a copy by reference, not by value. In other words if you alter the property of a SyndFeedI property you are altering the SyndFeedI. Or, another example, if you assign the list of entries of one SyndFeedI instance to another SyndFeedI isntance and then you modify the list or any of the entries in the list, you are modifying the entries of both SyndFeedI instances.
+The following lines of code show how to copy the entries of a SyndFeedI instance being read (inFeed) into a SyndFeedI instance being created within the application (feed):
++package com.sun.syndication.samples; + +import java.net.URL; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.util.List; +import java.util.ArrayList; + +import com.sun.syndication.feed.synd.SyndFeedI; +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.io.SyndFeedOutput; +import com.sun.syndication.io.SyndFeedInput; + +/** + * It aggregates a list of RSS/Atom feeds (they can be of different types) + * into a single feed of the specified type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedAggregator { + + public static void main(String[] args) { + boolean ok = false; + if (args.length>=2) { + try { + String outputType = args[0]; + + SyndFeedI feed = new SyndFeed(); + feed.setFeedType(outputType); + + feed.setTitle("Aggregated Feed"); + feed.setDescription("Anonymous Aggregated Feed"); + feed.setAuthor("anonymous"); + feed.setLink("http://www.anonymous.com"); + + List entries = new ArrayList(); + feed.setEntries(entries); + + for (int i=1;i<args.length;i++) { + URL inputUrl = new URL(args[i]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeedI inFeed = input.build(new InputStreamReader(inputUrl.openStream())); + + entries.addAll(inFeed.getEntries()); + + } + + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,new PrintWriter(System.out)); + + ok = true; + } + catch (Exception ex) { + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedAggregator aggregates different feeds into a single one."); + System.out.println("The first parameter must be the feed type for the aggregated feed."); + System.out.println(" [valid values are: rss_0.9, rss_0.91, rss_0.92, rss_0.93, ]"); + System.out.println(" [ rss_0.94, rss_1.0, rss_2.0 & atom_0.3 ]"); + System.out.println("The second to last parameters are the URLs of feeds to aggregate."); + System.out.println(); + } + } + +} +
Software requirements: Synd J2SE 1.4+, JDOM B10 and Rome 0.3.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeedI interface. The SyndFeedI interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeedI instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeedI feed = input.build(new InputStreamReader(feedUrl.openStream())); +
Obtaining the char based input stream has been simplified in this tutorial, the sample code in the distribution is a little more complex to handle charset encodings properly.
+The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the InputStream of a URL pointing to the feed. The SyndFeedInput.build() method returns a SyndFeedI instance that can be easily processed.
+Rome also includes generators to create syndication feeds out of SyndFeedI instances. The SyndFeedOutput class does this generation. The SyndFeedOutput will generate a syndication feed of the feed type indicated by the SyndFeedI object being output. The following two lines of code show how to create a syndication feed output from a SyndFeedI instance:
+SyndFeedOutput output = new SyndFeedOutput(); +output.output(feed,new PrintWriter(System.out)); +
The first line creates a SyndFeedOutput instance that will produce syndication feeds. It can output feeds of any type (rss_0.9, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0 & atom_0.3), the SyndFeedI feedType property indicates the type. The second line writes the SyndFeedI as a syndication feed into the application's output.
+Following is the full code for a Java application that reads a syndication feed and converts it to other syndication feed type, writing the converted feed to the application's output.
++package com.sun.syndication.samples; + +import java.net.URL; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import com.sun.syndication.feed.synd.SyndFeedI; +import com.sun.syndication.io.SyndFeedInput; +import com.sun.syndication.io.SyndFeedOutput; + +/** + * It Converts any RSS/Atom feed type to a an RSS/Atom feed of the + * specified type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedConverter { + + public static void main(String[] args) { + boolean ok = false; + if (args.length==2) { + try { + String outputType = args[0]; + + URL feedUrl = new URL(args[1]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeedI feed = input.build(new InputStreamReader(feedUrl.openStream())); + feed.setFeedType(outputType); + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,new PrintWriter(System.out)); + + ok = true; + } + catch (Exception ex) { + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedConverter converts between syndication feeds types."); + System.out.println("The first parameter must be the feed type to convert to."); + System.out.println(" [valid values are: rss_0.9, rss_0.91, rss_0.92, rss_0.93, ]"); + System.out.println(" [ rss_0.94, rss_1.0, rss_2.0 & atom_0.3 ]"); + System.out.println("The second parameter must be the URL of the feed to convert."); + System.out.println(); + } + } + +} +
Software requirements: J2SE 1.4+, JDOM B10 and Rome 0.3.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeedI interface. The SyndFeedI interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Creating a feed with SyndFeedI beans consists of creating beans and setting their properties. The following code fragments show how a SyndFeedI bean with 3 entries is created.
+First the SyndFeedI instance is created, the preferred syndication format is set and the feed header info (title, link, description) is also set.
++SyndFeedI feed = new SyndFeed(); +feed.setFeedType(feedType); + +feed.setTitle("Sample Feed (created with Rome)"); +feed.setLink("http://rome.dev.java.net"); +feed.setDescription("This feed has been created using Rome (Java syndication utilities"); +
Then a list for entries is created, entries are created and added to the list. Each entry is set with a title, link, published date and a description. The description for the first entry is plain test, for the third entry is HTML. After each entry is created is added to the list.
++List entries = new ArrayList(); +SyndEntryI entry; +SyndContentI description; + +entry = new SyndEntry(); +entry.setTitle("Rome v1.0"); +entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome01"); +entry.setPublishedDate(DATE_PARSER.parse("2004-06-08")); +description = new SyndContent(); +description.setType("text/plain"); +description.setValue("Initial release of Rome"); +entry.setDescription(description); +entries.add(entry); +... +entry = new SyndEntry(); +entry.setTitle("Rome v3.0"); +entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome03"); +entry.setPublishedDate(DATE_PARSER.parse("2004-07-27")); +description = new SyndContent(); +description.setType("text/html"); +description.setValue("<p>More Bug fixes, mor API changes, some new features and some Unit testing</p>"+ + "<p>For details check the <a href=\"http://wiki.java.net/bin/view/Javawsxml/RomeChangesLog#RomeV03\">Changes Log</a></p>"); +entry.setDescription(description); +entries.add(entry); +
Finally the list with entries is added to the SyndFeedI bean.
++feed.setEntries(entries); +
The SyndFeedI bean is now ready to be written out to a syndication feed XML document. Note that any of supported syndication formats can be set in the feedType property.
+Rome includes generators that allow producing syndication feed XML documents from SyndFeedI instances. The SyndFeedOutput class handles the generation of the syndication feed XML documents on any of the supported feed formats (RSS and Atom). The developer does not need to worry about selecting the right generator for a syndication feed, the SyndFeedOutput will take care of it by looking at the information in the SyndFeedI bean. All it takes to write a syndication feed XML document using Rome -assuming you have a SyndFeedI bean and a Writer instance- are the following lines of code:
++SyndFeedI feed = ...; +Writer writer = ...; + +SyndFeedOutput output = new SyndFeedOutput(); +output.output(feed,writer); +
First a SyndFeedOutput instance is created, this instance will work with any syndication feed type (RSS and Atom versions). Then the feed and the writer are given to the SyndFeedOutput instance, the SyndFeedOutput will write the syndication feed XML document represented by the SyndFeedI bean to the Writer stream.
+Following is the full code for a Java application that creates a syndication feed and writes it to a file in the specified syndication format.
++package com.sun.syndication.samples; + +import com.sun.syndication.feed.synd.*; +import com.sun.syndication.io.SyndFeedOutput; + +import java.io.FileWriter; +import java.io.Writer; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + +/** + * It creates a feed and writes it to a file. + * <p> + * + */ +public class FeedWriter { + + private static final DateFormat DATE_PARSER = new SimpleDateFormat("yyyy-MM-dd"); + + public static void main(String[] args) { + boolean ok = false; + if (args.length==2) { + try { + String feedType = args[0]; + String fileName = args[1]; + + SyndFeedI feed = new SyndFeed(); + feed.setFeedType(feedType); + + feed.setTitle("Sample Feed (created with Rome)"); + feed.setLink("http://rome.dev.java.net"); + feed.setDescription("This feed has been created using Rome (Java syndication utilities"); + + List entries = new ArrayList(); + SyndEntryI entry; + SyndContentI description; + + entry = new SyndEntry(); + entry.setTitle("Rome v1.0"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome01"); + entry.setPublishedDate(DATE_PARSER.parse("2004-06-08")); + description = new SyndContent(); + description.setType("text/plain"); + description.setValue("Initial release of Rome"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntry(); + entry.setTitle("Rome v2.0"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome02"); + entry.setPublishedDate(DATE_PARSER.parse("2004-06-16")); + description = new SyndContent(); + description.setType("text/plain"); + description.setValue("Bug fixes, minor API changes and some new features"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntry(); + entry.setTitle("Rome v3.0"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome03"); + entry.setPublishedDate(DATE_PARSER.parse("2004-07-27")); + description = new SyndContent(); + description.setType("text/html"); + description.setValue("<p>More Bug fixes, mor API changes, some new features and some Unit testing</p>"+ + "<p>For details check the <a href=\"http://wiki.java.net/bin/view/Javawsxml/RomeChangesLog#RomeV03\">Changes Log</a></p>"); + entry.setDescription(description); + entries.add(entry); + + feed.setEntries(entries); + + Writer writer = new FileWriter(fileName); + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,writer); + writer.close(); + + System.out.println("The feed has been written to the file ["+fileName+"]"); + + ok = true; + } + catch (Exception ex) { + ex.printStackTrace(); + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedWriter creates a RSS/Atom feed and writes it to a file."); + System.out.println("The first parameter must be the syndication format for the feed"); + System.out.println(" (rss_0.90, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0 rss_2.0 or atom_0.3)"); + System.out.println("The second parameter must be the file name for the feed"); + System.out.println(); + } + } + +} +
Software requirements: J2SE 1.4+, JDOM B10 and Rome 0.3.
+Rome represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeedI interface. The SyndFeedI interfaces and its properties follow the Java Bean patterns. The default implementations provided with Rome are all lightweight classes.
+Rome includes parsers to process syndication feeds into SyndFeedI instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using Rome are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeedI feed = input.build(new InputStreamReader(feedUrl.openStream())); +
The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the char based input stream of a URL pointing to the feed. The SyndFeedInput.build() method returns a SyndFeedI instance that can be easily processed.
+Obtaining the char based input stream has been simplified in this tutorial, the sample code in the distribution is a little more complex to handle charset encodings properly.
+The default SyndFeedI implementation has a detailed and clear toString() implementation. The following line just prints it to the application's output.
++System.out.println(feed); +
Following is the full code for a Java application that reads a syndication feed and prints the SyndFeedI bean to the application's output.
++package com.sun.syndication.samples; + +import java.net.URL; +import java.io.InputStreamReader; +import com.sun.syndication.feed.synd.SyndFeedI; +import com.sun.syndication.io.SyndFeedInput; + +/** + * It Reads and prints any RSS/Atom feed type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedReader { + + public static void main(String[] args) { + boolean ok = false; + if (args.length==1) { + try { + URL feedUrl = new URL(args[0]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeedI feed = input.build(new InputStreamReader(feedUrl.openStream())); + + System.out.println(feed); + + ok = true; + } + catch (Exception ex) { + ex.printStackTrace(); + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedReader reads and prints any RSS/Atom feed type."); + System.out.println("The first parameter must be the URL of the feed to read."); + System.out.println(); + } + } + +} +
The following tutorials show how to use the Rome API. They focus on the higher abstraction layer of classes offered by Rome, what we call the Synd* classes. By using the Synd* classes developers don't have to deal with the specifics of any syndication feed. They work with normalized feeds, the Synd* feeds. This makes it much easier to write applications that have to deal with all the variety of syndication feed types in use today.
+For instructions on how to build and run the samples used in the tutorials click here.
This is, as usual, the easiest way.
+There's only one configuration step: Maven downloads dependencies from an online repository (by default ibiblio), to a local repository (on UNIX usually in ~/.maven/repository). Because the rome distribution is not yet on ibiblio, you need to add it yourself, either to your local repository, or to your own intranet maven repository if you have such a thing in your organization.
+If you built Rome run maven jar:install in the rome project to install Rome's jar in your Maven repository.
+If you got Rome binary distribution copy the Rome's jar file to your Maven repository (on UNIX that would be cp rome-0.4/rome-0.4.jar ~/.maven/repository/rome/jars/).
+Then building the samples it's easy as a pie, just run maven jar in the samples sub-project and you are all set.
+To build the sample Web Application, just run maven war in the samples sub-project. The WAR file, rome-samples.war, will be created under the target directory.
The targets present in the build.xml are very helpful, ant get-deps will download from ibiblio to rome-samples/target/lib all the jar files Rome depends on and are needed for building an application using Rome.
+In order to build the samples (or any subprojects), you'll need to first ensure that rome itself is built. You can do this simply by running ant in the project root directory.
+Once this is done, change to the samples directory, and just run ant. This will produce two files, rome-samples.jar which contains the sample applications, and rome-samples.war which will contain a deployable web application war file for the FeedServlet sample.
The Maven goals for running the samples are defined in maven.xml. They should all generate the same file named toto, but somehow it ends up empty. However the output is correctly sent to the console. We'll fix that glitch later.
+To run the sample Web Application you'll need to deploy the WAR file into your servlet container. If you are using Tomcat 4 or Tomcat 5 and the WAR file was dropped in the ${TOMCAT}/webapps directory the URL for the FeedServlet would be http://localhost:8080/rome-samples/feed in a default localhost Tomcat installation.
All ant targets for the samples generate the same file named toto: feel free to customize this build.xml to your own needs. Also today all these targets depends on the jar target, which represents some overhead if you have already built. Get rid of that once your project is well setup.
+Software requirements: J2SE 1.4+, Servlet Container 2.3+, JDOM 1.0 and Rome 0.4.
+This sample consists of a servlet that serves a feed as response. The feed type (RSS in any of its variants or Atom) can be specified as a URL parameter when requesting the feed. The returned feed is hardwired in the sample and it would be straight forward to modify the sample to generate the feed dynamically (i.e. from data stored in a database).
+The core logic of the FeedServlet is in the following fragment of code:
++public class FeedServlet extends HttpServlet { + ... + + public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException { + ... + SyndFeed feed = getFeed(req); + + String feedType = req.getParameter(FEED_TYPE); + feedType = (feedType!=null) ? feedType : _defaultFeedType; + feed.setFeedType(feedType); + + res.setContentType(MIME_TYPE); + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,res.getWriter()); + ... + } + + protected SyndFeed getFeed(HttpServletRequest req) throws IOException,FeedException { + SyndFeed feed = new SyndFeedImpl(); + feed = ... + return feed; + } + +} +
The servlet returns a feed upon HTTP GET requests with the doGet() method.
+First the SyndFeed bean is obtained by invoking the getFeed() method, the request object is passed as it could be used to obtain request contextual information to create the feed. How to create a feed using SyndFeed bean is explained in detail in the Using Rome to create and write a feed Tutorial.
+Then the feed type of the response is determined, first looking at the request parameters and falling back to a default feed type (specified by a servlet init parameter) if the type is not indicated in the request parameters. Setting the feed type in the feed bean will indicate the SyndFeedOutput the feed type to output.
+Finally, the response is set with the proper content type (the MIME_TYPE constant is 'application/xml; charset=UTF-8') and the feed is written to response writer using the SyndFeedOutput output classes.
+Following is the full code for the servlet.
++package com.sun.syndication.samples.servlet; + +import com.sun.syndication.feed.synd.*; +import com.sun.syndication.io.FeedException; +import com.sun.syndication.io.SyndFeedOutput; + +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + +/** + * Sample Servlet that serves a feed created with Rome. + * <p> + * The feed type is determined by the 'type' request parameter, if the parameter is missing it defaults + * to the 'default.feed.type' servlet init parameter, if the init parameter is missing it defaults to 'atom_0.3' + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedServlet extends HttpServlet { + private static final String DEFAULT_FEED_TYPE = "default.feed.type"; + private static final String FEED_TYPE = "type"; + private static final String MIME_TYPE = "application/xml; charset=UTF-8"; + private static final String COULD_NOT_GENERATE_FEED_ERROR = "Could not generate feed"; + + private static final DateFormat DATE_PARSER = new SimpleDateFormat("yyyy-MM-dd"); + + private String _defaultFeedType; + + public void init() { + _defaultFeedType = getServletConfig().getInitParameter(DEFAULT_FEED_TYPE); + _defaultFeedType = (_defaultFeedType!=null) ? _defaultFeedType : "atom_0.3"; + } + + public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException { + try { + SyndFeed feed = getFeed(req); + + String feedType = req.getParameter(FEED_TYPE); + feedType = (feedType!=null) ? feedType : _defaultFeedType; + feed.setFeedType(feedType); + + res.setContentType(MIME_TYPE); + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,res.getWriter()); + } + catch (FeedException ex) { + String msg = COULD_NOT_GENERATE_FEED_ERROR; + log(msg,ex); + res.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,msg); + } + } + + protected SyndFeed getFeed(HttpServletRequest req) throws IOException,FeedException { + SyndFeed feed = new SyndFeedImpl(); + + feed.setTitle("Sample Feed (created with Rome)"); + feed.setLink("http://rome.dev.java.net"); + feed.setDescription("This feed has been created using Rome (Java syndication utilities"); + + List entries = new ArrayList(); + SyndEntry entry; + SyndContent description; + + entry = new SyndEntryImpl(); + entry.setTitle("Rome v0.1"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome01"); + try { + entry.setPublishedDate(DATE_PARSER.parse("2004-06-08")); + } + catch (ParseException ex) { + // IT CANNOT HAPPEN WITH THIS SAMPLE + } + description = new SyndContentImpl(); + description.setType("text/plain"); + description.setValue("Initial release of Rome"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntryImpl(); + entry.setTitle("Rome v0.2"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome02"); + try { + entry.setPublishedDate(DATE_PARSER.parse("2004-06-16")); + } + catch (ParseException ex) { + // IT CANNOT HAPPEN WITH THIS SAMPLE + } + description = new SyndContentImpl(); + description.setType("text/plain"); + description.setValue("Bug fixes, minor API changes and some new features"+ + "<p>For details check the <a href=\"http://wiki.java.net/bin/view/Javawsxml/RomeChangesLog#RomeV02\">Changes Log for 0.2</a></p>"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntryImpl(); + entry.setTitle("Rome v0.3"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome03"); + try { + entry.setPublishedDate(DATE_PARSER.parse("2004-07-27")); + } + catch (ParseException ex) { + // IT CANNOT HAPPEN WITH THIS SAMPLE + } + description = new SyndContentImpl(); + description.setType("text/html"); + description.setValue("<p>Bug fixes, API changes, some new features and some Unit testing</p>"+ + "<p>For details check the <a href=\"http://wiki.java.net/bin/view/Javawsxml/RomeChangesLog#RomeV03\">Changes Log for 0.3</a></p>"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntryImpl(); + entry.setTitle("Rome v0.4"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome04"); + try { + entry.setPublishedDate(DATE_PARSER.parse("2004-09-24")); + } + catch (ParseException ex) { + // IT CANNOT HAPPEN WITH THIS SAMPLE + } + description = new SyndContentImpl(); + description.setType("text/html"); + description.setValue("<p>Bug fixes, API changes, some new features, Unit testing completed</p>"+ + "<p>For details check the <a href=\"http://wiki.java.net/bin/view/Javawsxml/RomeChangesLog#RomeV04\">Changes Log for 0.4</a></p>"); + entry.setDescription(description); + entries.add(entry); + + feed.setEntries(entries); + + return feed; + } + +} +
To use the FeedServlet we need to create a Web Application. For the Web Application we need a deployment descriptor, the web.xml file:
++<?xml version="1.0" encoding="UTF-8"?> + +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> +<web-app> + <display-name>Rome Samples</display-name> + + <servlet> + <servlet-name>FeedServlet</servlet-name> + <servlet-class>com.sun.syndication.samples.servlet.FeedServlet</servlet-class> + <init-param> + <param-name>default.feed.type</param-name> + <param-value>rss_2.0</param-value> + </init-param> + </servlet> + + <servlet-mapping> + <servlet-name>FeedServlet</servlet-name> + <url-pattern>/feed</url-pattern> + </servlet-mapping> + +</web-app> +
To build the sample Web Application, just run maven war in the samples sub-project. The WAR file, rome-samples.war, will be created under the target directory. Deploy the WAR in a servlet container and the FeedServlet should be up an running. If you are using Tomcat 4 or Tomcat 5 and the WAR file was dropped in the ${TOMCAT}/webapps directory the URL for the FeedServlet would be http://localhost:8080/rome-samples/feed in a default localhost Tomcat installation.
The following tutorials show how to use the Rome API. They focus on the higher abstraction layer of classes offered by Rome, what we call the Synd* classes. By using the Synd* classes developers don't have to deal with the specifics of any syndication feed. They work with normalized feeds, the Synd* feeds. This makes it much easier to write applications that have to deal with all the variety of syndication feed types in use today.
+For instructions on how to build and run the samples used in the tutorials click here.
I made it quickly before taking a plane, and ruined my iron when trying to press it myself on a T-shirt, but it's better than nothing and a T-shirt is vital to an open source project!
+It's at http://www.cafepress.com/chanezon.13794826
+Else just print the design yourself and iron it on a T-shirt (advice from P@ the practical guy: don't try to iron glossy paper photo on a T-shirt
+-- PatrickChanezon - 10 Jan 2005
Normally each release of ROME includes a whole new set of Wiki pages with the corresponding version number. ROME 0.6 is reusing ROME 0.5 Wiki pages as most of the changes are internal and the documentation has not changed.
+ +Normally each release of ROME includes a whole new set of Wiki pages with the corresponding version number. ROME 0.7 is reusing ROME 0.5 Wiki pages as most of the changes are internal.
+Normally each release of ROME includes a whole new set of Wiki pages with the corresponding version number. ROME 0.8 is reusing ROME 0.7 Wiki pages as much as possible.
+Normally each release of ROME includes a whole new set of Wiki pages with the corresponding version number. ROME 0.9 is reusing ROME 0.8 Wiki pages as much as possible.
+Normally each release of ROME includes a whole new set of Wiki pages with the corresponding version number. ROME 1.0 is reusing wikis from previous versions as there are not significant changes.
ROME 1.0 was released on March 12, 2009
+Normally each release of ROME includes a whole new set of Wiki pages with the corresponding version number. ROME 1.0 is reusing wikis from previous versions as there are not significant changes.
+Version | +Release Date |
---|---|
ROME 1.0 | +March 12, 2009 |
Rome v1.0 RC2 | +Jan 9, 2009 |
Rome v1.0 RC1 | +Jul 16, 2007 |
Rome v0.9 Beta | +Dec 11, 2006 |
Rome v0.8 Beta | +Feb 01, 2006 |
Rome v0.7 Beta | +Sep 09, 2005 |
Rome v0.6 Beta | +Apr 01, 2005 |
Rome v0.5 Beta | +Jan 10, 2005 |
Rome v0.4 Beta | +Sep 27, 2004 |
Rome v0.3 Beta | +Jul 28, 2004 |
Rome v0.2 Beta | +Jun 16, 2004 |
Rome v0.1 Beta | +Jun 08, 2004 |
As we were designing and implementing Rome we had discusssions, brainstorming and code reviews on the API. We've captured them in this document.
+Yes, using what we call Modules. Currently we support the 2 modules defined in RSS 1.0, Dublin Core and Syndication. They are wired when converting from SyndFeed beans to RSS/Atom feeds beans and vice versa. We use the RSS 1.0 terminology of Modules because RSS 1.0 is the specification that defined and used extensibility the most. RSS 2.0 and Atom use XML namespaces to extend the feed.
+However we will develop, and encourage developers to develop Rome specific Modules to handle future RSS 2.0 and Atom extensions.
+If additional modules are defined to express metadata the converters should be modified to handle them. And the same goes for the parsers and generators or RSS/Atom feeds.
We've struggled (and still are struggling) with names. We renamed and moved things around until we got dizzy. If you have suggestions please let us know.
They are in hidden (not javadoc-ed) packages within the Rome jar file. Their classes are loaded using declarations in a properties file. It is possible for developers to add or replace implementations of these components without modifying Rome source code, just by indicating an addition properties file to look for extra implementation classes.
At first we got tired of modifying the toString() methods every time we were adding/removing a property. As we were strictly following the Bean patterns we wrote a toString() method that would traverse the properties and print them. Then we went recursively. Then we refactor that into an interface and provided an adapter.
+Later we did the same to handle equals/hashcode, which is very useful when using Maps.
+To complete the task we did the same for cloning, providing deep cloning support.
+The ObjectBean is a base class that implements all these features. All Rome beans extend ObjectBean getting a toString, equals, hashcode and clone support for free.
For Boolean is false. For numbers is 1. For String is null. For collections is an empty collection (even if you set it to null you get an empty collection). For all other objects is null.
All properties as always handled by reference (except primitive types). If they are not immutable and you modify them you are affecting the bean/s that reference them too.
Interfaces have the following naming pattern: <NAME>I. Default implementations provided with Rome are named just <NAME>. For example, SyndFeedI is the interface and SyndFeed is the default implementation.
+We decided to use <NAME> for the default implementation classes as we think they'll be the implementation of choice most of the time.
We added interfaces only for the higher abstraction layer of Rome, SyndFeed (and Modules as they are used to express extensible metadata for SyndFeed instances). The reasoning behind such decoupling was to allow facading existing classes as SyndFeed beans. For example some persistent classes. This would allow to process them through components that work with SyndFeedI.
We thought about this, we dismissed the idea. The reasoning was that we expect to work with the SyndFeed and Module beans all the time and the convenience of using interface should be at that level only. We have RSS and Atom only because we have folks going and making up things without talking to each other. In short, we expect all our application processing to be done in a feed agnostic way in Java using SyndFeed and Module beans.
Item description MIME type, depending on the RSS version is text/plain (0.91), text/html (0.92, 0.93, 2.0) or configurable (0.94). The thing is that when you get the value out of JDOM Element it's always XML unescaped. When putting data into a JDOM Element the data is XML escaped. This is not 100% correct but it will work in most of the cases.
+Note that type in feed beans indicate what was the escaping type of the underlying feed, but if you get the value is already unescaped.
The mode in feed in content indicates what was the encoding of the element in the feed, but when you get the value is already unencoded.
Rome implementation currently uses JDOM for parsing and generating syndication feeds. As people tend to use the XML libraries they feel more comfortable with we have built in support for SAX, DOM, JDOM, byte streams, character streams and strings.
This method was originally a static method in the SyndFeed class. We've moved ot the SyndFeedI interface as we thought it would be useful to be able to ask a SyndFeedI instance the feed converters it handles.
Yes, the default bean implementations of SyndFeedI provided with Rome are Serializable.
+However, the *I interfaces are not. We made that decision consciously and the reason behind it is closely related to the reason we introduced the *I interfaces. You may want to extend some existing classes to implement SyndFeedI, and these classes you are extending may not be Serializable and cannot be (for example, they are tied to a live InputStream).
Rome Synd beans define the concept of URI at both feed and entry levels. The purpose of this URI is to help uniquely identifying feeds and entries when processed with Rome. This is particularly useful when a system is persisting feeds and when doing data manipulation where a primary key for the feeds or the entries is needed.
+RSS 0.90, 0.91, 0.92, 0.93 and 1.0 do not define any special element for the purposes of identifying the feed or the items other than the items link element. The channel link element cannot be used to identify the feed as its semantics is to refer to the web site that has the information being published through the feed and, if web site offers more than one feed most likely both of them will have the same feed link value.
+RSS 0.94 and RSS 2.0 define the guid element at item level. The guid element has an overloaded meaning. If the isPermalink attribute is true, the guid value can be used also as the URL for the item instead of the link element as well as a unique ID for the item. If the isPermalink attribute is false, the guid value can be used as a unique ID for the item. However, RSS 0.94 or RSS 2.0, do not define that the value of the guid element must be an URI.
+Atom 0.3 defines an id element at feed and entry levels. The id element is defined as an URI. The Atom specification being currently designed requires the id element to contain a normalized URI as defined by RFC 2396bis.
+The RSS0.94 and RSS 2.0 guid element and the Atom 0.3 id element are optional elements. Because of this, they may not be present at all in feeds.
Because the concept of a URI it is not defined in all the feed formats, Rome makes an arbitrary design decision to provide the URI functionality regardless of the original (or target) feed type. The following behavior as been chosen based on expected and assumed usage pattern of feed and entry data.
If the uri property of a SyndFeed or SyndEntry bean is not NULL, the getter method must return a normalized URI following the rules defined in RFC2396bis.
+The common use case for this scenario is when consuming a feed. Because of that, for clarity purposes, when referring to the data in the WireFeed the following sections talks about elements (as in the XML feed) instead of talking of properties.
None of the RSS versions define an ID at channel level. In addition to this, Rome input classes (WireFeedInput and SyndFeedInput) do not have access to the URL (if any) used to fetch the feed. Because of this Rome does not set in the SyndFeed uri property , it is left to developer to set (if needed) a URI in the feed bean.
+In the case of Atom 0.3, if the id element is present in the feed, the SyndFeed uri property will be set with the value of the id element. If it is not present, the developer must set (if needed) a URI manually.
+For RSS 0.91, RSS 0.92, RSS 0.93 & RSS 1.0 if the link element is present in the item, the SyndEntry uri property will be set with the value of the link element. Otherwise the SyndEntry uri property is left as NULL and the developer must set it (if needed).
+For RSS 0.94 & RSS 2.0 if the guid property is present in the item, the SyndEntry uri property will be set with the value of the guid element. If the guid element is not present, the SyndEntry uri property will be set with the value of the link element. If the link element is missing but the guid is present and it is flagged as a permalink, Rome will set set the SyndEntry link property with the value of the guid element (Rome is doing this because is a common practice to generated RSS 2.0 fees with guid elements marked as permalinks and without a link element).
+For Atom 0.3 if the id element is present, the SyndEntry uri property is set with the value of the id element. If the id element is not present, the SyndEntry uri property is set with the value of the alternate link element.
The common use case for this scenario is when generating a feed. Because of that, for clarity purposes, when referring to the data in the WireFeed the following sections talks about elements (as in the XML feed) instead of talking of properties.
+For RSS 0.91, RSS 0.92, RSS 0.93, RSS 1.0 & RSS 2.0 the SyndFeed uri property is lost as there is not possible representation in the channel element for it.
+For Atom 0.3 set the SyndFeed uri property is set as the value for the id element.
For RSS 0.91, RSS 0.92, RSS 0.93 & RSS 1.0 the SyndEntry uri property is lost as there is not possible representation in the item element for it.
+For RSS 0.94 & RSS 2.0 the SyndEntry uri property is set as the value of the guid element with permalink set to false. If the SyndEntry uri property is not set, the SyndEntry link property is set as the value of the guid element with permalink set to true. Note that if the SyndFEntry linkproperty is missing the SyndEntry uri cannot be set as the value of the link element because it cannot be assumed that the uri property is an URL.
+Because SyndEntry instances always return a normalized URI the value of the guid elements of a generated RSS 0.94 or RSS 2.0 may differ from the values of the guid elements of the original feed.
+For Atom 0.3 the SyndEntry uri property is set as the id element.
+Mosh...
Date and time elements seem to be error prone. RSS feeds use RFC822 datetime formats and Atom feeds use W3C datetime formats. Both RFC822 and W3C support quite a few flavors for specifying date and time. Some feeds use the wrong standard (such as some RSS feeds using W3C dates). Other feeds have an ENTER before or after the date. And another feeds use an arbitrary format altogether.
+To help cope with this ROME makes a few tricks:
+Custom format masks can be specified in the /rome.properties file in any of the classpath elements.
+The masks must be specified in the datetime.extra.masks property.
+If more than one mask is to be specified they must be separated with '|' characters.
+The syntax for the masks is the one use by by the java.text.SimpleDateFormat class. Always US Locale is assumed for the masks.
+If datetime masks are specified in more than one /rome.properties file in teh classpath, they are all aggregated.
Rss and atOM utilitiEs (ROME) Synd* beans define the concept of URI at both feed and entry levels. The purpose of this URI is to help uniquely identifying feeds and entries when processed with ROME. This is particularly useful when a system is persisting feeds and when doing data manipulation where a primary key for the feeds or the entries is needed.
+RSS 0.90, 0.91, 0.92, 0.93 and 1.0 do not define any special element for the purposes of identifying the feed or the items other than the items link element. The channel link element cannot be used to identify the feed as its semantics is to refer to the web site that has the information being published through the feed and, if web site offers more than one feed most likely both of them will have the same feed link value.
+RSS 0.94 and RSS 2.0 define the guid element at item level. The guid element has an overloaded meaning. If the isPermalink attribute is true, the guid value can be used also as the URL for the item instead of the link element as well as a unique ID for the item. If the isPermalink attribute is false, the guid value can be used as a unique ID for the item. However, RSS 0.94 or RSS 2.0, do not define that the value of the guid element must be an URI.
+Atom 0.3 defines an id element at feed and entry levels. The id element is defined as an URI. The Atom specification being currently designed requires the id element to contain a normalized URI as defined by RFC 2396bis.
+The RSS0.94 and RSS 2.0 guid element and the Atom 0.3 id element are optional elements. Because of this, they may not be present at all in feeds.
Because the concept of a URI it is not defined in all the feed formats, ROME makes an arbitrary design decision to provide the URI functionality regardless of the original (or target) feed type. The following behavior as been chosen based on expected and assumed usage pattern of feed and entry data.
If the uri property of a SyndFeed or SyndEntry bean is not NULL, the getter method must return a normalized URI following the rules defined in RFC2396bis.
+The common use case for this scenario is when consuming a feed. Because of that, for clarity purposes, when referring to the data in the WireFeed the following sections talks about elements (as in the XML feed) instead of talking of properties.
None of the RSS versions define an ID at channel level. In addition to this, ROME input classes (WireFeedInput and SyndFeedInput) do not have access to the URL (if any) used to fetch the feed. Because of this ROME does not set in the SyndFeed uri property , it is left to developer to set (if needed) a URI in the feed bean.
+In the case of Atom 0.3, if the id element is present in the feed, the SyndFeed uri property will be set with the value of the id element. If it is not present, the developer must set (if needed) a URI manually.
+For RSS 0.91, RSS 0.92, RSS 0.93 & RSS 1.0 if the link element is present in the item, the SyndEntry uri property will be set with the value of the link element. Otherwise the SyndEntry uri property is left as NULL and the developer must set it (if needed).
+For RSS 0.94 & RSS 2.0 if the guid property is present in the item, the SyndEntry uri property will be set with the value of the guid element. If the guid element is not present, the SyndEntry uri property will be set with the value of the link element. If the link element is missing but the guid is present and it is flagged as a permalink, ROME will set set the SyndEntry link property with the value of the guid element (ROME is doing this because is a common practice to generated RSS 2.0 fees with guid elements marked as permalinks and without a link element).
+For Atom 0.3 if the id element is present, the SyndEntry uri property is set with the value of the id element. If the id element is not present, the SyndEntry uri property is set with the value of the lternate link element.
The common use case for this scenario is when generating a feed. Because of that, for clarity purposes, when referring to the data in the WireFeed the following sections talks about elements (as in the XML feed) instead of talking of properties.
+For RSS 0.91, RSS 0.92, RSS 0.93, RSS 1.0 & RSS 2.0 the SyndFeed uri property is lost as there is not possible representation in the channel element for it.
+For Atom 0.3 set the SyndFeed uri property is set as the value for the id element.
For RSS 0.91, RSS 0.92, RSS 0.93 & RSS 1.0 the SyndEntry uri property is lost as there is not possible representation in the item element for it.
+For RSS 0.94 & RSS 2.0 the SyndEntry uri property is set as the value of the guid element with permalink set to false. If the SyndEntry uri property is not set, the SyndEntry link property is set as the value of the guid element with permalink set to true. Note that if the SyndFEntry linkproperty is missing the SyndEntry uri cannot be set as the value of the link element because it cannot be assumed that the uri property is an URL.
+Because SyndEntry instances always return a normalized URI the value of the guid elements of a generated RSS 0.94 or RSS 2.0 may differ from the values of the guid elements of the original feed.
+For Atom 0.3 the SyndEntry uri property is set as the id element.
The different RSS versions and Atom define different date elements at feed and entry level. Some of them also define syndication information indicating when (and when not) and how often to fetch feeds for updates. There is not always a possible mapping or conversion of this information when going from one format to another.
+As this is still subject of debate (How About a Date and Date Survey), for now, in Rss and atOM utilitiEs (ROME) we've taken a simplistic approach.
+When handling feeds at WireFeed level, rss.Channel or atom.Feed, it is possible to access all the date elements and syndication information available in the feed.
+When handling feeds at SyndFeed level, synd.SyndFeed, there is only one date element available, the publishedDate. Both, SyndFeed and SyndEntry have the publisheDate property. In addition, it is possible to use the Syndication Module.
+The mapping of the date elements from the different feed formats to SyndFeed is as follows.
+RSS 0.90 does not define date elements.
+There is no mapping to SyndFeed and SyndEntry date properties.
RSS 0.91 and 0.92 define pubDate and lastBuildDate at feed level.
+The feed pubDate element is mapped to the SyndFeed publishedDate property. The lastBuildDate element is lost.
RSS 0.93, 0.94 and 2.0 define pubDate and lastBuildDate at feed level. They also define pubDate and expirationDate at item level.
+The feed pubDate element is mapped to the SyndFeed publishedDate property. The lastBuildDate element is lost.
+The item pubDate element is mapped to the SyndEntry publishedDate property. The expirationDate element is lost.
RSS 1.0 use DC Module data at feed an item level to indicate date information about the feed and the items.
+SyndFeed and SyndEntry use the DC Module date element for the publishedDate property.
Atom 0.3 defines a modified element at feed level and the modified, created & issued elements at entry level.
+The feed modified element is mapped to the SyndFeed publishedDate property.
+The item modified element is mapped to the SyndEntry publishedDate property. The entry elements, created and issued, are lost.
(Atom 1.0 supported in ROME since v0.8)
+Atom 1.0 defines an updated element at the feed level, which ROME maps to SyndFeed.publishedDate.
+Atom 1.0 defines updated and published elements at the entry level, which ROME maps to SyndEntry.updatedDate and SyndEntry.publishedDate respectively.
ROME has been designed around a plugin mechanism. All the supported feed types (RSSs and Atom) is done by plugins included in the distribution.
+Parsing feeds, generating feeds, converting feeds from a concrete feed to a SyndFeed and vice versa, parsing modules and generating modules is done using plugins.
+Plugins for new functionality can be added and default plugins can be easily replaced with alternate plugins.
+Plugins are defined in a properties file, the rome.properties file.
+The default plugins definition file is included in the ROME JAR file, com/sun/syndication/rome.properties, this is the first plugins definition file to be processed. It defines the default parsers, generators and converters for feeds and modules ROME provides.
+After loading the default plugins definition file, ROME looks for additional plugins definition files in all the CLASSPATH entries, this time at root level, /rome.properties. And appends the plugins definitions to the existing ones. Note that if there are several /rome.properties files in the different CLASSPATH entries all of them are processed. The order of processing depends on how the ClassLoader processes the CLASSPATH entries, this is normally done in the order of appearance -of the entry- in the CLASSPATH.
+For each type of plugin (parser, generator, converter, ect) a list of available plugins is built following the read order just described. The plugins classes are then loaded and instantiated. All plugins have some kind of primary key. In the case or parsers, generators and converters the primary key is the type of feed they handle. In the case of modules, the primary key is the module URI. If a plugin list definition (the aggregation of all the plugins of the same time from all the rome.properties) contains more than one plugin with the same primary key, the latter one is the one that will be used(this enables replacing default plugins with custom ones).
+The plugins are read, loaded and managed by the implementation class com.sun.syndication.io.impl.PluginManager. This class is an abstract class and it is extended to provide support for each type of plugin.
Parser plugins are managed by the com.sun.syndication.io.impl.FeedParsers class (subclass of the PluginManager). This plugin manager looks for the WireFeedParser.classes property in all the rome.properties files. The fully qualified names of the parser classes must be separated by whitespaces or commas. For example, the default rome.properties file parser plugins definition is as follows:
++# Feed Parser implementation classes +# +WireFeedParser.classes=com.sun.syndication.io.impl.RSS090Parser \ + com.sun.syndication.io.impl.RSS091NetscapeParser \ + com.sun.syndication.io.impl.RSS091UserlandParser \ + com.sun.syndication.io.impl.RSS092Parser \ + com.sun.syndication.io.impl.RSS093Parser \ + com.sun.syndication.io.impl.RSS094Parser \ + com.sun.syndication.io.impl.RSS10Parser \ + com.sun.syndication.io.impl.RSS20wNSParser \ + com.sun.syndication.io.impl.RSS20Parser \ + com.sun.syndication.io.impl.Atom03Parser +
All the classes defined in this property have to implement the com.sun.syndication.io.WireFeedParser interface. Parser instances must be thread safe. The return value of the getType() method is used as the primary key. If more than one parser returns the same type, the latter one prevails.
Generator plugins are managed by the com.sun.syndication.io.impl.FeedGenerators class (subclass of the PluginManager). This plugin manager looks for the WireFeedGenerator.classes property in all the rome.properties files. The fully qualified names of the generator classes must be separated by whitespaces or commas. For example, the default rome.properties file generator plugins definition is as follows:
++# Feed Generator implementation classes +# +WireFeedGenerator.classes=com.sun.syndication.io.impl.RSS090Generator \ + com.sun.syndication.io.impl.RSS091NetscapeGenerator \ + com.sun.syndication.io.impl.RSS091UserlandGenerator \ + com.sun.syndication.io.impl.RSS092Generator \ + com.sun.syndication.io.impl.RSS093Generator \ + com.sun.syndication.io.impl.RSS094Generator \ + com.sun.syndication.io.impl.RSS10Generator \ + com.sun.syndication.io.impl.RSS20Generator \ + com.sun.syndication.io.impl.Atom03Generator +
All the classes defined in this property have to implement the com.sun.syndication.io.WireFeedGenerator interface. Generator instances must be thread safe. The return value of the getType() method is used as the primary key. If more than one generator returns the same type, the latter one prevails.
Converter plugins are managed by the com.sun.syndication.synd.impl.Converters class (subclass of the PluginManager). This plugin manager looks for the Converter.classes property in all the rome.properties files. The fully qualified names of the converter classes must be separated by whitespaces or commas. For example, the default rome.properties file converter plugins definition is as follows:
++# Feed Conversor implementation classes +# +Converter.classes=com.sun.syndication.feed.synd.impl.ConverterForAtom03 \ + com.sun.syndication.feed.synd.impl.ConverterForRSS090 \ + com.sun.syndication.feed.synd.impl.ConverterForRSS091Netscape \ + com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland \ + com.sun.syndication.feed.synd.impl.ConverterForRSS092 \ + com.sun.syndication.feed.synd.impl.ConverterForRSS093 \ + com.sun.syndication.feed.synd.impl.ConverterForRSS094 \ + com.sun.syndication.feed.synd.impl.ConverterForRSS10 \ + com.sun.syndication.feed.synd.impl.ConverterForRSS20 +
All the classes defined in this property have to implement the com.sun.syndication.synd.Converter interface. Converter instances must be thread safe. The return value of the getType() method is used as the primary key. If more than one converter returns the same type, the latter one prevails.
There are 2 types of module plugins, module parser plugins and module generator plugins. They use a same pattern feed parsers and generators use.
+The main difference is that support for module plugins has to be wired in the feed parser and generator plugins. The default feed parser and generator plugins supporting module plugins are: RSS 1.0, RSS 2.0 and Atom 0.3.
+It is important to understand that this wiring is for modules support. Once a feed parser or generator has modules support, new modules can be used just by adding them to right property in the rome.properties file. No code changes are required.
+Module parsers and generators are defined at feed and item level. This allow selective handling of modules, for example handling Syndication module at feed level only.
+Module parser plugins are managed by the com.sun.syndication.io.impl.ModuleParsers class (subclass of the PluginManager). This plugin manager looks for the .feed.ModuleParser.classes and the .item.ModuleParser.classes properties in all the rome.properties files. must be the type defined by the parser (ie: rss_1.0, atom_0.3). The fully qualified names of the module parser classes must be separated by whitespaces or commas. For example, the default rome.properties file modules parser plugins definition is as follows:
++# Parsers for Atom 0.3 feed modules +# +atom_0.3.feed.ModuleParser.classes=com.sun.syndication.io.impl.SyModuleParser \ + com.sun.syndication.io.impl.DCModuleParser + +# Parsers for Atom 0.3 entry modules +# +atom_0.3.item.ModuleParser.classes=com.sun.syndication.io.impl.DCModuleParser + +# Parsers for RSS 1.0 feed modules +# +rss_1.0.feed.ModuleParser.classes=com.sun.syndication.io.impl.SyModuleParser \ + com.sun.syndication.io.impl.DCModuleParser + +# Parsers for RSS 1.0 item modules +# +rss_1.0.item.ModuleParser.classes=com.sun.syndication.io.impl.DCModuleParser + +# Parsers for RSS 2.0 feed modules +# +rss_2.0.feed.ModuleParser.classes= + +# Parsers for RSS 2.0 item modules +# +rss_2.0.item.ModuleParser.classes= +
All the classes defined in this property have to implement the com.sun.syndication.io.ModuleParser interface. ModuleParser instances must be thread safe. The return value of the getNamesapceUri() method is used as the primary key. If more than one module parser returns the same URI, the latter one prevails.
+Module generator plugins are managed by the com.sun.syndication.io.impl.GeneratorParsers class (subclass of the PluginManager). This plugin manager looks for the .feed.ModuleGenerator.classes and the .item.ModuleGenerator.classes properties in all the rome.properties files. must be the type defined by the generator (ie: rss_1.0, atom_0.3). The fully qualified names of the module generator classes must be separated by whitespaces or commas. For example, the default rome.properties file modules generator plugins definition is as follows:
++# Generators for Atom 0.3 feed modules +# +atom_0.3.feed.ModuleGenerator.classes=com.sun.syndication.io.impl.SyModuleGenerator \ + com.sun.syndication.io.impl.DCModuleGenerator + +# Generators for Atom 0.3 entry modules +# +atom_0.3.item.ModuleGenerator.classes=com.sun.syndication.io.impl.DCModuleGenerator + +# Generators for RSS 1.0 feed modules +# +rss_1.0.feed.ModuleGenerator.classes=com.sun.syndication.io.impl.SyModuleGenerator \ + com.sun.syndication.io.impl.DCModuleGenerator + +# Generators for RSS_1.0 entry modules +# +rss_1.0.item.ModuleGenerator.classes=com.sun.syndication.io.impl.DCModuleGenerator + +# Generators for RSS 2.0 feed modules +# +rss_2.0.feed.ModuleGenerator.classes= + +# Generators for RSS_2.0 entry modules +# +rss_2.0.item.ModuleGenerator.classes= +
All the classes defined in this property have to implement the com.sun.syndication.io.ModuleGenerator interface. ModuleGenerator instances must be thread safe. The return value of the getNamesapceUri() method is used as the primary key. If more than one module generator returns the same URI, the latter one prevails.
+See also: a step-by-step tutorial for implementing a custom module.
These instructions are outdated
+This is, as usual, the easiest way.
+There's only one configuration step: Maven downloads dependencies from an online repository (by default ibiblio), to a local repository (on UNIX usually in ~/.maven/repository). Because the rome distribution is not yet on ibiblio, you need to add it yourself, either to your local repository, or to your own intranet maven repository if you have such a thing in your organization.
+If you built ROME run maven jar:install in the rome project to install ROME's jar in your Maven repository.
+If you got ROME binary distribution copy the ROME's jar file to your Maven repository (on UNIX that would be cp rome-0.5/rome-0.5.jar ~/.maven/repository/rome/jars/).
+Then building the samples it's easy as a pie, just run maven jar in the samples sub-project and you are all set.
+To build the sample Web Application, just run maven war in the samples sub-project. The WAR file, rome-samples.war, will be created under the target directory.
The targets present in the build.xml are very helpful, ant get-deps will download from ibiblio to rome-samples/target/lib all the jar files ROME depends on and are needed for building an application using Rome.
+In order to build the samples (or any subprojects), you'll need to first ensure that rome itself is built. You can do this simply by running ant in the project root directory.
+Once this is done, change to the samples directory, and just run ant. This will produce two files, rome-samples.jar which contains the sample applications, and rome-samples.war which will contain a deployable web application war file for the FeedServlet sample.
The Maven goals for running the samples are defined in maven.xml.
+To run the sample Web Application you'll need to deploy the WAR file into your servlet container. If you are using Tomcat 4 or Tomcat 5 and the WAR file was dropped in the ${TOMCAT}/webapps directory the URL for the FeedServlet would be http://localhost:8080/rome-samples/feed in a default localhost Tomcat installation.
All ant targets for the samples generate the same file named toto: feel free to customize this build.xml to your own needs. Also today all these targets depends on the jar target, which represents some overhead if you have already built. Get rid of that once your project is well setup.
+Software requirements: Synd J2SE 1.4+, JDOM 1.0 and ROME 0.5.
+This tutorial walks through the steps of creating a custom module for syndication feeds that support additional namespaces (such as RSS 1.0, RSS 2.0 and Atom 0.3).
+To understand this tutorial you should be familiar the with ROME API and with the use of modules in syndication feeds.
+Out of the box ROME parsers and generators support plug-ability of modules for RSS 1.0, RSS 2.0 and Atom 0.3 at both feed and item/entry levels. Also support for the Dublin Core and Syndication modules is provided.
+The complete source for this tutorial is in the ROME samples bundle as well as in CVS.
+The goal is to add support for a hypothetical Sample Module by defining a module bean, module parser and module generator and the necessary configuration to wire the parser and generator to an RSS 1.0 parser and RSS 1.0 generator.
+The sample module defines 3 elements, 'bar', 'foo' and 'date', where 'bar' and 'date' may occur at most once and the 'foo' element may occur several times. For example, a feed with the Sample Module data would look like:
++<?xml version="1.0"?> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://purl.org/rss/1.0/" + xmlns:sample="http://rome.dev.java.net/module/sample/1.0"> + <channel> + <title>RSS 1.0 Feed with Sample Module</title> + <link>http://rome.dev.java.net</link> + <description>This is a feed showing how to use a custom module with ROME</description> + <items> + <rdf:Seq> + <rdf:li resource="item01" /> + <rdf:li resource="item02" /> + </rdf:Seq> + </items> + <sample:bar>Channel bar</sample:bar> + <sample:foo>Channel first foo</sample:foo> + <sample:foo>Channel second foo</sample:foo> + </channel> + <item rdf:about="item01"> + <title>Title of Item 01</title> + <link>http://rome.dev.java.net/item01</link> + <description>Item 01 does not have Sample module data</description> + </item> + <item rdf:about="item02"> + <title>Title of Item 02</title> + <link>http://rome.dev.java.net/item02</link> + <description>Item 02 has Sample module data</description> + <sample:bar>Item 02 bar</sample:bar> + <sample:foo>Item 02 only foo</sample:foo> + <sample:date>2004-07-27T00:00+00:00</sample:date> + </item> +</rdf:RDF> +
First we must start with the bean interface, SampleModule. SampleModule must extend Module. The Module interface defines the getUri() method, which will return a URI identifying the module.
+The Module interface also extends the CopyFrom interface to enable copying properties from alternate implementations of the concrete Module interface. More on this later in this page.
+The SampleModule's URI is defined as a constant, accessible via the getURI() instance method. This is for convenience and good practice only.
+Then the module defines 3 properties: bar (String), foos (List) and date (Date). The elements of the foos property list must be strings (wishing for Java 5 generics already?).
++public interface SampleModule extends Module { + + public static final String URI = "http://rome.dev.java.net/module/sample/1.0"; + + public String getBar(); + public void setBar(String bar); + + public List getFoos(); + public void setFoos(List foos); + + public Date getDate(); + public void setDate(Date date); +} +
Next we have to write the bean implementation, SampleModuleImpl.
+SampleModuleImpl extends ModuleImpl. ModuleImpl is the default implementation of the ==Module interface. ModuleImpl automatically provides equals, hashCode, toString and clone support for the properties of the class given in the constructor (SampleModule). Also the URI of the Sample module is indicated; it will be used by the Module.getUri() method.
++public class SampleModuleImpl extends ModuleImpl implements SampleModule { + ... + public SampleModuleImpl() { + super(SampleModule.class,SampleModule.URI); + } + + public String getBar() { + return _bar; + } + [...] +
The module properties are just Java Bean properties. The only catch is to follow ROME semantics for Collection properties: in the case of a null value for the collection, an empty collection must be returned. Also, following ROME semantics, all properties are by reference, including mutable ones.
++public class SampleModuleImpl extends ModuleImpl implements SampleModule { + private String _bar; + private List _foos; + private Date _date; + ... + public void setBar(String bar) { + _bar = bar; + } + + public List getFoos() { + return (_foos==null) ? (_foos=new ArrayList()) : _foos; + } + + public void setFoos(List foos) { + _foos = foos; + } + + public Date getDate() { + return _date; + } + + public void setDate(Date date) { + _date = date; + } +
Now the weird part, the bits for the CopyFrom logic. The The CopyFrom interface (rome) document fully explains the CopyFrom logic in detail. In short, the CopyFrom interface is to support copying properties from one implementation of a bean (defined through an interface) to another implementation of the same bean.
+The getInterface() method returns the bean interface of the implementation (this is necessary for collections containing sub-classes such as a list of modules).
+The copyFrom() method copies all the properties from the parameter object (which must be a SampleModule implementation) into the caller bean properties. Note that the copyFrom must do a deep copy.
++public class SampleModuleImpl extends ModuleImpl implements SampleModule { + ... + public Class getInterface() { + return SampleModule.class; + } + + public void copyFrom(Object obj) { + SampleModule sm = (SampleModule) obj; + setBar(sm.getBar()); + List foos = new ArrayList(sm.getFoos()); // this is enough for the copy because the list elements are inmutable (Strings) + setFoos(foos); + setDate((Date)sm.getDate().clone()); // because Date is not inmutable. + } + +} +
The sample module parser must implement the ModuleParser interface. This interface defines 2 methods, getNamespaceUri() that returns the URI of the module and parse(Element) which extracts the module elements from the given Element.
+The feed parsers will invoke the module parser with a feed element or with an item element. The module parser must look for module elements in the children of the given element. That is was the Sample parser is doing when looking for 'bar', 'foo' and 'date' children elements in the received element.
+In the case of the 'foo' element it looks for all occurrences as the Sample module schema allows for more than one occurrence of the 'foo' element. A SampleModule bean is created and the found values are set into it. For the 'date' element it assumes its a date value in W3C datetime format.
+If no Sample Module elements are found in the feed, the parse(Element) method returns null. This is to avoid having an empty instance of a module -not present in the feed- in the feed bean or in the item bean.
++public class SampleModuleParser implements ModuleParser { + + private static final Namespace SAMPLE_NS = Namespace.getNamespace("sample", SampleModule.URI); + + public String getNamespaceUri() { + return SampleModule.URI; + } + + public Module parse(Element dcRoot) { + boolean foundSomething = false; + SampleModule fm = new SampleModuleImpl(); + + Element e = dcRoot.getChild("bar", SAMPLE_NS); + if (e != null) { + foundSomething = true; + fm.setBar(e.getText()); + } + List eList = dcRoot.getChildren("foo", SAMPLE_NS); + if (eList.size() > 0) { + foundSomething = true; + fm.setFoos(parseFoos(eList)); + } + e = dcRoot.getChild("date", SAMPLE_NS); + if (e != null) { + foundSomething = true; + fm.setDate(DateParser.parseW3CDateTime(e.getText())); + } + return (foundSomething) ? fm : null; + } + + private List parseFoos(List eList) { + List foos = new ArrayList(); + for (int i = 0; i < eList.size(); i++) { + Element e = (Element) eList.get(i); + foos.add(e.getText()); + } + return foos; + } + +} +
The sample module generator must implement the ModuleGenerator interface. This interface defines 2 methods, getNamespaceUri() that returns the URI of the module and generate(ModuleI,Element) which injects the module data into the given Element.
+The feed generator will invoke the module generator with a feed element or with an item element. The module generator must inject the module properties into the given element (which is a feed or an item). This injection has to be done using the right namespace. The set of namespaces returned by the getNamespaces() method will be used to declare the namespaces used by the module in the feed root element.
+If no Sample Module bean is in the feed bean the module generator is not invoked at all.
++public class SampleModuleGenerator implements ModuleGenerator { + private static final Namespace SAMPLE_NS = Namespace.getNamespace("sample", SampleModule.URI); + + public String getNamespaceUri() { + return SampleModule.URI; + } + + private static final Set NAMESPACES; + + static { + Set nss = new HashSet(); + nss.add(SAMPLE_NS); + NAMESPACES = Collections.unmodifiableSet(nss); + } + + public Set getNamespaces() { + return NAMESPACES; + } + + public void generate(Module module, Element element) { + + // this is not necessary, it is done to avoid the namespace definition in every item. + Element root = element; + while (root.getParent()!=null && root.getParent() instanceof Element) { + root = (Element) element.getParent(); + } + root.addNamespaceDeclaration(SAMPLE_NS); + + SampleModuleI fm = (SampleModule)module; + if (fm.getBar() != null) { + element.addContent(generateSimpleElement("bar", fm.getBar())); + } + List foos = fm.getFoos(); + for (int i = 0; i < foos.size(); i++) { + element.addContent(generateSimpleElement("foo",foos.get(i).toString())); + } + if (fm.getDate() != null) { + element.addContent(generateSimpleElement("date", DateParser.formatW3CDateTime(fm.getDate()))); + } + } + + protected Element generateSimpleElement(String name, String value) { + Element element = new Element(name, SAMPLE_NS); + element.addContent(value); + return element; + } + +} +
The last step is to setup the configuration file to indicate to ROME how and when to use the Sample Module parser and generator.
+The configuration is stored in a Properties file, 'rome.properties', that has to be in the root of the classpath or JAR where the Sample Module bean, parser and generator classes are.
+You must indicate the syndication feed formats (ie RSS 1.0) that must be aware of the Sample Module. You must indicate if the Sample Module is available for feed or item elements, or for both. You must indicate both the parser and the generator classes.
+Following is the 'rome.properties' file for the Sample Module, it's defined for RSS 1.0 only, for both feed and item elements.
++# Parsers for RSS 1.0 feed modules +# +rss_1.0.feed.ModuleParser.classes=com.sun.syndication.samples.module.SampleModuleParser + +# Parsers for RSS 1.0 item modules +# +rss_1.0.item.ModuleParser.classes=com.sun.syndication.samples.module.SampleModuleParser + +# Generators for RSS 1.0 feed modules +# +rss_1.0.feed.ModuleGenerator.classes=com.sun.syndication.samples.module.SampleModuleGenerator + +# Generators for RSS_1.0 entry modules +# +rss_1.0.item.ModuleGenerator.classes=com.sun.syndication.samples.module.SampleModuleGenerator +
If you are defining more than one module, indicate the parser and generator implementation classes separated by commas or spaces.
They will be there, just use them. You may get the SampleModule bean using the getModule(String Uri) method of the SyndFeed bean and the SyndEntry bean.
+Adding or replacing a syndication feed parser, generator or converter goes along the same lines of what it has been explained in the tutorial for modules. This is explained in the ROME Plugins Mechanism topic.
Software requirements: J2SE 1.4+, JDOM 1.0 and ROME 0.5.
+ROME represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with ROME are all lightweight classes.
+ROME includes parsers to process syndication feeds into SyndFeed instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using ROME are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeed feed = input.build(new XmlReader(feedUrl)); +
The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the InputStream of a URL pointing to the feed. The XmlReader is a character based Reader that resolves the encoding following the HTTP MIME types and XML rules for it. The SyndFeedInput.build() method returns a SyndFeed instance that can be easily processed.
+ROME also includes generators to create syndication feeds out of SyndFeed instances. The SyndFeedOutput class does this generation. The SyndFeedOutput will generate a syndication feed of the feed type indicated by the SyndFeed object being output. The following two lines of code show how to create a syndication feed output from a SyndFeed instance:
++SyndFeedOutput output = new SyndFeedOutput(); +output.output(feed,new PrintWriter(System.out)); +
The first line creates a SyndFeedOutput instance that will produce syndication feeds. It can output feeds of any type (rss_0.9, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0 & atom_0.3), the SyndFeed feedType property indicates the type. The second line writes the SyndFeed as a syndication feed into the application's output.
+SyndFeed instances can also be created and populated within the code. For example:
++SyndFeed aggrFeed = new SyndFeedImpl(); +aggrFeed.setFeedType("rss_1.0"); +aggrFeed.setTitle("Aggregated Feed"); +aggrFeed.setDescription("Anonymous Aggregated Feed"); +aggrFeed.setAuthor("anonymous"); +aggrFeed.setLink("http://www.anonymous.com"); +
The snipped of code above creates a SyndFeed instance using the default implementation provided by ROME, sets the feed type to RSS 1.0, sets the title, description, author and link properties of the feed.
+SyndFeed properties can be modified, assigned to other SyndFeed instances, removed, etc. It's important to remember that the getters/setters semantics defined for all SyndFeed properties (and properties of its properties) is a copy by reference, not by value. In other words if you alter the property of a SyndFeed property you are altering the SyndFeed. Or, another example, if you assign the list of entries of one SyndFeed instance to another SyndFeed isntance and then you modify the list or any of the entries in the list, you are modifying the entries of both SyndFeed instances.
+The following lines of code show how to copy the entries of a SyndFeed instance being read (inFeed) into a SyndFeed instance being created within the application (feed):
++package com.sun.syndication.samples; + +import java.net.URL; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.util.List; +import java.util.ArrayList; + +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.feed.synd.SyndFeedImpl; +import com.sun.syndication.io.SyndFeedOutput; +import com.sun.syndication.io.SyndFeedInput; +import com.sun.syndication.io.XmlReader; + +/** + * It aggregates a list of RSS/Atom feeds (they can be of different types) + * into a single feed of the specified type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedAggregator { + + public static void main(String[] args) { + boolean ok = false; + if (args.length>=2) { + try { + String outputType = args[0]; + + SyndFeed feed = new SyndFeedImpl(); + feed.setFeedType(outputType); + + feed.setTitle("Aggregated Feed"); + feed.setDescription("Anonymous Aggregated Feed"); + feed.setAuthor("anonymous"); + feed.setLink("http://www.anonymous.com"); + + List entries = new ArrayList(); + feed.setEntries(entries); + + for (int i=1;i<args.length;i++) { + URL inputUrl = new URL(args[i]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeed inFeed = input.build(new XmlReader(inputUrl)); + + entries.addAll(inFeed.getEntries()); + + } + + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,new PrintWriter(System.out)); + + ok = true; + } + catch (Exception ex) { + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedAggregator aggregates different feeds into a single one."); + System.out.println("The first parameter must be the feed type for the aggregated feed."); + System.out.println(" [valid values are: rss_0.9, rss_0.91U, rss_0.91N, rss_0.92, rss_0.93, ]"); + System.out.println(" [ rss_0.94, rss_1.0, rss_2.0 & atom_0.3 ]"); + System.out.println("The second to last parameters are the URLs of feeds to aggregate."); + System.out.println(); + } + } + +} +
Software requirements: Synd J2SE 1.4+, JDOM 1.0 and ROME 0.5.
+ROME represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with ROME are all lightweight classes.
+ROME includes parsers to process syndication feeds into SyndFeed instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using ROME are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeed feed = input.build(new XmlReader(feedUrl)); +
The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the InputStream of a URL pointing to the feed. The XmlReader is a character based Reader that resolves the encoding following the HTTP MIME types and XML rules for it. The SyndFeedInput.build() method returns a SyndFeed instance that can be easily processed.
+ROME also includes generators to create syndication feeds out of SyndFeed instances. The SyndFeedOutput class does this generation. The SyndFeedOutput will generate a syndication feed of the feed type indicated by the SyndFeed object being output. The following two lines of code show how to create a syndication feed output from a SyndFeed instance:
++SyndFeedOutput output = new SyndFeedOutput(); +output.output(feed,new PrintWriter(System.out)); +
The first line creates a SyndFeedOutput instance that will produce syndication feeds. It can output feeds of any type (rss_0.9, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0 & atom_0.3), the SyndFeed feedType property indicates the type. The second line writes the SyndFeed as a syndication feed into the application's output.
+Following is the full code for a Java application that reads a syndication feed and converts it to other syndication feed type, writing the converted feed to the application's output.
++package com.sun.syndication.samples; + +import java.net.URL; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.io.SyndFeedInput; +import com.sun.syndication.io.SyndFeedOutput; +import com.sun.syndication.io.XmlReader; + +/** + * It Converts any RSS/Atom feed type to a an RSS/Atom feed of the + * specified type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedConverter { + + public static void main(String[] args) { + boolean ok = false; + if (args.length==2) { + try { + String outputType = args[0]; + + URL feedUrl = new URL(args[1]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeed feed = input.build(new XmlReader(feedUrl)); + feed.setFeedType(outputType); + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,new PrintWriter(System.out)); + + ok = true; + } + catch (Exception ex) { + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedConverter converts between syndication feeds types."); + System.out.println("The first parameter must be the feed type to convert to."); + System.out.println(" [valid values are: rss_0.9, rss_0.91, rss_0.92, rss_0.93, ]"); + System.out.println(" [ rss_0.94, rss_1.0, rss_2.0 & atom_0.3 ]"); + System.out.println("The second parameter must be the URL of the feed to convert."); + System.out.println(); + } + } + +} +
Software requirements: J2SE 1.4+, JDOM 1.0 and ROME 0.5.
+ROME represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with ROME are all lightweight classes.
+Creating a feed with SyndFeed beans consists of creating beans and setting their properties. The following code fragments show how a SyndFeed bean with 3 entries is created.
+First the SyndFeed instance is created, the preferred syndication format is set and the feed header info (title, link, description) is also set.
++SyndFeed feed = new SyndFeedImpl(); +feed.setFeedType(feedType); + +feed.setTitle("Sample Feed (created with ROME)"); +feed.setLink("http://rome.dev.java.net"); +feed.setDescription("This feed has been created using ROME (Java syndication utilities"); +
Then a list for entries is created, entries are created and added to the list. Each entry is set with a title, link, published date and a description. The description for the first entry is plain test, for the third entry is HTML. After each entry is created is added to the list.
++List entries = new ArrayList(); +SyndEntry entry; +SyndContent description; + +entry = new SyndEntryImpl(); +entry.setTitle("ROME v1.0"); +entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome01"); +entry.setPublishedDate(DATE_PARSER.parse("2004-06-08")); +description = new SyndContentImpl(); +description.setType("text/plain"); +description.setValue("Initial release of ROME"); +entry.setDescription(description); +entries.add(entry); +[...] +entry = new SyndEntryImpl(); +entry.setTitle("ROME v3.0"); +entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome03"); +entry.setPublishedDate(DATE_PARSER.parse("2004-07-27")); +description = new SyndContentImpl(); +description.setType("text/html"); +description.setValue("<p>More Bug fixes, mor API changes, some new features and some Unit testing</p>"+ + "<p>For details check the <a href=\"https://rometools.jira.com/wiki/display/ROME/Change+Log#ChangeLog-Changesmadefromv0.3tov0.4\">Changes Log</a></p>"); +entry.setDescription(description); +entries.add(entry); +
Finally the list with entries is added to the SyndFeed bean.
++feed.setEntries(entries); +
The SyndFeed bean is now ready to be written out to a syndication feed XML document. Note that any of supported syndication formats can be set in the feedType property.
+ROME includes generators that allow producing syndication feed XML documents from SyndFeed instances. The SyndFeedOutput class handles the generation of the syndication feed XML documents on any of the supported feed formats (RSS and Atom). The developer does not need to worry about selecting the right generator for a syndication feed, the SyndFeedOutput will take care of it by looking at the information in the SyndFeed bean. All it takes to write a syndication feed XML document using ROME -assuming you have a SyndFeed bean and a Writer instance- are the following lines of code:
++SyndFeed feed = ...; +Writer writer = ...; + +SyndFeedOutput output = new SyndFeedOutput(); +output.output(feed,writer); +
First a SyndFeedOutput instance is created, this instance will work with any syndication feed type (RSS and Atom versions). Then the feed and the writer are given to the SyndFeedOutput instance, the SyndFeedOutput will write the syndication feed XML document represented by the SyndFeed bean to the Writer stream.
+Following is the full code for a Java application that creates a syndication feed and writes it to a file in the specified syndication format.
++package com.sun.syndication.samples; + +import com.sun.syndication.feed.synd.*; +import com.sun.syndication.io.SyndFeedOutput; + +import java.io.FileWriter; +import java.io.Writer; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + +/** + * It creates a feed and writes it to a file. + * <p> + * + */ +public class FeedWriter { + + private static final DateFormat DATE_PARSER = new SimpleDateFormat("yyyy-MM-dd"); + + public static void main(String[] args) { + boolean ok = false; + if (args.length==2) { + try { + String feedType = args[0]; + String fileName = args[1]; + + SyndFeed feed = new SyndFeedImpl(); + feed.setFeedType(feedType); + + feed.setTitle("Sample Feed (created with ROME)"); + feed.setLink("http://rome.dev.java.net"); + feed.setDescription("This feed has been created using ROME (Java syndication utilities"); + + List entries = new ArrayList(); + SyndEntry entry; + SyndContent description; + + entry = new SyndEntryImpl(); + entry.setTitle("ROME v1.0"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome01"); + entry.setPublishedDate(DATE_PARSER.parse("2004-06-08")); + description = new SyndContentImpl(); + description.setType("text/plain"); + description.setValue("Initial release of ROME"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntryImpl(); + entry.setTitle("ROME v2.0"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome02"); + entry.setPublishedDate(DATE_PARSER.parse("2004-06-16")); + description = new SyndContentImpl(); + description.setType("text/plain"); + description.setValue("Bug fixes, minor API changes and some new features"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntryImpl(); + entry.setTitle("ROME v3.0"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/Rome03"); + entry.setPublishedDate(DATE_PARSER.parse("2004-07-27")); + description = new SyndContentImpl(); + description.setType("text/html"); + description.setValue("<p>More Bug fixes, mor API changes, some new features and some Unit testing</p>"+ + "<p>For details check the <a href=\"https://rometools.jira.com/wiki/display/ROME/Change+Log#ChangeLog-Changesmadefromv0.3tov0.4\">Changes Log</a></p>"); + entry.setDescription(description); + entries.add(entry); + + feed.setEntries(entries); + + Writer writer = new FileWriter(fileName); + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,writer); + writer.close(); + + System.out.println("The feed has been written to the file ["+fileName+"]"); + + ok = true; + } + catch (Exception ex) { + ex.printStackTrace(); + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedWriter creates a RSS/Atom feed and writes it to a file."); + System.out.println("The first parameter must be the syndication format for the feed"); + System.out.println(" (rss_0.90, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0 rss_2.0 or atom_0.3)"); + System.out.println("The second parameter must be the file name for the feed"); + System.out.println(); + } + } + +} +
Software requirements: J2SE 1.4+, JDOM 1.0 and ROME 0.5.
+ROME represents syndication feeds (RSS and Atom) as instances of the com.sun.syndication.synd.SyndFeed interface. The SyndFeed interfaces and its properties follow the Java Bean patterns. The default implementations provided with ROME are all lightweight classes.
+ROME includes parsers to process syndication feeds into SyndFeed instances. The SyndFeedInput class handles the parsers using the correct one based on the syndication feed being processed. The developer does not need to worry about selecting the right parser for a syndication feed, the SyndFeedInput will take care of it by peeking at the syndication feed structure. All it takes to read a syndication feed using ROME are the following 2 lines of code:
++SyndFeedInput input = new SyndFeedInput(); +SyndFeed feed = input.build(new XmlReader(feedUrl)); +
The first line creates a SyndFeedInput instance that will work with any syndication feed type (RSS and Atom versions). The second line instructs the SyndFeedInput to read the syndication feed from the char based input stream of a URL pointing to the feed. The XmlReader is a character based Reader that resolves the encoding following the HTTP MIME types and XML rules for it. The SyndFeedInput.build() method returns a SyndFeed instance that can be easily processed.
+The default SyndFeed implementation has a detailed and clear toString() implementation. The following line just prints it to the application's output.
++ System.out.println(feed); +
Following is the full code for a Java application that reads a syndication feed and prints the SyndFeed bean to the application's output.
++package com.sun.syndication.samples; + +import java.net.URL; +import java.io.InputStreamReader; +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.io.SyndFeedInput; +import com.sun.syndication.io.XmlReader; + +/** + * It Reads and prints any RSS/Atom feed type. + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedReader { + + public static void main(String[] args) { + boolean ok = false; + if (args.length==1) { + try { + URL feedUrl = new URL(args[0]); + + SyndFeedInput input = new SyndFeedInput(); + SyndFeed feed = input.build(new XmlReader(feedUrl)); + + System.out.println(feed); + + ok = true; + } + catch (Exception ex) { + ex.printStackTrace(); + System.out.println("ERROR: "+ex.getMessage()); + } + } + + if (!ok) { + System.out.println(); + System.out.println("FeedReader reads and prints any RSS/Atom feed type."); + System.out.println("The first parameter must be the URL of the feed to read."); + System.out.println(); + } + } + +} +
Software requirements: J2SE 1.4+, Servlet Container 2.3+, JDOM 1.0 and ROME 0.5.
+This sample consists of a servlet that serves a feed as response. The feed type (RSS in any of its variants or Atom) can be specified as a URL parameter when requesting the feed. The returned feed is hardwired in the sample and it would be straight forward to modify the sample to generate the feed dynamically (i.e. from data stored in a database).
+The core logic of the FeedServlet is in the following fragment of code:
++public class FeedServlet extends HttpServlet { + ... + + public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException { + ... + SyndFeed feed = getFeed(req); + + String feedType = req.getParameter(FEED_TYPE); + feedType = (feedType!=null) ? feedType : _defaultFeedType; + feed.setFeedType(feedType); + + res.setContentType(MIME_TYPE); + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,res.getWriter()); + ... + } + + protected SyndFeed getFeed(HttpServletRequest req) throws IOException,FeedException { + SyndFeed feed = new SyndFeedImpl(); + feed = ... + return feed; + } + +} +
The servlet returns a feed upon HTTP GET requests with the doGet() method.
+First the SyndFeed bean is obtained by invoking the getFeed() method, the request object is passed as it could be used to obtain request contextual information to create the feed. How to create a feed using SyndFeed bean is explained in detail in the Using ROME to create and write a feed Tutorial.
+Then the feed type of the response is determined, first looking at the request parameters and falling back to a default feed type (specified by a servlet init parameter) if the type is not indicated in the request parameters. Setting the feed type in the feed bean will indicate the SyndFeedOutput the feed type to output.
+Finally, the response is set with the proper content type (the MIME_TYPE constant is 'application/xml; charset=UTF-8') and the feed is written to response writer using the SyndFeedOutput output classes.
+Following is the full code for the servlet.
++package com.sun.syndication.samples.servlet; + +import com.sun.syndication.feed.synd.*; +import com.sun.syndication.io.FeedException; +import com.sun.syndication.io.SyndFeedOutput; + +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; + +/** + * Sample Servlet that serves a feed created with ROME. + * <p> + * The feed type is determined by the 'type' request parameter, if the parameter is missing it defaults + * to the 'default.feed.type' servlet init parameter, if the init parameter is missing it defaults to 'atom_0.3' + * <p> + * @author Alejandro Abdelnur + * + */ +public class FeedServlet extends HttpServlet { + private static final String DEFAULT_FEED_TYPE = "default.feed.type"; + private static final String FEED_TYPE = "type"; + private static final String MIME_TYPE = "application/xml; charset=UTF-8"; + private static final String COULD_NOT_GENERATE_FEED_ERROR = "Could not generate feed"; + + private static final DateFormat DATE_PARSER = new SimpleDateFormat("yyyy-MM-dd"); + + private String _defaultFeedType; + + public void init() { + _defaultFeedType = getServletConfig().getInitParameter(DEFAULT_FEED_TYPE); + _defaultFeedType = (_defaultFeedType!=null) ? _defaultFeedType : "atom_0.3"; + } + + public void doGet(HttpServletRequest req,HttpServletResponse res) throws IOException { + try { + SyndFeed feed = getFeed(req); + + String feedType = req.getParameter(FEED_TYPE); + feedType = (feedType!=null) ? feedType : _defaultFeedType; + feed.setFeedType(feedType); + + res.setContentType(MIME_TYPE); + SyndFeedOutput output = new SyndFeedOutput(); + output.output(feed,res.getWriter()); + } + catch (FeedException ex) { + String msg = COULD_NOT_GENERATE_FEED_ERROR; + log(msg,ex); + res.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,msg); + } + } + + protected SyndFeed getFeed(HttpServletRequest req) throws IOException,FeedException { + SyndFeed feed = new SyndFeedImpl(); + + feed.setTitle("Sample Feed (created with ROME)"); + feed.setLink("http://rome.dev.java.net"); + feed.setDescription("This feed has been created using ROME (Java syndication utilities"); + + List entries = new ArrayList(); + SyndEntry entry; + SyndContent description; + + entry = new SyndEntryImpl(); + entry.setTitle("ROME v0.1"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/rome01"); + try { + entry.setPublishedDate(DATE_PARSER.parse("2004-06-08")); + } + catch (ParseException ex) { + // IT CANNOT HAPPEN WITH THIS SAMPLE + } + description = new SyndContentImpl(); + description.setType("text/plain"); + description.setValue("Initial release of ROME"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntryImpl(); + entry.setTitle("Rome v0.2"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/rome02"); + try { + entry.setPublishedDate(DATE_PARSER.parse("2004-06-16")); + } + catch (ParseException ex) { + // IT CANNOT HAPPEN WITH THIS SAMPLE + } + description = new SyndContentImpl(); + description.setType("text/plain"); + description.setValue("Bug fixes, minor API changes and some new features"+ + "<p>For details check the <a href=\"https://rometools.jira.com/wiki/display/ROME/Change+Log#ChangeLog-Changesmadefromv0.2tov0.3\">Changes Log for 0.2</a></p>"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntryImpl(); + entry.setTitle("ROME v0.3"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/rome03"); + try { + entry.setPublishedDate(DATE_PARSER.parse("2004-07-27")); + } + catch (ParseException ex) { + // IT CANNOT HAPPEN WITH THIS SAMPLE + } + description = new SyndContentImpl(); + description.setType("text/html"); + description.setValue("<p>Bug fixes, API changes, some new features and some Unit testing</p>"+ + "<p>For details check the <a href=\"https://rometools.jira.com/wiki/display/ROME/Change+Log#ChangeLog-Changesmadefromv0.3tov0.4\">Changes Log for 0.3</a></p>"); + entry.setDescription(description); + entries.add(entry); + + entry = new SyndEntryImpl(); + entry.setTitle("ROME v0.4"); + entry.setLink("http://wiki.java.net/bin/view/Javawsxml/rome04"); + try { + entry.setPublishedDate(DATE_PARSER.parse("2004-09-24")); + } + catch (ParseException ex) { + // IT CANNOT HAPPEN WITH THIS SAMPLE + } + description = new SyndContentImpl(); + description.setType("text/html"); + description.setValue("<p>Bug fixes, API changes, some new features, Unit testing completed</p>"+ + "<p>For details check the <a href=\"https://rometools.jira.com/wiki/display/ROME/Change+Log#ChangeLog-Changesmadefromv0.4tov0.5\">Changes Log for 0.4</a></p>"); + entry.setDescription(description); + entries.add(entry); + + feed.setEntries(entries); + + return feed; + } + +} +
To use the FeedServlet we need to create a Web Application. For the Web Application we need a deployment descriptor, the web.xml file:
++<?xml version="1.0" encoding="UTF-8"?> + +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> +<web-app> + <display-name>ROME Samples</display-name> + + <servlet> + <servlet-name>FeedServlet</servlet-name> + <servlet-class>com.sun.syndication.samples.servlet.FeedServlet</servlet-class> + <init-param> + <param-name>default.feed.type</param-name> + <param-value>rss_2.0</param-value> + </init-param> + </servlet> + + <servlet-mapping> + <servlet-name>FeedServlet</servlet-name> + <url-pattern>/feed</url-pattern> + </servlet-mapping> + +</web-app> +
To build the sample Web Application, just run maven war in the samples sub-project. The WAR file, rome-samples.war, will be created under the target directory. Deploy the WAR in a servlet container and the FeedServlet should be up an running. If you are using Tomcat 4 or Tomcat 5 and the WAR file was dropped in the ${TOMCAT}/webapps directory the URL for the FeedServlet would be http://localhost:8080/rome-samples/feed in a default localhost Tomcat installation.
The CopyFrom interface defines functionality similar to a deep cloning. The difference with the clone() method (besides the deep cloning requirements) is that the object to be the copy of the original one has to be explicitly created and it is this object the one that triggers the deep copying process. Implemetations of the CopyFrom interface should work propertly on arrays, collections, CopyFrom and basic type properties.
+Using CopyFrom objects enables copying data between different implementations of a given interface without these implementation having to know about each other.
+CopyFrom is unidirectional. A class implementing the CopyFrom knows how to extract properties from the given class (commonly having an interface in common).
+A simple example using the CopyFrom interface is:
++ public interface Foo extends CopyFrom { + public void setName(String name); + public String getName(); + + public void setValues(Set values); + public Set getValues(); + } + + public class FooImplA implements Foo { + private String _name; + private Set _values; + + public void setName(String name) { + _name = name; + } + + public String getName() { + return _name; + } + + public void setValues(Set values) { + _values = values; + } + + public Set getValues() { + return _values; + } + + public void copyFrom(Object obj) { + Foo other = (Foo) obj; + setName(other.getName()); + setValues(new HashSet(other.getValues()); + } + + public Class getInterface() { + return Foo.class; + } + } + + public class FooImplB implements Foo { + private Map _data; + + public FooImplB() { + _data = new HashMap(); + } + + public void setName(String name) { + _data.put("name",name); + } + + public String getName() { + return (String) _data.get("name"); + } + + public void setValues(Set values) { + _data.put("values",values); + } + + public Set getValues() { + return (Set) _data.get("values"); + } + + public void copyFrom(Object obj) { + Foo other = (Foo) obj; + setName(other.getName()); + setValues(new HashSet(other.getValues()); + } + + public Class getInterface() { + return Foo.class; + } + } +
A use case for the CopyFrom functionality is a Java Bean implementation of an interface and a persistency implementation (such as Hibernate) of the the same interface that may add extra persistency related properties to the bean (ie, the 'Id' property as the persistency layer primary key).
+For bean, array and collection properties the bean being invoked which copyFrom() method is invoked is responsible for those properties.
+For properties implementing the CopyFrom interface, the bean must create a property instance implementing the interface returned by the getInterface() method. This allows the bean doing the copyFrom() to handle specialized subclasses of property elements propertly. This is also applicacle to array and collection properties. The 'modules' property of the SyndFeed and SyndEntry beans is a use case of this feature where the copyFrom() invocation must create different beans subclasses for each type of module, the getInteface() helps to find the right implementation.
ROME bean utilities are not part of ROME public API. They are used by the default implementation of ROME beans and it may be useful for alternate implementations as well. It is important to keep in mind that these APIs are not public and they are subject to change breaking backward compatibility.
+Rome com.sun.syndication.feed.impl package contains a set of Java classes that provide support for all the basic features Java Beans commonly must have: toString, equals, hashcode and cloning.
+By using these classes Beans don't have to hand code these functions. This greatly simplifies things when Beans have several properties, collection properties and composite properties.
+The CloneableBean, EqualsBean, ToStringBean and ObjectBean classes use instrospection on the properties of the classes using them. This is done recursively on all properties. All ROME Beans default implementations leverage these classes.
+Beans implementing the ToString interface must implement the toString(String prefix) method. This method must print the bean properties names and values, one per per line, separating the name and value with an '=' sign and prefixing the name with the given prefix parameter using the same notation used in the JSP expression language used in JSTL and in JSP 2.0. This must be done recursively for all array, collection and ToString properties.
+The ToStringBean class provides an implementation of the toString() method producing a detailed output of all the properties of the Bean being processed. The ToStringBean constructor takes the class definition the ToStringBean class should use for properties scanning -using instrospection- for printing, normally it is the class of the Bean using the ToStringBean.
+ public class MyBean { + + public Foo getFoo() { ... } + public void setFoo(Foo foo) { ... } + + public String getName() { ... } + public void setName(String name) { ... } + + public List getValues() { ... } + public void setValues(List values) { ... } + + public String toString(String prefix) { + ToStringBean tsBean = new ToStringBean(MyBean.class,this); + return tsBean.toString(prefix); + } + + public String toString() { + return toString("myBean"); + } + } +
The EqualsBean class provides a recursive introspetion-based implementation of the equals() and hashCode() methods working on the Bean properties. The EqualsBean constructor takes the class definition that should be properties scanned (using introspection) by the equals() and thehashCode() methods. The EqualsBean class works on array, collection, bean and basic type properties.
++ public class MyBean { + + public Foo getFoo() { ... } + public void setFoo(Foo foo) { ... } + + public String getName() { ... } + public void setName(String name) { ... } + + public List getValues() { ... } + public void setValues(List values) { ... } + + public boolean equals(Object obj) { + EqualsBean eBean = new EqualsBean(MyBean.class,this); + return eBean.beanEquals(obj); + } + + public int hashCode() { + EqualsBean equals = new EqualsBean(MyBean.class,this); + return equals.beanHashCode(); + } + } +
The CloneableBean class provides a recursive introspetion-based implementation of the clone() method working on the Bean properties. The CloneableBean class works on array, collection, bean and basic type properties.
++ public class MyBean implements Cloneable { + + public Foo getFoo() { ... } + public void setFoo(Foo foo) { ... } + + public String getName() { ... } + public void setName(String name) { ... } + + public List getValues() { ... } + public void setValues(List values) { ... } + + public Object clone() { + CloneableBean cBean = new CloneableBean(this); + return cBean.beanClone(); + } + } +
By default, the CloneableBean copies all properties of the given object. It also supports an ignore-properties set, the property names in this set will not be copied to the cloned instance. This is useful for cases where the Bean has convenience properties (properties that are actually references to other properties or properties of properties). For example SyndFeed and SyndEntry beans have convenience properties, publishedDate, author, copyright and categories all of them mapped to properties in the DC Module.
The ObjectBean is a convenience bean providing ToStringBean, EqualsBean and CloneableBean functionality support. Also, ObjectBeans implements the Serializable interface making the beans serializable if all its properties are. Beans extending ObjectBean get toString(), equals(),hashCode() and clone() support as defined above.
+And example of using the ObjectBean class is:
++ public class MyBean extends ObjectBean { + + public MyBean() { + super(MyBean.class); + } + + public Foo getFoo() { ... } + public void setFoo(Foo foo) { ... } + + public String getName() { ... } + public void setName(String name) { ... } + + public List getValues() { ... } + public void setValues(List values) { ... } + } +
It can also be used in delegation mode instead as some of the previous examples.
Determining the charset set encoding of an XML document it may prove not as easy as it seems, and when the XML document is served over HTTP things get a little more hairy.
+Current Java libraries or utilities don't do this by default, A JAXP SAX parser may detect the charset encoding of a XML document looking at the first bytes of the stream as defined Section 4.3.3 and Appendix F.1 of the in XML 1.0 (Third Edition) specification. But Appendix F.1 is non-normative and not all Java XML parsers do it right now. For example the JAXP SAX parser implementation in J2SE 1.4.2 does not handle Appendix F.1 and Xerces 2.6.2 just added support for it. But still this does not solve the whole problem. JAXP SAX parsers are not aware of the HTTP transport rules for charset encoding resolution as defined by RFC 3023. They are not because they operate on a byte stream or a char stream without any knowledge of the stream transport protocol, HTTP in this case.
+Mark Pilgrim did a very good job explaining how the charset encoding should be determined, Determining the character encoding of a feed and XML on the Web Has Failed.
+To isolate developers from this issue ROME has a special character stream class, the XmlReader. The XmlReader class is a subclass of the java.io.Reader that detects the charset encoding of XML documents read from files, input streams, URLs and input streams obtained over HTTP. Ideally this should be built into the JAXP SAX classes, most likely in the InputSource class.
+It is very common for many sites, due to improper configuration or lack of knowledge, to declare an invalid charset encoding. Invalid according to the XML 1.0 specification and the RFC 3023. For example a mismatch between the implicit charset encoding in the HTTP content-type and the explicit charset encoding in the XML prolog.
+Because of this, ROME XmlReader by default has a lenient detection. This lenient detection works in the following order:
+The XmlReader class has 2 constructors that allow a strict (non-lenient) charset encoding detection to be performed. This constructors take a lenient boolean flag, the flag should be set to false for a strict detection.
Following it's a detailed explanation on the algorithms the XmlReader uses to determine the charset encoding. These algorithms first appeared in Tucu's Weblog.
Detection of the charset encoding of a XML document without external information (i.e. reading a XML document from a file). Following Section 4.3.3 and Appendix F.1 of the XML 1.0 specification the charset encoding of an XML document is determined as follows:
++BOMEnc : byte order mark. Possible values: 'UTF-8', 'UTF-16BE', 'UTF-16LE' or NULL +XMLGuessEnc: best guess using the byte representation of the first bytes of XML declaration + ('<?xml...?>') if present. Possible values: 'UTF-8', 'UTF-16BE', 'UTF-16LE' or NULL +XMLEnc : encoding in the XML declaration ('<?xml encoding="..."?>'). Possible values: anything or NULL + +if BOMEnc is NULL + if XMLGuessEnc is NULL or XMLEnc is NULL + encoding is 'UTF-8' [1.0] + else + if XMLEnc is 'UTF-16' and (XMLGuessEnc is 'UTF-16BE' or XMLGuessEnc is 'UTF-16LE') + encoding is XMLGuessEnc [1.1] + else + encoding is XMLEnc [1.2] +else +if BOMEnc is 'UTF-8' + if XMLGuessEnc is not NULL and XMLGuessEnc is not 'UTF-8' + ERROR, encoding mismatch [1.3] + if XMLEnc is not NULL and XMLEnc is not 'UTF-8' + ERROR, encoding mismatch [1.4] + encoding is 'UTF-8' +else +if BOMEnc is 'UTF-16BE' or BOMEnc is 'UTF-16LE' + if XMLGuessEnc is not NULL and XMLGuessEnc is not BOMEnc + ERROR, encoding mismatch [1.5] + if XMLEnc is not NULL and XMLEnc is not 'UTF-16' and XMLEnc is not BOMEnc + ERROR, encoding mismatch [1.6] + encoding is BOMEnc +else + ERROR, cannot happen given BOMEnc possible values (see above) [1.7] +
Byte Order Mark encoding and XML guessed encoding detection rules are clearly explained in the XML 1.0 Third Edition Appendix F.1. Note that in this algorithm BOMEnc and XMLGuessEnc are restricted to UTF-8 and UTF-16* encodings.
+Detection of the charset encoding of a XML document with external information (provided by HTTP). Following Section 4.3.3, Appendix F.1 and Appendix F.2 of the XML 1.0 specification, plus RFC 3023 the charset encoding of an XML document served over HTTP is determined as follows:
++ContentType: Content-Type HTTP header +CTMime : MIME type defined in the ContentType +CTEnc : charset encoding defined in the ContentType, NULL otherwise +BOMEnc : byte order mark. Possible values: 'UTF-8', 'UTF-16BE', 'UTF-16LE' or NULL +XMLGuessEnc: best guess using the byte representation of the first bytes of XML declaration + ('<?xml...?>') if present. Possible values: 'UTF-8', 'UTF-16BE', 'UTF-16LE' or NULL +XMLEnc : encoding in the XML declaration ('<?xml encoding="..."?>'). Possible values: anything or NULL +APP-XML : RFC 3023 defined 'application/*xml' types +TEXT-XML : RFC 3023 defined 'text/*xml' types + +if CTMime is APP-XML or CTMime is TEXT-XML + if CTEnc is NULL + if CTMime is APP-XML + encoding is determined using the Raw XML charset encoding detection algorithm [2.0] + else + if CTMime is TEXT-XML + encoding is 'US-ASCII' [2.1] + else + if (CTEnc is 'UTF-16BE' or CTEnc is 'UTF-16LE') and BOMEnc is not NULL + ERROR, RFC 3023 explicitly forbids this [2.2] + else + if CTEnc is 'UTF-16' + if BOMEnc is 'UTF-16BE' or BOMEnc is 'UTF-16LE' + encoding is BOMEnc [2.3] + else + ERROR, missing BOM or encoding mismatch [2.4] + else + encoding is CTEnc [2.5] +else + ERROR, handling for other MIME types is undefined [2.6] +
Byte Order Mark encoding and XML guessed encoding detection rules are clearly explained in the XML 1.0 Third Edition Appendix F.1. Note that in this algorithm BOMEnc and XMLGuessEnc are restricted to UTF-8 and UTF-16* encodings.
+The following tutorials show how to use the ROME API. They focus on the higher abstraction layer of classes offered by ROME, what we call the Synd* classes. By using the Synd* classes developers don't have to deal with the specifics of any syndication feed. They work with normalized feeds, the Synd* feeds. This makes it much easier to write applications that have to deal with all the variety of syndication feed types in use today.
+For instructions on how to build and run the samples used in the tutorials click here.
Rome API allows developers to work with classes that closely resemble a particular syndication feed type. For example, the Channel class for RSS feeds and the Feed class for Atom feeds. All the Synd* classes, which leverage the RSS and Atom specific classes, are the bridge to go from one syndication type to another.
+For day to day coding, we found ourselves using the Synd* classes (in com.sun.syndication.feed.synd, com.sun.syndication.feed.module and com.sun.syndication.io packages) as we need to do applications that understand the different syndication feed types. And it is much simpler to work with a higher and independent abstraction.
Before we started with Rome we've evaluated other Java syndication management libraries to see if they'd fit our criteria. Feel free to update this evaluation if we forgot or mischaracterized your favorite library: this is a wiki after all:-)
+The Informa: RSS Library for Java which exists since 2002 is too complicated to grasp and use. As of this writing it has 19 interfaces and 12 marker interfaces. It supports all RSS flavors in input, and only 1.0 and 0.91 in output.
+No RSS 2.0 output.
+No support for Atom at all.
+They have some interesting features such as Hibernate and Castor based database serialization, and JSP taglibs, which are useful paraphernalia for server side application development. This seems to be their main focus of development today.
+But we prefer to focus on our ESCAPE design criteria, so that our library does one thing really well: syndication parsing, abstract representation and conversion from/to all formats.
+Thus our library will be useful for both client and server side developers.
+We will develop the server side add-on later when the basics will be well oiled.
+RSS4J was released in version 0.92 in april 2002. It did not evolve since then.
+The web site explains:
+This toolkit supports the three most commonly used RSS standards - 0.90 (the original), 0.91 and 1.0. RSS 0.92 and 0.93 are not supported due to the dramatic changes it makes to the format and the fact that 1.0 is already finalized.
+No need to say more: it seems to be a dead project and doesn't even start to address our requirements.
RSS Utilities seems like a one-shot project from Rodrigo Oliveira, released in august 2003. It is a taglib to display RSS in JSPs, and includes a small parser for RSS 0.91, 0.92 and 2.0.
+It does not seem to be maintained, does not address RSS 1.0 and Atom.
+I would encourage Rodrigo to rewrite his taglibs using Rome as the parser, and eventually to contribute them to Rome.
RSSLibJ is a full-Java RSS generation and consumption library, primarily centering on generating RSS feeds but able to consume them as well. It's maintained, but undergoing a refactoring to change a rather undesirable dependency.
+(This isn't a review - this was added by one of RSSLibJ 's authors.)
Various flavors of RSS and Atom syndication formats were reaching a tipping point in 2004. At Sun we started various projects involving these Syndication formats, but when looking around for Java libraries to take care of the parsing and generation of RSS we were not satisfied with what we found. Project ROME was started out of this frustration.
+Our requirements are to ESCAPE from Syndication Feeds Hell. In order to allow that the library must be:
+* - not so, it was originally "RDF Site Summary", see: RSS History
+We set out to create this library in the same spirit as the JDOM library for XML manipulation in Java, incorporating XOM's Elliotte Rusty Harold's pearls of wisdom about API design and refactoring (see Air Bags and Other Design Principles which links his 6 interviews with Bill Venners). ROME implementation uses JDOM.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface CopyFrom<T>
+
+Method Summary | +|
---|---|
+ void |
+copyFrom(CopyFrom obj)
+
++ Copies all the properties of the given bean into this one. |
+
+ Class<? extends CopyFrom> |
+getInterface()
+
++ Returns the interface the copyFrom works on. |
+
+Method Detail | +
---|
+Class<? extends CopyFrom> getInterface()+
+ This is useful when dealing with properties that may have multiple implementations. + For example, Module. +
+
+
+void copyFrom(CopyFrom obj)+
+ Any existing properties in this bean are lost. +
+ This method is useful for moving from one implementation of a bean interface to another. + For example from the default SyndFeed bean implementation to a Hibernate ready implementation. +
+
+
obj
- the instance to copy properties from.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.WireFeed ++
public abstract class WireFeed
+Parent class of the RSS (Channel) and Atom (Feed) feed beans. +
+ NOTE: We don't like this class at this package level but the alternative would have + been a proliferation of packages (one more level to hold atom and rss package with + this class just in that package). +
+ The format of the 'type' property must be [FEEDNAME]_[FEEDVERSION] with the FEEDNAME in lower case, + for example: rss_0.9, rss_0.93, atom_0.3 +
+
+ +
+
+Constructor Summary | +|
---|---|
+protected |
+WireFeed()
+
++ Default constructor, for bean cloning purposes only. |
+
+protected |
+WireFeed(String type)
+
++ Creates a feed for a given type. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getEncoding()
+
++ Returns the charset encoding of a the feed. |
+
+ String |
+getFeedType()
+
++ Returns the type of the feed. |
+
+ Object |
+getForeignMarkup()
+
++ Returns foreign markup found at channel level. |
+
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List<Module> |
+getModules()
+
++ Returns the channel modules. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setEncoding(String encoding)
+
++ Sets the charset encoding of a the feed. |
+
+ void |
+setFeedType(String feedType)
+
++ Sets the feedType of a the feed. |
+
+ void |
+setForeignMarkup(Object foreignMarkup)
+
++ Sets foreign markup found at channel level. |
+
+ void |
+setModules(List<Module> modules)
+
++ Sets the channel modules. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+protected WireFeed()+
+
+
+protected WireFeed(String type)+
+
+
type
- of the feed to create.+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public void setFeedType(String feedType)+
+
+
feedType
- the feedType of the feed.+public String getFeedType()+
+
+public String getEncoding()+
+ This property is not set by feed parsers. But it is used by feed generators + to set the encoding in the XML prolog. +
+
+
+public void setEncoding(String encoding)+
+ This property is not set by feed parsers. But it is used by feed generators + to set the encoding in the XML prolog. +
+
+
encoding
- the charset encoding of the feed.+public List<Module> getModules()+
+
+
getModules
in interface Extendable
+public void setModules(List<Module> modules)+
+
+
setModules
in interface Extendable
modules
- the list of ModuleImpl elements with the channel modules to set,
+ an empty list or null if none.+public Module getModule(String uri)+
+
+
getModule
in interface Extendable
uri
- the URI of the ModuleImpl.
++public Object getForeignMarkup()+
+
+
+public void setForeignMarkup(Object foreignMarkup)+
+
+
foreignMarkup
- Opaque object to discourage use
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.atom.Category ++
public class Category
+Bean for category elements of Atom feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Category()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getLabel()
+
++ Get label for category. |
+
+ String |
+getScheme()
+
++ Get Scheme URI for category. |
+
+ String |
+getSchemeResolved()
+
++ |
+
+ String |
+getTerm()
+
++ Return term for category. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setLabel(String label)
+
++ Set label for category. |
+
+ void |
+setScheme(String scheme)
+
++ Set scheme URI for category. |
+
+ void |
+setSchemeResolved(String schemeResolved)
+
++ |
+
+ void |
+setTerm(String term)
+
++ Set term for category. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Category()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getLabel()+
+
+
+public void setLabel(String label)+
+
+
label
- Label for category.+public String getScheme()+
+
+
+public void setScheme(String scheme)+
+
+
scheme
- Scheme URI for category.+public void setSchemeResolved(String schemeResolved)+
+public String getSchemeResolved()+
+public String getTerm()+
+
+
+public void setTerm(String term)+
+
+
term
- Term for category.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.atom.Content ++
public class Content
+Bean for content elements of Atom feeds. +
+
+ +
+
+Field Summary | +|
---|---|
+static String |
+BASE64
+
++ Atom 0.3 only |
+
+static String |
+ESCAPED
+
++ Atom 0.3 only |
+
+static String |
+HTML
+
++ |
+
+static String |
+TEXT
+
++ |
+
+static String |
+XHTML
+
++ |
+
+static String |
+XML
+
++ Atom 0.3 only |
+
+Constructor Summary | +|
---|---|
Content()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getMode()
+
++ Returns the content mode (Atom 0.3 only). |
+
+ String |
+getSrc()
+
++ Returns the src + |
+
+ String |
+getType()
+
++ Returns the content type. |
+
+ String |
+getValue()
+
++ Returns the content value. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setMode(String mode)
+
++ Sets the content mode (Atom 0.3 only). |
+
+ void |
+setSrc(String src)
+
++ Set the src + |
+
+ void |
+setType(String type)
+
++ Sets the content type. |
+
+ void |
+setValue(String value)
+
++ Sets the content value. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Field Detail | +
---|
+public static final String TEXT+
+public static final String HTML+
+public static final String XHTML+
+public static final String XML+
+
+public static final String BASE64+
+
+public static final String ESCAPED+
+
+Constructor Detail | +
---|
+public Content()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getType()+
+ The type indicates how the value was/will-be encoded in the XML feed. +
++
+public void setType(String type)+
+ The type indicates how the value was/will-be encoded in the XML feed. +
++
+public String getMode()+
+ The mode indicates how the value was/will-be encoded in the XML feed. +
+
+
+public void setMode(String mode)+
+ The mode indicates how the value was/will-be encoded in the XML feed. +
+
+
mode
- the content mode, null if none.+public String getValue()+
+ The return value should be decoded. +
+
+
+public void setValue(String value)+
+ The value being set should be decoded. +
+
+
value
- the content value, null if none.+public String getSrc()+
+
+
+public void setSrc(String src)+
+
+
src
- The src to set.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.atom.Entry ++
public class Entry
+Bean for entry elements of Atom feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Entry()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ Link |
+findRelatedLink(String relation)
+
++ |
+
+ List<Link> |
+getAlternateLinks()
+
++ Returns the entry alternate links. |
+
+ List<Person> |
+getAuthors()
+
++ Returns the entry author. |
+
+ List |
+getCategories()
+
++ Returns the categories + |
+
+ List<Content> |
+getContents()
+
++ Returns the entry contents. |
+
+ List<Person> |
+getContributors()
+
++ Returns the entry contributors. |
+
+ Date |
+getCreated()
+
++ Returns the entry created date (Atom 0.3 only) + |
+
+ Object |
+getForeignMarkup()
+
++ Returns foreign markup found at entry level. |
+
+ String |
+getId()
+
++ Returns the entry ID. |
+
+ Date |
+getIssued()
+
++ Returns the entry issued date (Atom 0.3, maps to getPublished() ). |
+
+ Date |
+getModified()
+
++ Returns the entry modified date (Atom 0.3, maps to getUpdated() ). |
+
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List |
+getModules()
+
++ Returns the entry modules. |
+
+ List<Link> |
+getOtherLinks()
+
++ Returns the entry non-alternate links. |
+
+ Date |
+getPublished()
+
++ Returns the published + |
+
+ String |
+getRights()
+
++ Returns the rights + |
+
+ Feed |
+getSource()
+
++ Returns the source + |
+
+ Content |
+getSummary()
+
++ Returns the entry summary. |
+
+ String |
+getTitle()
+
++ Returns the entry title. |
+
+ Content |
+getTitleEx()
+
++ Returns the entry title as a text construct. |
+
+ Date |
+getUpdated()
+
++ Returns the updated + |
+
+ String |
+getXmlBase()
+
++ Returns the xmlBase + |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ boolean |
+isMediaEntry()
+
++ Returns true if entry is a media entry, i.e. has rel="edit-media". |
+
+ void |
+setAlternateLinks(List<Link> alternateLinks)
+
++ Sets the entry alternate links. |
+
+ void |
+setAuthors(List<Person> authors)
+
++ Sets the author of the entry. |
+
+ void |
+setCategories(List categories)
+
++ Set the categories + |
+
+ void |
+setContents(List contents)
+
++ Sets the entry contents. |
+
+ void |
+setContributors(List<Person> contributors)
+
++ Sets the entry contributors. |
+
+ void |
+setCreated(Date created)
+
++ Sets the entry created date (Atom 0.3 only) + |
+
+ void |
+setForeignMarkup(Object foreignMarkup)
+
++ Sets foreign markup found at entry level. |
+
+ void |
+setId(String id)
+
++ Sets the entry ID. |
+
+ void |
+setIssued(Date issued)
+
++ Sets the entry issued date (Atom 0.3, maps to setPublished(java.util.Date) ). |
+
+ void |
+setModified(Date modified)
+
++ Sets the entry modified date (Atom 0.3, maps to setUpdated(java.util.Date) ). |
+
+ void |
+setModules(List modules)
+
++ Sets the entry modules. |
+
+ void |
+setOtherLinks(List<Link> otherLinks)
+
++ Sets the entry non-alternate links. |
+
+ void |
+setPublished(Date published)
+
++ Set the published + |
+
+ void |
+setRights(String rights)
+
++ Set the rights + |
+
+ void |
+setSource(Feed source)
+
++ Set the source + |
+
+ void |
+setSummary(Content summary)
+
++ Sets the entry summary. |
+
+ void |
+setTitle(String title)
+
++ Sets the entry title. |
+
+ void |
+setTitleEx(Content title)
+
++ Sets the entry title as a text construct. |
+
+ void |
+setUpdated(Date updated)
+
++ Set the updated + |
+
+ void |
+setXmlBase(String xmlBase)
+
++ Set the xmlBase + |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Entry()+
+
+
+Method Detail | +
---|
+public void setAlternateLinks(List<Link> alternateLinks)+
+
+
alternateLinks
- the list of Link elements with the entry alternate links to set,
+ an empty list or null if none.+public List<Link> getAlternateLinks()+
+
+
+public void setAuthors(List<Person> authors)+
+
+
authors
- the author of the entry, null if none.+public List<Person> getAuthors()+
+
+
+public void setCategories(List categories)+
+
+
categories
- The categories to set.+public List getCategories()+
+
+
+public void setContents(List contents)+
+
+
contents
- the list of Content elements with the entry contents to set,
+ an empty list or null if none.+public List<Content> getContents()+
+
+
+public void setContributors(List<Person> contributors)+
+
+
contributors
- the list of Person elements with the entry contributors to set,
+ an empty list or null if none.+public List<Person> getContributors()+
+
+
+public void setCreated(Date created)+
+
+
created
- the entry created date, null if none.+public Date getCreated()+
+
+
+public void setForeignMarkup(Object foreignMarkup)+
+
+
foreignMarkup
- Opaque object to discourage use+public Object getForeignMarkup()+
+
+
+public void setId(String id)+
+
+
id
- the entry ID, null if none.+public String getId()+
+
+
+public void setIssued(Date issued)+
setPublished(java.util.Date)
).
+ +
+
issued
- the entry issued date, null if none.+public Date getIssued()+
getPublished()
).
+ +
+
+public boolean isMediaEntry()+
+
+public void setModified(Date modified)+
setUpdated(java.util.Date)
).
+ +
+
modified
- the entry modified date, null if none.+public Date getModified()+
getUpdated()
).
+ +
+
+public Module getModule(String uri)+
+
+
getModule
in interface Extendable
uri
- the URI of the ModuleImpl.
++public void setModules(List modules)+
+
+
setModules
in interface Extendable
modules
- the list of ModuleImpl elements with the entry modules to set,
+ an empty list or null if none.+public List getModules()+
+
+
getModules
in interface Extendable
+public void setOtherLinks(List<Link> otherLinks)+
+
+
otherLinks
- the list Link elements with the entry non-alternate links to set,
+ an empty list or null if none.+public List<Link> getOtherLinks()+
+
+
+public void setPublished(Date published)+
+
+
published
- The published to set.+public Date getPublished()+
+
+
+public void setRights(String rights)+
+
+
rights
- The rights to set.+public String getRights()+
+
+
+public void setSource(Feed source)+
+
+
source
- The source to set.+public Feed getSource()+
+
+
+public void setSummary(Content summary)+
+
+
summary
- the entry summary, null if none.+public Content getSummary()+
+
+
+public void setTitle(String title)+
+
+
title
- the entry title, null if none.+public String getTitle()+
+
+
+public void setTitleEx(Content title)+
+
+
title
- the entry title, null if none.+public Content getTitleEx()+
+
+
+public void setUpdated(Date updated)+
+
+
updated
- The updated to set.+public Date getUpdated()+
+
+
+public void setXmlBase(String xmlBase)+
+
+
xmlBase
- The xmlBase to set.+public String getXmlBase()+
+
+
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public Link findRelatedLink(String relation)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.WireFeed + com.sun.syndication.feed.atom.Feed ++
public class Feed
+Bean for Atom feeds. +
+ It handles Atom feeds version 0.3 without loosing any feed information. +
+
+ +
+
+Constructor Summary | +|
---|---|
Feed()
+
++ Default constructor, for bean cloning purposes only. |
+|
Feed(String type)
+
++ Feed Constructor. |
+
+Method Summary | +|
---|---|
+ List<Link> |
+getAlternateLinks()
+
++ Returns the feed alternate links. |
+
+ List<Person> |
+getAuthors()
+
++ Returns the feed author. |
+
+ List |
+getCategories()
+
++ Returns the categories + |
+
+ List<Person> |
+getContributors()
+
++ Returns the feed contributors. |
+
+ String |
+getCopyright()
+
++ Returns the feed copyright (Atom 0.3, maps to getRights() ). |
+
+ List<Entry> |
+getEntries()
+
++ Returns the feed entries. |
+
+ Generator |
+getGenerator()
+
++ Returns the feed generator. |
+
+ String |
+getIcon()
+
++ Returns the icon + |
+
+ String |
+getId()
+
++ Returns the feed ID. |
+
+ Content |
+getInfo()
+
++ Returns the feed info (Atom 0.3 only) + |
+
+ String |
+getLanguage()
+
++ Returns the feed language (Atom 0.3 only) + |
+
+ String |
+getLogo()
+
++ Returns the logo + |
+
+ Date |
+getModified()
+
++ Returns the feed modified date (Atom 0.3, maps to getUpdated() ). |
+
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List<Module> |
+getModules()
+
++ Returns the feed modules. |
+
+ List<Link> |
+getOtherLinks()
+
++ Returns the feed other links (non-alternate ones). |
+
+ String |
+getRights()
+
++ Returns the rights + |
+
+ Content |
+getSubtitle()
+
++ Returns the subtitle + |
+
+ Content |
+getTagline()
+
++ Returns the feed tag line (Atom 0.3, maps to getSubtitle() ). |
+
+ String |
+getTitle()
+
++ Returns the feed title. |
+
+ Content |
+getTitleEx()
+
++ Returns the feed title. |
+
+ Date |
+getUpdated()
+
++ Returns the updated + |
+
+ String |
+getXmlBase()
+
++ Returns the xmlBase + |
+
+ void |
+setAlternateLinks(List<Link> alternateLinks)
+
++ Sets the feed alternate links. |
+
+ void |
+setAuthors(List<Person> authors)
+
++ Sets the feed author. |
+
+ void |
+setCategories(List<Category> categories)
+
++ Set the categories + |
+
+ void |
+setContributors(List<Person> contributors)
+
++ Sets the feed contributors. |
+
+ void |
+setCopyright(String copyright)
+
++ Sets the feed copyright (Atom 0.3, maps to setRights(java.lang.String) ). |
+
+ void |
+setEntries(List entries)
+
++ Sets the feed entries. |
+
+ void |
+setGenerator(Generator generator)
+
++ Sets the feed generator. |
+
+ void |
+setIcon(String icon)
+
++ Set the icon + |
+
+ void |
+setId(String id)
+
++ Sets the feed ID. |
+
+ void |
+setInfo(Content info)
+
++ Sets the feed info (Atom 0.3 only) + |
+
+ void |
+setLanguage(String language)
+
++ Sets the feed language (Atom 0.3 only) + |
+
+ void |
+setLogo(String logo)
+
++ Set the logo + |
+
+ void |
+setModified(Date modified)
+
++ Sets the feed modified date (Atom 0.3, maps to setUpdated(java.util.Date) ). |
+
+ void |
+setModules(List<Module> modules)
+
++ Sets the feed moduless. |
+
+ void |
+setOtherLinks(List<Link> otherLinks)
+
++ Sets the feed other links (non-alternate ones). |
+
+ void |
+setRights(String rights)
+
++ Set the rights + |
+
+ void |
+setSubtitle(Content subtitle)
+
++ Set the subtitle + |
+
+ void |
+setTagline(Content tagline)
+
++ Sets the feed tagline (Atom 0.3, maps to setSubtitle(com.sun.syndication.feed.atom.Content) ). |
+
+ void |
+setTitle(String title)
+
++ Sets the feed title. |
+
+ void |
+setTitleEx(Content title)
+
++ Sets the feed title. |
+
+ void |
+setUpdated(Date updated)
+
++ Set the updated + |
+
+ void |
+setXmlBase(String xmlBase)
+
++ Set the xmlBase + |
+
Methods inherited from class com.sun.syndication.feed.WireFeed | +
---|
clone, equals, getEncoding, getFeedType, getForeignMarkup, hashCode, setEncoding, setFeedType, setForeignMarkup, toString |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Feed()+
+
+public Feed(String type)+
+
+
type
- the type of the Atom feed.+Method Detail | +
---|
+public String getLanguage()+
+
+
+public void setLanguage(String language)+
+
+
language
- the feed language to set, null if none.+public String getTitle()+
+
+
+public void setTitle(String title)+
+
+
title
- the feed title to set, null if none.+public Content getTitleEx()+
+
+
+public void setTitleEx(Content title)+
+
+
title
- the feed title to set, null if none.+public List<Link> getAlternateLinks()+
+
+
+public void setAlternateLinks(List<Link> alternateLinks)+
+
+
alternateLinks
- the list of Link elements with the feed alternate links to set,
+ an empty list or null if none.+public List<Link> getOtherLinks()+
+
+
+public void setOtherLinks(List<Link> otherLinks)+
+
+
otherLinks
- the list of Link elements with the feed other links (non-alternate ones) to set,
+ an empty list or null if none.+public List<Person> getAuthors()+
+
+
+public void setAuthors(List<Person> authors)+
+
+
authors
- the feed author to set, null if none.+public List<Person> getContributors()+
+
+
+public void setContributors(List<Person> contributors)+
+
+
contributors
- the list of Person elements with the feed contributors to set,
+ an empty list or null if none.+public Content getTagline()+
getSubtitle()
).
+ +
+
+public void setTagline(Content tagline)+
setSubtitle(com.sun.syndication.feed.atom.Content)
).
+ +
+
tagline
- the feed tagline to set, null if none.+public String getId()+
+
+
+public void setId(String id)+
+
+
id
- the feed ID to set, null if none.+public Generator getGenerator()+
+
+
+public void setGenerator(Generator generator)+
+
+
generator
- the feed generator to set, null if none.+public String getCopyright()+
getRights()
).
+ +
+
+public void setCopyright(String copyright)+
setRights(java.lang.String)
).
+ +
+
copyright
- the feed copyright to set, null if none.+public Content getInfo()+
+
+
+public void setInfo(Content info)+
+
+
info
- the feed info to set, null if none.+public Date getModified()+
getUpdated()
).
+ +
+
+public void setModified(Date modified)+
setUpdated(java.util.Date)
).
+ +
+
modified
- the feed modified date to set, null if none.+public List<Entry> getEntries()+
+
+
+public void setEntries(List entries)+
+
+
entries
- the list of Entry elements with the feed entries to set,
+ an empty list or null if none.+public List<Module> getModules()+
+
+
getModules
in interface Extendable
getModules
in class WireFeed
+public void setModules(List<Module> modules)+
+
+
setModules
in interface Extendable
setModules
in class WireFeed
modules
- the list of ModuleImpl elements with the feed moduless to set,
+ an empty list or null if none.+public Module getModule(String uri)+
+
+
getModule
in interface Extendable
getModule
in class WireFeed
uri
- the URI of the ModuleImpl.
++public List getCategories()+
+
+
+public void setCategories(List<Category> categories)+
+
+
categories
- The categories to set.+public String getIcon()+
+
+
+public void setIcon(String icon)+
+
+
icon
- The icon to set.+public String getLogo()+
+
+
+public void setLogo(String logo)+
+
+
logo
- The logo to set.+public String getRights()+
+
+
+public void setRights(String rights)+
+
+
rights
- The rights to set.+public Content getSubtitle()+
+
+
+public void setSubtitle(Content subtitle)+
+
+
subtitle
- The subtitle to set.+public Date getUpdated()+
+
+
+public void setUpdated(Date updated)+
+
+
updated
- The updated to set.+public String getXmlBase()+
+
+
+public void setXmlBase(String xmlBase)+
+
+
xmlBase
- The xmlBase to set.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.atom.Generator ++
public class Generator
+Bean for the generator element of Atom feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Generator()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getUrl()
+
++ Returns the generator URL. |
+
+ String |
+getValue()
+
++ Returns the generator value. |
+
+ String |
+getVersion()
+
++ Returns the generator version. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setUrl(String url)
+
++ Sets the generator URL. |
+
+ void |
+setValue(String value)
+
++ Sets the generator value. |
+
+ void |
+setVersion(String version)
+
++ Sets the generator version. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Generator()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getUrl()+
+
+
+public void setUrl(String url)+
+
+
url
- the generator URL, null if none.+public String getVersion()+
+
+
+public void setVersion(String version)+
+
+
version
- the generator version, null if none.+public String getValue()+
+
+
+public void setValue(String value)+
+
+
value
- the generator value, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.atom.Link ++
public class Link
+Bean for link elements of Atom feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Link()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getHref()
+
++ Returns the link href. |
+
+ String |
+getHreflang()
+
++ Returns the hreflang + |
+
+ String |
+getHrefResolved()
+
++ |
+
+ long |
+getLength()
+
++ Returns the length + |
+
+ String |
+getRel()
+
++ Returns the link rel. |
+
+ String |
+getTitle()
+
++ Returns the link title. |
+
+ String |
+getType()
+
++ Returns the link type. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setHref(String href)
+
++ Sets the link href. |
+
+ void |
+setHreflang(String hreflang)
+
++ Set the hreflang + |
+
+ void |
+setHrefResolved(String hrefResolved)
+
++ |
+
+ void |
+setLength(long length)
+
++ Set the length + |
+
+ void |
+setRel(String rel)
+
++ Sets the link rel. |
+
+ void |
+setTitle(String title)
+
++ Sets the link title. |
+
+ void |
+setType(String type)
+
++ Sets the link type. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Link()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getRel()+
+
+
+public void setRel(String rel)+
+
+
rel
- the link rel,, null if none.+public String getType()+
+
+
+public void setType(String type)+
+
+
type
- the link type, null if none.+public String getHref()+
+
+
+public void setHref(String href)+
+
+
href
- the link href, null if none.+public void setHrefResolved(String hrefResolved)+
+public String getHrefResolved()+
+public String getTitle()+
+
+
+public void setTitle(String title)+
+
+
title
- the link title, null if none.+public String getHreflang()+
+
+
+public void setHreflang(String hreflang)+
+
+
hreflang
- The hreflang to set.+public long getLength()+
+
+
+public void setLength(long length)+
+
+
length
- The length to set.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.atom.Person ++
public class Person
+Bean for person elements of Atom feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Person()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getEmail()
+
++ Returns the person email. |
+
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List |
+getModules()
+
++ Returns the entry modules. |
+
+ String |
+getName()
+
++ Returns the person name. |
+
+ String |
+getUri()
+
++ Returns the uri + |
+
+ String |
+getUriResolved(String resolveURI)
+
++ |
+
+ String |
+getUrl()
+
++ Returns the person URL (same as getUri() )
+ |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setEmail(String email)
+
++ Sets the person email. |
+
+ void |
+setModules(List modules)
+
++ Sets the entry modules. |
+
+ void |
+setName(String name)
+
++ Sets the personname. |
+
+ void |
+setUri(String uri)
+
++ Set the uri + |
+
+ void |
+setUriResolved(String uriResolved)
+
++ |
+
+ void |
+setUrl(String url)
+
++ Sets the person URL (same as setUri(java.lang.String) )
+ |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Person()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getName()+
+
+
+public void setName(String name)+
+
+
name
- the person name, null if none.+public String getUrl()+
getUri()
)
+ +
+
+public void setUrl(String url)+
setUri(java.lang.String)
)
+ +
+
url
- the person URL, null if none.+public void setUriResolved(String uriResolved)+
+public String getUriResolved(String resolveURI)+
+public String getEmail()+
+
+
+public void setEmail(String email)+
+
+
email
- the person email, null if none.+public String getUri()+
+
+
+public void setUri(String uri)+
+
+
uri
- The uri to set.+public List getModules()+
+
+
getModules
in interface Extendable
+public void setModules(List modules)+
+
+
setModules
in interface Extendable
modules
- the list of ModuleImpl elements with the entry modules to set,
+ an empty list or null if none.+public Module getModule(String uri)+
+
+
getModule
in interface Extendable
uri
- the URI of the ModuleImpl.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Category | +|
---|---|
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Category in com.sun.syndication.feed.atom | +
---|
+ +
Method parameters in com.sun.syndication.feed.atom with type arguments of type Category | +|
---|---|
+ void |
+Feed.setCategories(List<Category> categories)
+
++ Set the categories + |
+
+Uses of Category in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Category | +|
---|---|
+protected org.jdom.Element |
+Atom10Generator.generateCategoryElement(Category cat)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Content | +|
---|---|
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Content in com.sun.syndication.feed.atom | +
---|
+ +
Methods in com.sun.syndication.feed.atom that return Content | +|
---|---|
+ Content |
+Feed.getInfo()
+
++ Returns the feed info (Atom 0.3 only) + |
+
+ Content |
+Feed.getSubtitle()
+
++ Returns the subtitle + |
+
+ Content |
+Entry.getSummary()
+
++ Returns the entry summary. |
+
+ Content |
+Feed.getTagline()
+
++ Returns the feed tag line (Atom 0.3, maps to Feed.getSubtitle() ). |
+
+ Content |
+Entry.getTitleEx()
+
++ Returns the entry title as a text construct. |
+
+ Content |
+Feed.getTitleEx()
+
++ Returns the feed title. |
+
+ +
Methods in com.sun.syndication.feed.atom that return types with arguments of type Content | +|
---|---|
+ List<Content> |
+Entry.getContents()
+
++ Returns the entry contents. |
+
+ +
Methods in com.sun.syndication.feed.atom with parameters of type Content | +|
---|---|
+ void |
+Feed.setInfo(Content info)
+
++ Sets the feed info (Atom 0.3 only) + |
+
+ void |
+Feed.setSubtitle(Content subtitle)
+
++ Set the subtitle + |
+
+ void |
+Entry.setSummary(Content summary)
+
++ Sets the entry summary. |
+
+ void |
+Feed.setTagline(Content tagline)
+
++ Sets the feed tagline (Atom 0.3, maps to Feed.setSubtitle(com.sun.syndication.feed.atom.Content) ). |
+
+ void |
+Entry.setTitleEx(Content title)
+
++ Sets the entry title as a text construct. |
+
+ void |
+Feed.setTitleEx(Content title)
+
++ Sets the feed title. |
+
+Uses of Content in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return Content | +|
---|---|
+protected Content |
+ConverterForAtom10.createAtomContent(SyndContent sContent)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type Content | +|
---|---|
+protected SyndContent |
+ConverterForAtom10.createSyndContent(Content content)
+
++ |
+
+Uses of Content in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Content | +|
---|---|
+protected void |
+Atom10Generator.fillContentElement(org.jdom.Element contentElement,
+ Content content)
+
++ |
+
+protected void |
+Atom03Generator.fillContentElement(org.jdom.Element contentElement,
+ Content content)
+
++ |
+
+protected org.jdom.Element |
+Atom10Generator.generateTagLineElement(Content tagline)
+
++ |
+
+protected org.jdom.Element |
+Atom03Generator.generateTagLineElement(Content tagline)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Entry | +|
---|---|
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Entry in com.sun.syndication.feed.atom | +
---|
+ +
Methods in com.sun.syndication.feed.atom that return types with arguments of type Entry | +|
---|---|
+ List<Entry> |
+Feed.getEntries()
+
++ Returns the feed entries. |
+
+Uses of Entry in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return Entry | +|
---|---|
+protected Entry |
+ConverterForAtom10.createAtomEntry(SyndEntry sEntry)
+
++ |
+
+protected Entry |
+ConverterForAtom03.createAtomEntry(SyndEntry sEntry)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type Entry | +|
---|---|
+ SyndEnclosure |
+ConverterForAtom03.createSyndEnclosure(Entry entry,
+ Link link)
+
++ |
+
+ SyndEnclosure |
+ConverterForAtom10.createSyndEnclosure(Feed feed,
+ Entry entry,
+ Link link)
+
++ |
+
+protected SyndEntry |
+ConverterForAtom03.createSyndEntry(Entry entry,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForAtom10.createSyndEntry(Feed feed,
+ Entry entry,
+ boolean preserveWireItem)
+
++ |
+
+Uses of Entry in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl that return Entry | +|
---|---|
+protected Entry |
+Atom10Parser.parseEntry(Feed feed,
+ org.jdom.Element eEntry,
+ String baseURI)
+
++ |
+
+static Entry |
+Atom10Parser.parseEntry(Reader rd,
+ String baseURI)
+
++ Parse entry from reader. |
+
+ +
Methods in com.sun.syndication.io.impl with parameters of type Entry | +|
---|---|
+protected void |
+Atom10Generator.addEntry(Entry entry,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom03Generator.addEntry(Entry entry,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom10Generator.populateEntry(Entry entry,
+ org.jdom.Element eEntry)
+
++ |
+
+protected void |
+Atom03Generator.populateEntry(Entry entry,
+ org.jdom.Element eEntry)
+
++ |
+
+static void |
+Atom10Generator.serializeEntry(Entry entry,
+ Writer writer)
+
++ Utility method to serialize an entry to writer. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Feed | +|
---|---|
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Feed in com.sun.syndication.feed.atom | +
---|
+ +
Methods in com.sun.syndication.feed.atom that return Feed | +|
---|---|
+ Feed |
+Entry.getSource()
+
++ Returns the source + |
+
+ +
Methods in com.sun.syndication.feed.atom with parameters of type Feed | +|
---|---|
+ void |
+Entry.setSource(Feed source)
+
++ Set the source + |
+
+Uses of Feed in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type Feed | +|
---|---|
+ SyndEnclosure |
+ConverterForAtom10.createSyndEnclosure(Feed feed,
+ Entry entry,
+ Link link)
+
++ |
+
+protected List |
+ConverterForAtom10.createSyndEntries(Feed feed,
+ List atomEntries,
+ boolean preserveWireItems)
+
++ |
+
+protected SyndEntry |
+ConverterForAtom10.createSyndEntry(Feed feed,
+ Entry entry,
+ boolean preserveWireItem)
+
++ |
+
+Uses of Feed in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Feed | +|
---|---|
+protected void |
+Atom10Generator.addEntries(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom03Generator.addEntries(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom10Generator.addFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom03Generator.addFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected org.jdom.Element |
+Atom10Generator.createRootElement(Feed feed)
+
++ |
+
+protected org.jdom.Element |
+Atom03Generator.createRootElement(Feed feed)
+
++ |
+
+protected List |
+Atom10Parser.parseEntries(Feed feed,
+ String baseURI,
+ List eEntries)
+
++ |
+
+protected Entry |
+Atom10Parser.parseEntry(Feed feed,
+ org.jdom.Element eEntry,
+ String baseURI)
+
++ |
+
+protected void |
+Atom10Generator.populateFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom03Generator.populateFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom10Generator.populateFeedHeader(Feed feed,
+ org.jdom.Element eFeed)
+
++ |
+
+protected void |
+Atom03Generator.populateFeedHeader(Feed feed,
+ org.jdom.Element eFeed)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Generator | +|
---|---|
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Generator in com.sun.syndication.feed.atom | +
---|
+ +
Methods in com.sun.syndication.feed.atom that return Generator | +|
---|---|
+ Generator |
+Feed.getGenerator()
+
++ Returns the feed generator. |
+
+ +
Methods in com.sun.syndication.feed.atom with parameters of type Generator | +|
---|---|
+ void |
+Feed.setGenerator(Generator generator)
+
++ Sets the feed generator. |
+
+Uses of Generator in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Generator | +|
---|---|
+protected org.jdom.Element |
+Atom10Generator.generateGeneratorElement(Generator generator)
+
++ |
+
+protected org.jdom.Element |
+Atom03Generator.generateGeneratorElement(Generator generator)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Link | +|
---|---|
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Link in com.sun.syndication.feed.atom | +
---|
+ +
Methods in com.sun.syndication.feed.atom that return Link | +|
---|---|
+ Link |
+Entry.findRelatedLink(String relation)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.atom that return types with arguments of type Link | +|
---|---|
+ List<Link> |
+Entry.getAlternateLinks()
+
++ Returns the entry alternate links. |
+
+ List<Link> |
+Feed.getAlternateLinks()
+
++ Returns the feed alternate links. |
+
+ List<Link> |
+Entry.getOtherLinks()
+
++ Returns the entry non-alternate links. |
+
+ List<Link> |
+Feed.getOtherLinks()
+
++ Returns the feed other links (non-alternate ones). |
+
+ +
Method parameters in com.sun.syndication.feed.atom with type arguments of type Link | +|
---|---|
+ void |
+Entry.setAlternateLinks(List<Link> alternateLinks)
+
++ Sets the entry alternate links. |
+
+ void |
+Feed.setAlternateLinks(List<Link> alternateLinks)
+
++ Sets the feed alternate links. |
+
+ void |
+Entry.setOtherLinks(List<Link> otherLinks)
+
++ Sets the entry non-alternate links. |
+
+ void |
+Feed.setOtherLinks(List<Link> otherLinks)
+
++ Sets the feed other links (non-alternate ones). |
+
+Uses of Link in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return Link | +|
---|---|
+ Link |
+ConverterForAtom10.createAtomEnclosure(SyndEnclosure syndEnclosure)
+
++ |
+
+ Link |
+ConverterForAtom03.createAtomEnclosure(SyndEnclosure syndEnclosure)
+
++ |
+
+ Link |
+ConverterForAtom10.createAtomLink(SyndLink syndLink)
+
++ |
+
+ Link |
+ConverterForAtom03.createAtomLink(SyndLink syndLink)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type Link | +|
---|---|
+ SyndEnclosure |
+ConverterForAtom03.createSyndEnclosure(Entry entry,
+ Link link)
+
++ |
+
+ SyndEnclosure |
+ConverterForAtom10.createSyndEnclosure(Feed feed,
+ Entry entry,
+ Link link)
+
++ |
+
+ SyndLink |
+ConverterForAtom10.createSyndLink(Link link)
+
++ |
+
+ SyndLink |
+ConverterForAtom03.createSyndLink(Link link)
+
++ |
+
+Uses of Link in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Link | +|
---|---|
+protected org.jdom.Element |
+Atom10Generator.generateLinkElement(Link link)
+
++ |
+
+protected org.jdom.Element |
+Atom03Generator.generateLinkElement(Link link)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Person | +|
---|---|
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Person in com.sun.syndication.feed.atom | +
---|
+ +
Methods in com.sun.syndication.feed.atom that return types with arguments of type Person | +|
---|---|
+ List<Person> |
+Entry.getAuthors()
+
++ Returns the entry author. |
+
+ List<Person> |
+Feed.getAuthors()
+
++ Returns the feed author. |
+
+ List<Person> |
+Entry.getContributors()
+
++ Returns the entry contributors. |
+
+ List<Person> |
+Feed.getContributors()
+
++ Returns the feed contributors. |
+
+ +
Method parameters in com.sun.syndication.feed.atom with type arguments of type Person | +|
---|---|
+ void |
+Entry.setAuthors(List<Person> authors)
+
++ Sets the author of the entry. |
+
+ void |
+Feed.setAuthors(List<Person> authors)
+
++ Sets the feed author. |
+
+ void |
+Entry.setContributors(List<Person> contributors)
+
++ Sets the entry contributors. |
+
+ void |
+Feed.setContributors(List<Person> contributors)
+
++ Sets the feed contributors. |
+
+Uses of Person in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Person | +|
---|---|
+protected void |
+Atom10Generator.fillPersonElement(org.jdom.Element element,
+ Person person)
+
++ |
+
+protected void |
+Atom03Generator.fillPersonElement(org.jdom.Element element,
+ Person person)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Classes
+
+ +Category + +Content + +Entry + +Feed + +Generator + +Link + +Person |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+Class Summary | +|
---|---|
Category | +Bean for category elements of Atom feeds. | +
Content | +Bean for content elements of Atom feeds. | +
Entry | +Bean for entry elements of Atom feeds. | +
Feed | +Bean for Atom feeds. | +
Generator | +Bean for the generator element of Atom feeds. | +
Link | +Bean for link elements of Atom feeds. | +
Person | +Bean for person elements of Atom feeds. | +
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use com.sun.syndication.feed.atom | +|
---|---|
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io.impl | ++ |
+Classes in com.sun.syndication.feed.atom used by com.sun.syndication.feed.atom | +|
---|---|
Category
+
+ + Bean for category elements of Atom feeds. |
+|
Content
+
+ + Bean for content elements of Atom feeds. |
+|
Entry
+
+ + Bean for entry elements of Atom feeds. |
+|
Feed
+
+ + Bean for Atom feeds. |
+|
Generator
+
+ + Bean for the generator element of Atom feeds. |
+|
Link
+
+ + Bean for link elements of Atom feeds. |
+|
Person
+
+ + Bean for person elements of Atom feeds. |
+
+Classes in com.sun.syndication.feed.atom used by com.sun.syndication.feed.synd.impl | +|
---|---|
Content
+
+ + Bean for content elements of Atom feeds. |
+|
Entry
+
+ + Bean for entry elements of Atom feeds. |
+|
Feed
+
+ + Bean for Atom feeds. |
+|
Link
+
+ + Bean for link elements of Atom feeds. |
+
+Classes in com.sun.syndication.feed.atom used by com.sun.syndication.io.impl | +|
---|---|
Category
+
+ + Bean for category elements of Atom feeds. |
+|
Content
+
+ + Bean for content elements of Atom feeds. |
+|
Entry
+
+ + Bean for entry elements of Atom feeds. |
+|
Feed
+
+ + Bean for Atom feeds. |
+|
Generator
+
+ + Bean for the generator element of Atom feeds. |
+|
Link
+
+ + Bean for link elements of Atom feeds. |
+|
Person
+
+ + Bean for person elements of Atom feeds. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use CopyFrom | +|
---|---|
com.sun.syndication.feed | ++ |
com.sun.syndication.feed.module | ++ |
com.sun.syndication.feed.synd | ++ |
+Uses of CopyFrom in com.sun.syndication.feed | +
---|
+ +
Methods in com.sun.syndication.feed that return types with arguments of type CopyFrom | +|
---|---|
+ Class<? extends CopyFrom> |
+CopyFrom.getInterface()
+
++ Returns the interface the copyFrom works on. |
+
+ +
Methods in com.sun.syndication.feed with parameters of type CopyFrom | +|
---|---|
+ void |
+CopyFrom.copyFrom(CopyFrom obj)
+
++ Copies all the properties of the given bean into this one. |
+
+Uses of CopyFrom in com.sun.syndication.feed.module | +
---|
+ +
Subinterfaces of CopyFrom in com.sun.syndication.feed.module | +|
---|---|
+ interface |
+DCModule
+
++ Dublin Core Module. |
+
+ interface |
+DCSubject
+
++ Subject of the Dublin Core ModuleImpl. |
+
+ interface |
+Module
+
++ Base class for modules describing Metadata of feeds. |
+
+ interface |
+SyModule
+
++ Syndication ModuleImpl. |
+
+ +
Classes in com.sun.syndication.feed.module that implement CopyFrom | +|
---|---|
+ class |
+DCModuleImpl
+
++ Dublin Core ModuleImpl, default implementation. |
+
+ class |
+DCSubjectImpl
+
++ Subject of the Dublin Core ModuleImpl, default implementation. |
+
+ class |
+ModuleImpl
+
++ Base class for modules describing Metadata of feeds, default implementations. |
+
+ class |
+SyModuleImpl
+
++ Syndication ModuleImpl, default implementation. |
+
+ +
Methods in com.sun.syndication.feed.module that return types with arguments of type CopyFrom | +|
---|---|
+ Class<? extends CopyFrom> |
+DCModuleImpl.getInterface()
+
++ |
+
+ +
Methods in com.sun.syndication.feed.module with parameters of type CopyFrom | +|
---|---|
+ void |
+SyModuleImpl.copyFrom(CopyFrom obj)
+
++ |
+
+ void |
+DCModuleImpl.copyFrom(CopyFrom obj)
+
++ |
+
+ void |
+DCSubjectImpl.copyFrom(CopyFrom obj)
+
++ |
+
+Uses of CopyFrom in com.sun.syndication.feed.synd | +
---|
+ +
Subinterfaces of CopyFrom in com.sun.syndication.feed.synd | +|
---|---|
+ interface |
+SyndContent
+
++ Bean interface for content of SyndFeedImpl entries. |
+
+ interface |
+SyndEnclosure
+
++ |
+
+ interface |
+SyndEntry
+
++ Bean interface for entries of SyndFeedImpl feeds. |
+
+ interface |
+SyndFeed
+
++ Bean interface for all types of feeds. |
+
+ interface |
+SyndImage
+
++ Bean interface for images of SyndFeedImpl feeds. |
+
+ +
Classes in com.sun.syndication.feed.synd that implement CopyFrom | +|
---|---|
+ class |
+SyndContentImpl
+
++ Bean for content of SyndFeedImpl entries. |
+
+ class |
+SyndEnclosureImpl
+
++ |
+
+ class |
+SyndEntryImpl
+
++ Bean for entries of SyndFeedImpl feeds. |
+
+ class |
+SyndFeedImpl
+
++ Bean for all types of feeds. |
+
+ class |
+SyndImageImpl
+
++ Bean for images of SyndFeedImpl feeds. |
+
+ +
Methods in com.sun.syndication.feed.synd that return types with arguments of type CopyFrom | +|
---|---|
+ Class<? extends CopyFrom> |
+SyndEnclosureImpl.getInterface()
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd with parameters of type CopyFrom | +|
---|---|
+ void |
+SyndEnclosureImpl.copyFrom(CopyFrom obj)
+
++ |
+
+ void |
+SyndContentImpl.copyFrom(CopyFrom obj)
+
++ |
+
+ void |
+SyndEntryImpl.copyFrom(CopyFrom obj)
+
++ |
+
+ void |
+SyndFeedImpl.copyFrom(CopyFrom obj)
+
++ |
+
+ void |
+SyndImageImpl.copyFrom(CopyFrom syndImage)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use WireFeed | +|
---|---|
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of WireFeed in com.sun.syndication.feed.atom | +
---|
+ +
Subclasses of WireFeed in com.sun.syndication.feed.atom | +|
---|---|
+ class |
+Feed
+
++ Bean for Atom feeds. |
+
+Uses of WireFeed in com.sun.syndication.feed.rss | +
---|
+ +
Subclasses of WireFeed in com.sun.syndication.feed.rss | +|
---|---|
+ class |
+Channel
+
++ Bean for RSS feeds. |
+
+Uses of WireFeed in com.sun.syndication.feed.synd | +
---|
+ +
Methods in com.sun.syndication.feed.synd that return WireFeed | +|
---|---|
+ WireFeed |
+Converter.createRealFeed(SyndFeed syndFeed)
+
++ Creates real feed with a deep copy/conversion of the values of a SyndFeedImpl. |
+
+ WireFeed |
+SyndFeed.createWireFeed()
+
++ Creates a real feed containing the information of the SyndFeedImpl. |
+
+ WireFeed |
+SyndFeedImpl.createWireFeed()
+
++ Creates a real feed containing the information of the SyndFeedImpl. |
+
+ WireFeed |
+SyndFeed.createWireFeed(String feedType)
+
++ Creates a real feed containing the information of the SyndFeedImpl. |
+
+ WireFeed |
+SyndFeedImpl.createWireFeed(String feedType)
+
++ Creates a real feed containing the information of the SyndFeedImpl. |
+
+ WireFeed |
+SyndFeed.originalWireFeed()
+
++ Returns the WireFeed this SyndFeed was created from. |
+
+ WireFeed |
+SyndFeedImpl.originalWireFeed()
+
++ Returns the WireFeed this SyndFeed was created from. |
+
+ +
Methods in com.sun.syndication.feed.synd with parameters of type WireFeed | +|
---|---|
+ void |
+Converter.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl. |
+
+ +
Constructors in com.sun.syndication.feed.synd with parameters of type WireFeed | +|
---|---|
SyndFeedImpl(WireFeed feed)
+
++ Creates a SyndFeedImpl and populates all its properties out of the + given RSS Channel or Atom Feed properties. |
+|
SyndFeedImpl(WireFeed feed,
+ boolean preserveWireFeed)
+
++ Creates a SyndFeedImpl and populates all its properties out of the + given RSS Channel or Atom Feed properties, while optionally preserving + the WireFeed for access via the orignalWireFeed() method. |
+
+Uses of WireFeed in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return WireFeed | +|
---|---|
+protected WireFeed |
+ConverterForRSS094.createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+protected WireFeed |
+ConverterForRSS090.createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+protected WireFeed |
+ConverterForRSS10.createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+protected WireFeed |
+ConverterForRSS091Userland.createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+ WireFeed |
+ConverterForRSS090.createRealFeed(SyndFeed syndFeed)
+
++ |
+
+ WireFeed |
+ConverterForAtom10.createRealFeed(SyndFeed syndFeed)
+
++ |
+
+ WireFeed |
+ConverterForAtom03.createRealFeed(SyndFeed syndFeed)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type WireFeed | +|
---|---|
+ void |
+ConverterForRSS094.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+ void |
+ConverterForRSS090.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+ void |
+ConverterForRSS10.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+ void |
+ConverterForRSS091Userland.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+ void |
+ConverterForAtom10.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+ void |
+ConverterForAtom03.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+Uses of WireFeed in com.sun.syndication.io | +
---|
+ +
Methods in com.sun.syndication.io that return WireFeed | +|
---|---|
+ WireFeed |
+WireFeedInput.build(Document document)
+
++ Builds an WireFeed (RSS or Atom) from an W3C DOM document. |
+
+ WireFeed |
+WireFeedInput.build(org.jdom.Document document)
+
++ Builds an WireFeed (RSS or Atom) from an JDOM document. |
+
+ WireFeed |
+WireFeedInput.build(File file)
+
++ Builds an WireFeed (RSS or Atom) from a file. |
+
+ WireFeed |
+WireFeedInput.build(InputSource is)
+
++ Builds an WireFeed (RSS or Atom) from an W3C SAX InputSource. |
+
+ WireFeed |
+WireFeedInput.build(Reader reader)
+
++ Builds an WireFeed (RSS or Atom) from an Reader. |
+
+ WireFeed |
+WireFeedParser.parse(org.jdom.Document document,
+ boolean validate)
+
++ Parses an XML document (JDOM Document) into a feed bean. |
+
+ +
Methods in com.sun.syndication.io with parameters of type WireFeed | +|
---|---|
+ org.jdom.Document |
+WireFeedGenerator.generate(WireFeed feed)
+
++ Creates an XML document (JDOM) for the given feed bean. |
+
+ void |
+WireFeedOutput.output(WireFeed feed,
+ File file)
+
++ Creates a File containing with the XML representation for the given WireFeed. |
+
+ void |
+WireFeedOutput.output(WireFeed feed,
+ File file,
+ boolean prettyPrint)
+
++ Creates a File containing with the XML representation for the given WireFeed. |
+
+ void |
+WireFeedOutput.output(WireFeed feed,
+ Writer writer)
+
++ Writes to an Writer the XML representation for the given WireFeed. |
+
+ void |
+WireFeedOutput.output(WireFeed feed,
+ Writer writer,
+ boolean prettyPrint)
+
++ Writes to an Writer the XML representation for the given WireFeed. |
+
+ org.jdom.Document |
+WireFeedOutput.outputJDom(WireFeed feed)
+
++ Creates a JDOM document for the given WireFeed. |
+
+ String |
+WireFeedOutput.outputString(WireFeed feed)
+
++ Creates a String with the XML representation for the given WireFeed. |
+
+ String |
+WireFeedOutput.outputString(WireFeed feed,
+ boolean prettyPrint)
+
++ Creates a String with the XML representation for the given WireFeed. |
+
+ Document |
+WireFeedOutput.outputW3CDom(WireFeed feed)
+
++ Creates a W3C DOM document for the given WireFeed. |
+
+Uses of WireFeed in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl that return WireFeed | +|
---|---|
+ WireFeed |
+Atom10Parser.parse(org.jdom.Document document,
+ boolean validate)
+
++ |
+
+ WireFeed |
+Atom03Parser.parse(org.jdom.Document document,
+ boolean validate)
+
++ |
+
+ WireFeed |
+RSS090Parser.parse(org.jdom.Document document,
+ boolean validate)
+
++ |
+
+protected WireFeed |
+RSS10Parser.parseChannel(org.jdom.Element rssRoot)
+
++ |
+
+protected WireFeed |
+RSS094Parser.parseChannel(org.jdom.Element rssRoot)
+
++ |
+
+protected WireFeed |
+RSS091UserlandParser.parseChannel(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document into a Channel bean. |
+
+protected WireFeed |
+RSS092Parser.parseChannel(org.jdom.Element rssRoot)
+
++ |
+
+protected WireFeed |
+RSS20wNSParser.parseChannel(org.jdom.Element rssRoot)
+
++ After we parse the feed we put "rss_2.0" in it (so converters and generators work) + this parser is a phantom. |
+
+protected WireFeed |
+RSS090Parser.parseChannel(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document into a Channel bean. |
+
+protected WireFeed |
+Atom10Parser.parseFeed(org.jdom.Element eFeed)
+
++ |
+
+protected WireFeed |
+Atom03Parser.parseFeed(org.jdom.Element eFeed)
+
++ |
+
+ +
Methods in com.sun.syndication.io.impl with parameters of type WireFeed | +|
---|---|
+ org.jdom.Document |
+RSS090Generator.generate(WireFeed feed)
+
++ |
+
+ org.jdom.Document |
+Atom10Generator.generate(WireFeed wFeed)
+
++ |
+
+ org.jdom.Document |
+Atom03Generator.generate(WireFeed wFeed)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.impl.BeanIntrospector ++
public class BeanIntrospector
+Obtains all property descriptors from a bean (interface or implementation). +
+ The java.beans.Introspector does not process the interfaces hierarchy chain, this one does. +
+
+ +
+
+Constructor Summary | +|
---|---|
BeanIntrospector()
+
++ |
+
+Method Summary | +|
---|---|
+static PropertyDescriptor[] |
+getPropertyDescriptors(Class klass)
+
++ |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public BeanIntrospector()+
+Method Detail | +
---|
+public static PropertyDescriptor[] getPropertyDescriptors(Class klass) + throws IntrospectionException+
IntrospectionException
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.impl.CloneableBean ++
public class CloneableBean
+Provides deep Bean clonning support. +
+ It works on all read/write properties, recursively. It support all primitive types, Strings, Collections, + Cloneable objects and multi-dimensional arrays of any of them. +
+
+ +
+
+Constructor Summary | +|
---|---|
+protected |
+CloneableBean()
+
++ Default constructor. |
+
+ |
+CloneableBean(Object obj)
+
++ Creates a CloneableBean to be used in a delegation pattern. |
+
+ |
+CloneableBean(Object obj,
+ Set ignoreProperties)
+
++ Creates a CloneableBean to be used in a delegation pattern. |
+
+Method Summary | +|
---|---|
+ Object |
+beanClone()
+
++ Makes a deep bean clone of the object passed in the constructor. |
+
+ Object |
+clone()
+
++ Makes a deep bean clone of the object. |
+
Methods inherited from class java.lang.Object | +
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+protected CloneableBean()+
+ To be used by classes extending CloneableBean only. +
+
+
+public CloneableBean(Object obj)+
+ For example: +
+
+ public class Foo implements Cloneable {
+ private CloneableBean _cloneableBean;
+
+ public Foo() {
+ _cloneableBean = new CloneableBean(this);
+ }
+
+ public Object clone() throws CloneNotSupportedException {
+ return _cloneableBean.beanClone();
+ }
+
+ }
+
+
+
+
obj
- object bean to clone.+public CloneableBean(Object obj, + Set ignoreProperties)+
+ The property names in the ignoreProperties Set will not be copied into + the cloned instance. This is useful for cases where the Bean has convenience + properties (properties that are actually references to other properties or + properties of properties). For example SyndFeed and SyndEntry beans have + convenience properties, publishedDate, author, copyright and categories all + of them mapped to properties in the DC Module. +
+
+
obj
- object bean to clone.ignoreProperties
- properties to ignore when cloning.+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+ To be used by classes extending CloneableBean. Although it works also for classes using + CloneableBean in a delegation pattern, for correctness those classes should use the +
+
clone
in class Object
CloneNotSupportedException
- thrown if the object bean could not be cloned.beanClone method.
+
+public Object beanClone() + throws CloneNotSupportedException+
+ To be used by classes using CloneableBean in a delegation pattern, +
+
CloneNotSupportedException
- thrown if the object bean could not be cloned.constructor.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.impl.CopyFromHelper ++
public class CopyFromHelper
+
+Constructor Summary | +|
---|---|
CopyFromHelper(Class beanInterfaceClass,
+ Map basePropInterfaceMap,
+ Map basePropClassImplMap)
+
++ |
+
+Method Summary | +|
---|---|
+ void |
+copy(Object target,
+ Object source)
+
++ |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public CopyFromHelper(Class beanInterfaceClass, + Map basePropInterfaceMap, + Map basePropClassImplMap)+
+Method Detail | +
---|
+public void copy(Object target, + Object source)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.impl.EqualsBean ++
public class EqualsBean
+Provides deep Bean equals() and hashCode() functionality for Java Beans. +
+ It works on all read/write properties, recursively. It support all primitive types, Strings, Collections, + bean-like objects and multi-dimensional arrays of any of them. +
+ The hashcode is calculated by getting the hashcode of the Bean String representation. +
+
+ +
+
+Constructor Summary | +|
---|---|
+protected |
+EqualsBean(Class beanClass)
+
++ Default constructor. |
+
+ |
+EqualsBean(Class beanClass,
+ Object obj)
+
++ Creates a EqualsBean to be used in a delegation pattern. |
+
+Method Summary | +|
---|---|
+ boolean |
+beanEquals(Object obj)
+
++ Indicates whether some other object is "equal to" the object passed in the constructor, + as defined by the Object equals() method. |
+
+ int |
+beanHashCode()
+
++ Returns the hashcode for the object passed in the constructor. |
+
+ boolean |
+equals(Object obj)
+
++ Indicates whether some other object is "equal to" this object as defined by the Object equals() method. |
+
+ int |
+hashCode()
+
++ Returns the hashcode for this object. |
+
Methods inherited from class java.lang.Object | +
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+protected EqualsBean(Class beanClass)+
+ To be used by classes extending EqualsBean only. +
+
+
beanClass
- the class/interface to be used for property scanning.+public EqualsBean(Class beanClass, + Object obj)+
+ For example: +
+
+ public class Foo implements FooI {
+ private EqualsBean _equalsBean;
+
+ public Foo() {
+ _equalsBean = new EqualsBean(FooI.class);
+ }
+
+ public boolean equals(Object obj) {
+ return _equalsBean.beanEquals(obj);
+ }
+
+ public int hashCode() {
+ return _equalsBean.beanHashCode();
+ }
+
+ }
+
+
+
+
beanClass
- the class/interface to be used for property scanning.obj
- object bean to test equality.+Method Detail | +
---|
+public boolean equals(Object obj)+
+ To be used by classes extending EqualsBean. Although it works also for classes using + EqualsBean in a delegation pattern, for correctness those classes should use the +
+
equals
in class Object
obj
- he reference object with which to compare.
+beanEquals method.
+
+public boolean beanEquals(Object obj)+
+ To be used by classes using EqualsBean in a delegation pattern, +
+
obj
- he reference object with which to compare.
+constructor.
+
+public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+ The hashcode is calculated by getting the hashcode of the Bean String representation. +
+ To be used by classes extending EqualsBean. Although it works also for classes using + EqualsBean in a delegation pattern, for correctness those classes should use the +
+
hashCode
in class Object
beanHashCode method.
+
+public int beanHashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+ The hashcode is calculated by getting the hashcode of the Bean String representation. +
+ To be used by classes using EqualsBean in a delegation pattern, +
+
constructor.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.impl.ObjectBean ++
public class ObjectBean
+Convenience class providing clone(), toString(), equals() and hashCode() functionality for Java Beans. +
+ It works on all read/write properties, recursively. +
+ It uses the CloneableBean, EqualsBean and ToStringBean classes in a delegation pattern. +
+
+ All ObjectBean subclasses having properties that return collections they should never + return null if the property has been set to null or if a collection has not been set. + They should create and return an empty collection, this empty collection instance should + also be set to the corresponding property. +
+ All ObjectBean subclasses properties should be live references. +
+
+ +
+
+Constructor Summary | +|
---|---|
ObjectBean(Class beanClass,
+ Object obj)
+
++ Constructor. |
+|
ObjectBean(Class beanClass,
+ Object obj,
+ Set ignoreProperties)
+
++ Constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ObjectBean(Class beanClass, + Object obj)+
+
+
beanClass
- the class/interface to be used for property scanning.+public ObjectBean(Class beanClass, + Object obj, + Set ignoreProperties)+
+ The property names in the ignoreProperties Set will not be copied into + the cloned instance. This is useful for cases where the Bean has convenience + properties (properties that are actually references to other properties or + properties of properties). For example SyndFeed and SyndEntry beans have + convenience properties, publishedDate, author, copyright and categories all + of them mapped to properties in the DC Module. +
+
+
beanClass
- the class/interface to be used for property scanning.ignoreProperties
- properties to ignore when cloning.+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.impl.ToStringBean ++
public class ToStringBean
+Provides deep Bean toString support. +
+ It works on all read/write properties, recursively. It support all primitive types, Strings, Collections, + ToString objects and multi-dimensional arrays of any of them. +
+
+ +
+
+Constructor Summary | +|
---|---|
+protected |
+ToStringBean(Class beanClass)
+
++ Default constructor. |
+
+ |
+ToStringBean(Class beanClass,
+ Object obj)
+
++ Creates a ToStringBean to be used in a delegation pattern. |
+
+Method Summary | +|
---|---|
+ String |
+toString()
+
++ Returns the String representation of the bean given in the constructor. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+protected ToStringBean(Class beanClass)+
+ To be used by classes extending ToStringBean only. +
+
+
beanClass
- indicates the class to scan for properties, normally an interface class.+public ToStringBean(Class beanClass, + Object obj)+
+ For example: +
+
+ public class Foo implements ToString {
+
+ public String toString(String prefix) {
+ ToStringBean tsb = new ToStringBean(this);
+ return tsb.toString(prefix);
+ }
+
+ public String toString() {
+ return toString("Foo");
+ }
+
+ }
+
+
+
+
beanClass
- indicates the class to scan for properties, normally an interface class.obj
- object bean to create String representation.+Method Detail | +
---|
+public String toString()+
+ It uses the Class name as the prefix. +
+
+
toString
in class Object
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Classes
+
+ +BeanIntrospector + +CloneableBean + +CopyFromHelper + +EqualsBean + +ObjectBean + +ToStringBean |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+Class Summary | +|
---|---|
BeanIntrospector | +Obtains all property descriptors from a bean (interface or implementation). | +
CloneableBean | +Provides deep Bean clonning support. | +
CopyFromHelper | ++ |
EqualsBean | +Provides deep Bean equals() and hashCode() functionality for Java Beans. | +
ObjectBean | +Convenience class providing clone(), toString(), equals() and hashCode() functionality for Java Beans. | +
ToStringBean | +Provides deep Bean toString support. | +
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface DCModule
+Dublin Core Module. +
+
+ +
+
+Field Summary | +|
---|---|
+static String |
+URI
+
++ URI of the Dublin Core Module (http://purl.org/dc/elements/1.1/). |
+
+Method Summary | +|
---|---|
+ String |
+getContributor()
+
++ Gets the DublinCore module contributor. |
+
+ List<String> |
+getContributors()
+
++ Returns the DublinCore module contributor. |
+
+ String |
+getCoverage()
+
++ Gets the DublinCore module coverage. |
+
+ List<String> |
+getCoverages()
+
++ Returns the DublinCore module coverage. |
+
+ String |
+getCreator()
+
++ Gets the DublinCore module creator. |
+
+ List<String> |
+getCreators()
+
++ Returns the DublinCore module creator. |
+
+ Date |
+getDate()
+
++ Gets the DublinCore module date. |
+
+ List<Date> |
+getDates()
+
++ Returns the DublinCore module date. |
+
+ String |
+getDescription()
+
++ Gets the DublinCore module description. |
+
+ List<String> |
+getDescriptions()
+
++ Returns the DublinCore module description. |
+
+ String |
+getFormat()
+
++ Gets the DublinCore module format. |
+
+ List<String> |
+getFormats()
+
++ Returns the DublinCore module format. |
+
+ String |
+getIdentifier()
+
++ Gets the DublinCore module identifier. |
+
+ List<String> |
+getIdentifiers()
+
++ Returns the DublinCore module identifier. |
+
+ String |
+getLanguage()
+
++ Gets the DublinCore module language. |
+
+ List<String> |
+getLanguages()
+
++ Returns the DublinCore module language. |
+
+ String |
+getPublisher()
+
++ Gets the DublinCore module publisher. |
+
+ List<String> |
+getPublishers()
+
++ Returns the DublinCore module publisher. |
+
+ String |
+getRelation()
+
++ Gets the DublinCore module relation. |
+
+ List<String> |
+getRelations()
+
++ Returns the DublinCore module relation. |
+
+ String |
+getRights()
+
++ Gets the DublinCore module right. |
+
+ List<String> |
+getRightsList()
+
++ Returns the DublinCore module rights. |
+
+ String |
+getSource()
+
++ Gets the DublinCore module subject. |
+
+ List<String> |
+getSources()
+
++ Returns the DublinCore module source. |
+
+ DCSubject |
+getSubject()
+
++ Gets the DublinCore module subject. |
+
+ List<DCSubject> |
+getSubjects()
+
++ Returns the DublinCore module subjects. |
+
+ String |
+getTitle()
+
++ Gets the DublinCore module title. |
+
+ List<String> |
+getTitles()
+
++ Returns the DublinCore module titles. |
+
+ String |
+getType()
+
++ Gets the DublinCore module type. |
+
+ List<String> |
+getTypes()
+
++ Returns the DublinCore module type. |
+
+ void |
+setContributor(String contributor)
+
++ Sets the DublinCore module contributor. |
+
+ void |
+setContributors(List<String> contributors)
+
++ Sets the DublinCore module contributors. |
+
+ void |
+setCoverage(String coverage)
+
++ Sets the DublinCore module coverage. |
+
+ void |
+setCoverages(List<String> coverages)
+
++ Sets the DublinCore module coverages. |
+
+ void |
+setCreator(String creator)
+
++ Sets the DublinCore module creator. |
+
+ void |
+setCreators(List<String> creators)
+
++ Sets the DublinCore module creators. |
+
+ void |
+setDate(Date date)
+
++ Sets the DublinCore module date. |
+
+ void |
+setDates(List<Date> dates)
+
++ Sets the DublinCore module dates. |
+
+ void |
+setDescription(String description)
+
++ Sets the DublinCore module description. |
+
+ void |
+setDescriptions(List<String> descriptions)
+
++ Sets the DublinCore module descriptions. |
+
+ void |
+setFormat(String format)
+
++ Sets the DublinCore module format. |
+
+ void |
+setFormats(List<String> formats)
+
++ Sets the DublinCore module formats. |
+
+ void |
+setIdentifier(String identifier)
+
++ Sets the DublinCore module identifier. |
+
+ void |
+setIdentifiers(List<String> identifiers)
+
++ Sets the DublinCore module identifiers. |
+
+ void |
+setLanguage(String language)
+
++ Sets the DublinCore module language. |
+
+ void |
+setLanguages(List<String> languages)
+
++ Sets the DublinCore module languages. |
+
+ void |
+setPublisher(String publisher)
+
++ Sets the DublinCore module publisher. |
+
+ void |
+setPublishers(List<String> publishers)
+
++ Sets the DublinCore module publishers. |
+
+ void |
+setRelation(String relation)
+
++ Sets the DublinCore module relation. |
+
+ void |
+setRelations(List<String> relations)
+
++ Sets the DublinCore module relations. |
+
+ void |
+setRights(String rights)
+
++ Sets the DublinCore module rights. |
+
+ void |
+setRightsList(List<String> rights)
+
++ Sets the DublinCore module rightss. |
+
+ void |
+setSource(String source)
+
++ Sets the DublinCore module source. |
+
+ void |
+setSources(List<String> sources)
+
++ Sets the DublinCore module sources. |
+
+ void |
+setSubject(DCSubject subject)
+
++ Sets the DCSubject element. |
+
+ void |
+setSubjects(List<DCSubject> subjects)
+
++ Sets the DublinCore module subjects. |
+
+ void |
+setTitle(String title)
+
++ Sets the DublinCore module title. |
+
+ void |
+setTitles(List<String> titles)
+
++ Sets the DublinCore module titles. |
+
+ void |
+setType(String type)
+
++ Sets the DublinCore module type. |
+
+ void |
+setTypes(List<String> types)
+
++ Sets the DublinCore module types. |
+
Methods inherited from interface com.sun.syndication.feed.module.Module | +
---|
clone, getUri |
+
Methods inherited from interface com.sun.syndication.feed.CopyFrom | +
---|
copyFrom, getInterface |
+
+Field Detail | +
---|
+static final String URI+
+
+Method Detail | +
---|
+List<String> getTitles()+
+
+
+void setTitles(List<String> titles)+
+
+
titles
- the list of String representing the DublinCore module titles
+ to set, an empty list or null if none.+String getTitle()+
+
+
+void setTitle(String title)+
+
+
title
- the DublinCore module title to set, null if none.+List<String> getCreators()+
+
+
+void setCreators(List<String> creators)+
+
+
creators
- the list of String representing the DublinCore module
+ creators to set, an empty list or null if none.+String getCreator()+
+
+
+void setCreator(String creator)+
+
+
creator
- the DublinCore module creator to set, null if none.+List<DCSubject> getSubjects()+
+
+
+void setSubjects(List<DCSubject> subjects)+
+
+
subjects
- the list of DCSubject elements with the DublinCore
+ module subjects to set, an empty list or null if none.+DCSubject getSubject()+
+
+
+void setSubject(DCSubject subject)+
+
+
subject
- the DublinCore module subject to set, null if none.+List<String> getDescriptions()+
+
+
+void setDescriptions(List<String> descriptions)+
+
+
descriptions
- the list of String representing the DublinCore
+ module descriptions to set, an empty list or null if none.+String getDescription()+
+
+
+void setDescription(String description)+
+
+
description
- the DublinCore module description to set, null if none.+List<String> getPublishers()+
+
+
+void setPublishers(List<String> publishers)+
+
+
publishers
- the list of String representing the DublinCore module
+ publishers to set, an empty list or null if none.+String getPublisher()+
+
+
+void setPublisher(String publisher)+
+
+
publisher
- the DublinCore module publisher to set, null if none.+List<String> getContributors()+
+
+
+void setContributors(List<String> contributors)+
+
+
contributors
- the list of String representing the DublinCore module
+ contributors to set, an empty list or null if none.+String getContributor()+
+
+
+void setContributor(String contributor)+
+
+
contributor
- the DublinCore module contributor to set, null if none.+List<Date> getDates()+
+
+
+void setDates(List<Date> dates)+
+
+
dates
- the list of Date representing the DublinCore module dates to set,
+ an empty list or null if none.+Date getDate()+
+
+
+void setDate(Date date)+
+
+
date
- the DublinCore module date to set, null if none.+List<String> getTypes()+
+
+
+void setTypes(List<String> types)+
+
+
types
- the list of String representing the DublinCore module types to set,
+ an empty list or null if none.+String getType()+
+
+
+void setType(String type)+
+
+
type
- the DublinCore module type to set, null if none.+List<String> getFormats()+
+
+
+void setFormats(List<String> formats)+
+
+
formats
- the list of String representing the DublinCore module
+ formats to set, an empty list or null if none.+String getFormat()+
+
+
+void setFormat(String format)+
+
+
format
- the DublinCore module format to set, null if none.+List<String> getIdentifiers()+
+
+
+void setIdentifiers(List<String> identifiers)+
+
+
identifiers
- the list of String representing the DublinCore module
+ identifiers to set, an empty list or null if none.+String getIdentifier()+
+
+
+void setIdentifier(String identifier)+
+
+
identifier
- the DublinCore module identifier to set, null if none.+List<String> getSources()+
+
+
+void setSources(List<String> sources)+
+
+
sources
- the list of String representing the DublinCore module
+ sources to set, an empty list or null if none.+String getSource()+
+
+
+void setSource(String source)+
+
+
source
- the DublinCore module source to set, null if none.+List<String> getLanguages()+
+
+
+void setLanguages(List<String> languages)+
+
+
languages
- the list of String representing the DublinCore module
+ languages to set, an empty list or null if none.+String getLanguage()+
+
+
+void setLanguage(String language)+
+
+
language
- the DublinCore module language to set, null if none.+List<String> getRelations()+
+
+
+void setRelations(List<String> relations)+
+
+
relations
- the list of String representing the DublinCore module
+ relations to set, an empty list or null if none.+String getRelation()+
+
+
+void setRelation(String relation)+
+
+
relation
- the DublinCore module relation to set, null if none.+List<String> getCoverages()+
+
+
+void setCoverages(List<String> coverages)+
+
+
coverages
- the list of String representing the DublinCore module
+ coverages to set, an empty list or null if none.+String getCoverage()+
+
+
+void setCoverage(String coverage)+
+
+
coverage
- the DublinCore module coverage to set, null if none.+List<String> getRightsList()+
+
+
+void setRightsList(List<String> rights)+
+
+
rights
- the list of String representing the DublinCore module
+ rights to set, an empty list or null if none.+String getRights()+
+
+
+void setRights(String rights)+
+
+
rights
- the DublinCore module rights to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.module.ModuleImpl + com.sun.syndication.feed.module.DCModuleImpl ++
public class DCModuleImpl
+Dublin Core ModuleImpl, default implementation. +
+
+ +
+
+Field Summary | +|
---|---|
+static Set |
+CONVENIENCE_PROPERTIES
+
++ Unmodifiable Set containing the convenience properties of this class. |
+
Fields inherited from interface com.sun.syndication.feed.module.DCModule | +
---|
URI |
+
+Constructor Summary | +|
---|---|
DCModuleImpl()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ void |
+copyFrom(CopyFrom obj)
+
++ Copies all the properties of the given bean into this one. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getContributor()
+
++ Gets the DublinCore module contributor. |
+
+ List |
+getContributors()
+
++ Returns the DublinCore module contributor. |
+
+ String |
+getCoverage()
+
++ Gets the DublinCore module coverage. |
+
+ List |
+getCoverages()
+
++ Returns the DublinCore module coverage. |
+
+ String |
+getCreator()
+
++ Gets the DublinCore module title. |
+
+ List |
+getCreators()
+
++ Returns the DublinCore module creator. |
+
+ Date |
+getDate()
+
++ Gets the DublinCore module date. |
+
+ List<Date> |
+getDates()
+
++ Returns the DublinCore module date. |
+
+ String |
+getDescription()
+
++ Gets the DublinCore module description. |
+
+ List |
+getDescriptions()
+
++ Returns the DublinCore module description. |
+
+ String |
+getFormat()
+
++ Gets the DublinCore module format. |
+
+ List |
+getFormats()
+
++ Returns the DublinCore module format. |
+
+ String |
+getIdentifier()
+
++ Gets the DublinCore module identifier. |
+
+ List |
+getIdentifiers()
+
++ Returns the DublinCore module identifier. |
+
+ Class<? extends CopyFrom> |
+getInterface()
+
++ Returns the interface the copyFrom works on. |
+
+ String |
+getLanguage()
+
++ Gets the DublinCore module language. |
+
+ List |
+getLanguages()
+
++ Returns the DublinCore module language. |
+
+ String |
+getPublisher()
+
++ Gets the DublinCore module title. |
+
+ List |
+getPublishers()
+
++ Returns the DublinCore module publisher. |
+
+ String |
+getRelation()
+
++ Gets the DublinCore module relation. |
+
+ List |
+getRelations()
+
++ Returns the DublinCore module relation. |
+
+ String |
+getRights()
+
++ Gets the DublinCore module rights. |
+
+ List |
+getRightsList()
+
++ Returns the DublinCore module rights. |
+
+ String |
+getSource()
+
++ Gets the DublinCore module source. |
+
+ List |
+getSources()
+
++ Returns the DublinCore module source. |
+
+ DCSubject |
+getSubject()
+
++ Gets the DublinCore module subject. |
+
+ List |
+getSubjects()
+
++ Returns the DublinCore module subjects. |
+
+ String |
+getTitle()
+
++ Gets the DublinCore module title. |
+
+ List |
+getTitles()
+
++ Returns the DublinCore module titles. |
+
+ String |
+getType()
+
++ Gets the DublinCore module type. |
+
+ List |
+getTypes()
+
++ Returns the DublinCore module type. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setContributor(String contributor)
+
++ Sets the DublinCore module contributor. |
+
+ void |
+setContributors(List contributors)
+
++ Sets the DublinCore module contributors. |
+
+ void |
+setCoverage(String coverage)
+
++ Sets the DublinCore module coverage. |
+
+ void |
+setCoverages(List coverages)
+
++ Sets the DublinCore module coverages. |
+
+ void |
+setCreator(String creator)
+
++ Sets the DublinCore module creator. |
+
+ void |
+setCreators(List creators)
+
++ Sets the DublinCore module creators. |
+
+ void |
+setDate(Date date)
+
++ Sets the DublinCore module date. |
+
+ void |
+setDates(List<Date> dates)
+
++ Sets the DublinCore module dates. |
+
+ void |
+setDescription(String description)
+
++ Sets the DublinCore module description. |
+
+ void |
+setDescriptions(List descriptions)
+
++ Sets the DublinCore module descriptions. |
+
+ void |
+setFormat(String format)
+
++ Sets the DublinCore module format. |
+
+ void |
+setFormats(List formats)
+
++ Sets the DublinCore module formats. |
+
+ void |
+setIdentifier(String identifier)
+
++ Sets the DublinCore module identifier. |
+
+ void |
+setIdentifiers(List identifiers)
+
++ Sets the DublinCore module identifiers. |
+
+ void |
+setLanguage(String language)
+
++ Sets the DublinCore module language. |
+
+ void |
+setLanguages(List languages)
+
++ Sets the DublinCore module languages. |
+
+ void |
+setPublisher(String publisher)
+
++ Sets the DublinCore module publisher. |
+
+ void |
+setPublishers(List publishers)
+
++ Sets the DublinCore module publishers. |
+
+ void |
+setRelation(String relation)
+
++ Sets the DublinCore module relation. |
+
+ void |
+setRelations(List relations)
+
++ Sets the DublinCore module relations. |
+
+ void |
+setRights(String rights)
+
++ Sets the DublinCore module rights. |
+
+ void |
+setRightsList(List rights)
+
++ Sets the DublinCore module rights. |
+
+ void |
+setSource(String source)
+
++ Sets the DublinCore module source. |
+
+ void |
+setSources(List sources)
+
++ Sets the DublinCore module sources. |
+
+ void |
+setSubject(DCSubject subject)
+
++ Sets the DCSubject element. |
+
+ void |
+setSubjects(List subjects)
+
++ Sets the DublinCore module subjects. |
+
+ void |
+setTitle(String title)
+
++ Sets the DublinCore module title. |
+
+ void |
+setTitles(List titles)
+
++ Sets the DublinCore module titles. |
+
+ void |
+setType(String type)
+
++ Sets the DublinCore module type. |
+
+ void |
+setTypes(List types)
+
++ Sets the DublinCore module types. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class com.sun.syndication.feed.module.ModuleImpl | +
---|
getUri |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
Methods inherited from interface com.sun.syndication.feed.module.Module | +
---|
getUri |
+
+Field Detail | +
---|
+public static final Set CONVENIENCE_PROPERTIES+
+ Convenience properties are mapped to Modules, for cloning the convenience + properties can be ignored as the will be copied as part of the module + cloning. +
+
+Constructor Detail | +
---|
+public DCModuleImpl()+
+
+
+Method Detail | +
---|
+public List getTitles()+
+
+
getTitles
in interface DCModule
+public void setTitles(List titles)+
+
+
setTitles
in interface DCModule
titles
- the list of String representing the DublinCore module
+ titles to set, an empty list or null if none.+public String getTitle()+
+
+
getTitle
in interface DCModule
+public void setTitle(String title)+
+
+
setTitle
in interface DCModule
title
- the DublinCore module title to set, null if none.+public List getCreators()+
+
+
getCreators
in interface DCModule
+public void setCreators(List creators)+
+
+
setCreators
in interface DCModule
creators
- the list of String representing the DublinCore module
+ creators to set, an empty list or null if none.+public String getCreator()+
+
+
getCreator
in interface DCModule
+public void setCreator(String creator)+
+
+
setCreator
in interface DCModule
creator
- the DublinCore module creator to set, null if none.+public List getSubjects()+
+
+
getSubjects
in interface DCModule
+public void setSubjects(List subjects)+
+
+
setSubjects
in interface DCModule
subjects
- the list of DCSubject elements with the DublinCore
+ module subjects to set, an empty list or null if none.+public DCSubject getSubject()+
+
+
getSubject
in interface DCModule
+public void setSubject(DCSubject subject)+
+
+
setSubject
in interface DCModule
subject
- the DublinCore module subject to set, null if none.+public List getDescriptions()+
+
+
getDescriptions
in interface DCModule
+public void setDescriptions(List descriptions)+
+
+
setDescriptions
in interface DCModule
descriptions
- the list of String representing the DublinCore
+ module descriptions to set, an empty list or null if none.+public String getDescription()+
+
+
getDescription
in interface DCModule
+public void setDescription(String description)+
+
+
setDescription
in interface DCModule
description
- the DublinCore module description to set, null if none.+public List getPublishers()+
+
+
getPublishers
in interface DCModule
+public void setPublishers(List publishers)+
+
+
setPublishers
in interface DCModule
publishers
- the list of String representing the DublinCore module
+ publishers to set, an empty list or null if none.+public String getPublisher()+
+
+
getPublisher
in interface DCModule
+public void setPublisher(String publisher)+
+
+
setPublisher
in interface DCModule
publisher
- the DublinCore module publisher to set, null if none.+public List getContributors()+
+
+
getContributors
in interface DCModule
+public void setContributors(List contributors)+
+
+
setContributors
in interface DCModule
contributors
- the list of String representing the DublinCore
+ module contributors to set, an empty list or null if none.+public String getContributor()+
+
+
getContributor
in interface DCModule
+public void setContributor(String contributor)+
+
+
setContributor
in interface DCModule
contributor
- the DublinCore module contributor to set, null if none.+public List<Date> getDates()+
+
+
getDates
in interface DCModule
+public void setDates(List<Date> dates)+
+
+
setDates
in interface DCModule
dates
- the list of Date representing the DublinCore module dates
+ to set, an empty list or null if none.+public Date getDate()+
+
+
getDate
in interface DCModule
+public void setDate(Date date)+
+
+
setDate
in interface DCModule
date
- the DublinCore module date to set, null if none.+public List getTypes()+
+
+
getTypes
in interface DCModule
+public void setTypes(List types)+
+
+
setTypes
in interface DCModule
types
- the list of String representing the DublinCore module types
+ to set, an empty list or null if none.+public String getType()+
+
+
getType
in interface DCModule
+public void setType(String type)+
+
+
setType
in interface DCModule
type
- the DublinCore module type to set, null if none.+public List getFormats()+
+
+
getFormats
in interface DCModule
+public void setFormats(List formats)+
+
+
setFormats
in interface DCModule
formats
- the list of String representing the DublinCore module
+ formats to set, an empty list or null if none.+public String getFormat()+
+
+
getFormat
in interface DCModule
+public void setFormat(String format)+
+
+
setFormat
in interface DCModule
format
- the DublinCore module format to set, null if none.+public List getIdentifiers()+
+
+
getIdentifiers
in interface DCModule
+public void setIdentifiers(List identifiers)+
+
+
setIdentifiers
in interface DCModule
identifiers
- the list of String representing the DublinCore module
+ identifiers to set, an empty list or null if none.+public String getIdentifier()+
+
+
getIdentifier
in interface DCModule
+public void setIdentifier(String identifier)+
+
+
setIdentifier
in interface DCModule
identifier
- the DublinCore module identifier to set, null if none.+public List getSources()+
+
+
getSources
in interface DCModule
+public void setSources(List sources)+
+
+
setSources
in interface DCModule
sources
- the list of String representing the DublinCore module
+ sources to set, an empty list or null if none.+public String getSource()+
+
+
getSource
in interface DCModule
+public void setSource(String source)+
+
+
setSource
in interface DCModule
source
- the DublinCore module source to set, null if none.+public List getLanguages()+
+
+
getLanguages
in interface DCModule
+public void setLanguages(List languages)+
+
+
setLanguages
in interface DCModule
languages
- the list of String representing the DublinCore module
+ languages to set, an empty list or null if none.+public String getLanguage()+
+
+
getLanguage
in interface DCModule
+public void setLanguage(String language)+
+
+
setLanguage
in interface DCModule
language
- the DublinCore module language to set, null if none.+public List getRelations()+
+
+
getRelations
in interface DCModule
+public void setRelations(List relations)+
+
+
setRelations
in interface DCModule
relations
- the list of String representing the DublinCore module
+ relations to set, an empty list or null if none.+public String getRelation()+
+
+
getRelation
in interface DCModule
+public void setRelation(String relation)+
+
+
setRelation
in interface DCModule
relation
- the DublinCore module relation to set, null if none.+public List getCoverages()+
+
+
getCoverages
in interface DCModule
+public void setCoverages(List coverages)+
+
+
setCoverages
in interface DCModule
coverages
- the list of String representing the DublinCore module
+ coverages to set, an empty list or null if none.+public String getCoverage()+
+
+
getCoverage
in interface DCModule
+public void setCoverage(String coverage)+
+
+
setCoverage
in interface DCModule
coverage
- the DublinCore module coverage to set, null if none.+public List getRightsList()+
+
+
getRightsList
in interface DCModule
+public void setRightsList(List rights)+
+
+
setRightsList
in interface DCModule
rights
- the list of String representing the DublinCore module
+ rights to set, an empty list or null if none.+public String getRights()+
+
+
getRights
in interface DCModule
+public void setRights(String rights)+
+
+
setRights
in interface DCModule
rights
- the DublinCore module rights to set, null if none.+public final Object clone() + throws CloneNotSupportedException+
+
+
clone
in interface Module
clone
in class ModuleImpl
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public final boolean equals(Object other)+
+
+
equals
in class ModuleImpl
other
- he reference object with which to compare.
++public final int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class ModuleImpl
+public final String toString()+
+
+
toString
in class ModuleImpl
+public final Class<? extends CopyFrom> getInterface()+
CopyFrom
+ This is useful when dealing with properties that may have multiple implementations. + For example, Module. +
+
+
getInterface
in interface CopyFrom
+public final void copyFrom(CopyFrom obj)+
CopyFrom
+ Any existing properties in this bean are lost. +
+ This method is useful for moving from one implementation of a bean interface to another. + For example from the default SyndFeed bean implementation to a Hibernate ready implementation. +
+
+
copyFrom
in interface CopyFrom
obj
- the instance to copy properties from.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface DCSubject
+Subject of the Dublin Core ModuleImpl. +
+
+ +
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep clone of the object. |
+
+ String |
+getTaxonomyUri()
+
++ Returns the DublinCore subject taxonomy URI. |
+
+ String |
+getValue()
+
++ Returns the DublinCore subject value. |
+
+ void |
+setTaxonomyUri(String taxonomyUri)
+
++ Sets the DublinCore subject taxonomy URI. |
+
+ void |
+setValue(String value)
+
++ Sets the DublinCore subject value. |
+
Methods inherited from interface com.sun.syndication.feed.CopyFrom | +
---|
copyFrom, getInterface |
+
+Method Detail | +
---|
+String getTaxonomyUri()+
+
+
+void setTaxonomyUri(String taxonomyUri)+
+
+
taxonomyUri
- the DublinCore subject taxonomy URI to set, null if none.+String getValue()+
+
+
+void setValue(String value)+
+
+
value
- the DublinCore subject value to set, null if none.+Object clone() + throws CloneNotSupportedException+
+
+
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.module.DCSubjectImpl ++
public class DCSubjectImpl
+Subject of the Dublin Core ModuleImpl, default implementation. +
+
+ +
+
+Constructor Summary | +|
---|---|
DCSubjectImpl()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ void |
+copyFrom(CopyFrom obj)
+
++ Copies all the properties of the given bean into this one. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ Class |
+getInterface()
+
++ Returns the interface the copyFrom works on. |
+
+ String |
+getTaxonomyUri()
+
++ Returns the DublinCore subject taxonomy URI. |
+
+ String |
+getValue()
+
++ Returns the DublinCore subject value. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setTaxonomyUri(String taxonomyUri)
+
++ Sets the DublinCore subject taxonomy URI. |
+
+ void |
+setValue(String value)
+
++ Sets the DublinCore subject value. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public DCSubjectImpl()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in interface DCSubject
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getTaxonomyUri()+
+
+
getTaxonomyUri
in interface DCSubject
+public void setTaxonomyUri(String taxonomyUri)+
+
+
setTaxonomyUri
in interface DCSubject
taxonomyUri
- the DublinCore subject taxonomy URI to set, null if none.+public String getValue()+
+
+
getValue
in interface DCSubject
+public void setValue(String value)+
+
+
setValue
in interface DCSubject
value
- the DublinCore subject value to set, null if none.+public Class getInterface()+
CopyFrom
+ This is useful when dealing with properties that may have multiple implementations. + For example, Module. +
+
+
getInterface
in interface CopyFrom
+public void copyFrom(CopyFrom obj)+
CopyFrom
+ Any existing properties in this bean are lost. +
+ This method is useful for moving from one implementation of a bean interface to another. + For example from the default SyndFeed bean implementation to a Hibernate ready implementation. +
+
+
copyFrom
in interface CopyFrom
obj
- the instance to copy properties from.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface Extendable
+Objects that can have modules are Extendable. +
+ +
+
+Method Summary | +|
---|---|
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List<Module> |
+getModules()
+
++ Returns the entry modules. |
+
+ void |
+setModules(List<Module> modules)
+
++ Sets the entry modules. |
+
+Method Detail | +
---|
+Module getModule(String uri)+
+
+
uri
- the URI of the ModuleImpl.
++List<Module> getModules()+
+
+
+void setModules(List<Module> modules)+
+
+
modules
- the list of ModuleImpl elements with the entry modules to set,
+ an empty list or null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface Module
+Base class for modules describing Metadata of feeds. Examples of such modules are + the Dublin Core and Syndication modules. +
+
+ +
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep clone of the object. |
+
+ String |
+getUri()
+
++ Returns the URI of the module. |
+
Methods inherited from interface com.sun.syndication.feed.CopyFrom | +
---|
copyFrom, getInterface |
+
+Method Detail | +
---|
+String getUri()+
+
+
+Object clone() + throws CloneNotSupportedException+
+
+
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.module.ModuleImpl ++
public abstract class ModuleImpl
+Base class for modules describing Metadata of feeds, default implementations. + Examples of such modules are the Dublin Core and Syndication modules. +
+
+ +
+
+Constructor Summary | +|
---|---|
+protected |
+ModuleImpl(Class beanClass,
+ String uri)
+
++ Constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getUri()
+
++ Returns the URI of the module. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
Methods inherited from interface com.sun.syndication.feed.CopyFrom | +
---|
copyFrom, getInterface |
+
+Constructor Detail | +
---|
+protected ModuleImpl(Class beanClass, + String uri)+
+
+
uri
- URI of the module.+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in interface Module
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getUri()+
+
+
getUri
in interface Module
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface SyModule
+Syndication ModuleImpl. +
+
+ +
+
+Field Summary | +|
---|---|
+static String |
+DAILY
+
++ |
+
+static String |
+HOURLY
+
++ |
+
+static String |
+MONTHLY
+
++ |
+
+static String |
+URI
+
++ URI of the Syndication ModuleImpl (http://purl.org/rss/1.0/modules/syndication/). |
+
+static String |
+WEEKLY
+
++ |
+
+static String |
+YEARLY
+
++ |
+
+Method Summary | +|
---|---|
+ Date |
+getUpdateBase()
+
++ Returns the Syndication module update base date. |
+
+ int |
+getUpdateFrequency()
+
++ Returns the Syndication module update frequency. |
+
+ String |
+getUpdatePeriod()
+
++ Returns the Syndication module update period. |
+
+ void |
+setUpdateBase(Date updateBase)
+
++ Sets the Syndication module update base date. |
+
+ void |
+setUpdateFrequency(int updateFrequency)
+
++ Sets the Syndication module update frequency. |
+
+ void |
+setUpdatePeriod(String updatePeriod)
+
++ Sets the Syndication module update period. |
+
Methods inherited from interface com.sun.syndication.feed.module.Module | +
---|
clone, getUri |
+
Methods inherited from interface com.sun.syndication.feed.CopyFrom | +
---|
copyFrom, getInterface |
+
+Field Detail | +
---|
+static final String URI+
+
+static final String HOURLY+
+static final String DAILY+
+static final String WEEKLY+
+static final String MONTHLY+
+static final String YEARLY+
+Method Detail | +
---|
+String getUpdatePeriod()+
+
+
+void setUpdatePeriod(String updatePeriod)+
+
+
updatePeriod
- the Syndication module update period to set, null if none.+int getUpdateFrequency()+
+
+
+void setUpdateFrequency(int updateFrequency)+
+
+
updateFrequency
- the Syndication module update frequency to set, null if none.+Date getUpdateBase()+
+
+
+void setUpdateBase(Date updateBase)+
+
+
updateBase
- the Syndication module update base date to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.module.ModuleImpl + com.sun.syndication.feed.module.SyModuleImpl ++
public class SyModuleImpl
+Syndication ModuleImpl, default implementation. +
+
+ +
+
+Field Summary | +
---|
Fields inherited from interface com.sun.syndication.feed.module.SyModule | +
---|
DAILY, HOURLY, MONTHLY, URI, WEEKLY, YEARLY |
+
+Constructor Summary | +|
---|---|
SyModuleImpl()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ void |
+copyFrom(CopyFrom obj)
+
++ Copies all the properties of the given bean into this one. |
+
+ Class<? extends Module> |
+getInterface()
+
++ Returns the interface the copyFrom works on. |
+
+ Date |
+getUpdateBase()
+
++ Returns the Syndication module update base date. |
+
+ int |
+getUpdateFrequency()
+
++ Returns the Syndication module update frequency. |
+
+ String |
+getUpdatePeriod()
+
++ Returns the Syndication module update period. |
+
+ void |
+setUpdateBase(Date updateBase)
+
++ Sets the Syndication module update base date. |
+
+ void |
+setUpdateFrequency(int updateFrequency)
+
++ Sets the Syndication module update frequency. |
+
+ void |
+setUpdatePeriod(String updatePeriod)
+
++ Sets the Syndication module update period. |
+
Methods inherited from class com.sun.syndication.feed.module.ModuleImpl | +
---|
clone, equals, getUri, hashCode, toString |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
Methods inherited from interface com.sun.syndication.feed.module.Module | +
---|
clone, getUri |
+
+Constructor Detail | +
---|
+public SyModuleImpl()+
+
+
+Method Detail | +
---|
+public String getUpdatePeriod()+
+
+
getUpdatePeriod
in interface SyModule
+public void setUpdatePeriod(String updatePeriod)+
+
+
setUpdatePeriod
in interface SyModule
updatePeriod
- the Syndication module update period to set, null if none.+public int getUpdateFrequency()+
+
+
getUpdateFrequency
in interface SyModule
+public void setUpdateFrequency(int updateFrequency)+
+
+
setUpdateFrequency
in interface SyModule
updateFrequency
- the Syndication module update frequency to set, null if none.+public Date getUpdateBase()+
+
+
getUpdateBase
in interface SyModule
+public void setUpdateBase(Date updateBase)+
+
+
setUpdateBase
in interface SyModule
updateBase
- the Syndication module update base date to set, null if none.+public Class<? extends Module> getInterface()+
CopyFrom
+ This is useful when dealing with properties that may have multiple implementations. + For example, Module. +
+
+
getInterface
in interface CopyFrom
+public void copyFrom(CopyFrom obj)+
CopyFrom
+ Any existing properties in this bean are lost. +
+ This method is useful for moving from one implementation of a bean interface to another. + For example from the default SyndFeed bean implementation to a Hibernate ready implementation. +
+
+
copyFrom
in interface CopyFrom
obj
- the instance to copy properties from.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use DCModule | +|
---|---|
com.sun.syndication.feed.module | ++ |
+Uses of DCModule in com.sun.syndication.feed.module | +
---|
+ +
Classes in com.sun.syndication.feed.module that implement DCModule | +|
---|---|
+ class |
+DCModuleImpl
+
++ Dublin Core ModuleImpl, default implementation. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use DCSubject | +|
---|---|
com.sun.syndication.feed.module | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of DCSubject in com.sun.syndication.feed.module | +
---|
+ +
Classes in com.sun.syndication.feed.module that implement DCSubject | +|
---|---|
+ class |
+DCSubjectImpl
+
++ Subject of the Dublin Core ModuleImpl, default implementation. |
+
+ +
Methods in com.sun.syndication.feed.module that return DCSubject | +|
---|---|
+ DCSubject |
+DCModuleImpl.getSubject()
+
++ Gets the DublinCore module subject. |
+
+ DCSubject |
+DCModule.getSubject()
+
++ Gets the DublinCore module subject. |
+
+ +
Methods in com.sun.syndication.feed.module that return types with arguments of type DCSubject | +|
---|---|
+ List<DCSubject> |
+DCModule.getSubjects()
+
++ Returns the DublinCore module subjects. |
+
+ +
Methods in com.sun.syndication.feed.module with parameters of type DCSubject | +|
---|---|
+ void |
+DCModuleImpl.setSubject(DCSubject subject)
+
++ Sets the DCSubject element. |
+
+ void |
+DCModule.setSubject(DCSubject subject)
+
++ Sets the DCSubject element. |
+
+ +
Method parameters in com.sun.syndication.feed.module with type arguments of type DCSubject | +|
---|---|
+ void |
+DCModule.setSubjects(List<DCSubject> subjects)
+
++ Sets the DublinCore module subjects. |
+
+Uses of DCSubject in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type DCSubject | +|
---|---|
+protected org.jdom.Element |
+DCModuleGenerator.generateSubjectElement(DCSubject subject)
+
++ Utility method to generate an element for a subject. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Extendable | +|
---|---|
com.sun.syndication.feed | ++ |
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Extendable in com.sun.syndication.feed | +
---|
+ +
Classes in com.sun.syndication.feed that implement Extendable | +|
---|---|
+ class |
+WireFeed
+
++ Parent class of the RSS (Channel) and Atom (Feed) feed beans. |
+
+Uses of Extendable in com.sun.syndication.feed.atom | +
---|
+ +
Classes in com.sun.syndication.feed.atom that implement Extendable | +|
---|---|
+ class |
+Entry
+
++ Bean for entry elements of Atom feeds. |
+
+ class |
+Feed
+
++ Bean for Atom feeds. |
+
+ class |
+Person
+
++ Bean for person elements of Atom feeds. |
+
+Uses of Extendable in com.sun.syndication.feed.rss | +
---|
+ +
Classes in com.sun.syndication.feed.rss that implement Extendable | +|
---|---|
+ class |
+Channel
+
++ Bean for RSS feeds. |
+
+ class |
+Item
+
++ Bean for items of RSS feeds. |
+
+Uses of Extendable in com.sun.syndication.feed.synd | +
---|
+ +
Subinterfaces of Extendable in com.sun.syndication.feed.synd | +|
---|---|
+ interface |
+SyndEntry
+
++ Bean interface for entries of SyndFeedImpl feeds. |
+
+ interface |
+SyndFeed
+
++ Bean interface for all types of feeds. |
+
+ interface |
+SyndPerson
+
++ Bean interface for authors and contributors of SyndFeedImpl feeds and entries. |
+
+ +
Classes in com.sun.syndication.feed.synd that implement Extendable | +|
---|---|
+ class |
+SyndEntryImpl
+
++ Bean for entries of SyndFeedImpl feeds. |
+
+ class |
+SyndFeedImpl
+
++ Bean for all types of feeds. |
+
+ class |
+SyndPersonImpl
+
++ Bean for authors and contributors of SyndFeedImpl feeds and entries. |
+
+Uses of Extendable in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Extendable | +|
---|---|
+protected List |
+BaseWireFeedParser.extractForeignMarkup(org.jdom.Element e,
+ Extendable ext,
+ org.jdom.Namespace basens)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Module | +|
---|---|
com.sun.syndication.feed | ++ |
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.feed.module | ++ |
com.sun.syndication.feed.module.impl | ++ |
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.io | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Module in com.sun.syndication.feed | +
---|
+ +
Methods in com.sun.syndication.feed that return Module | +|
---|---|
+ Module |
+WireFeed.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ +
Methods in com.sun.syndication.feed that return types with arguments of type Module | +|
---|---|
+ List<Module> |
+WireFeed.getModules()
+
++ Returns the channel modules. |
+
+ +
Method parameters in com.sun.syndication.feed with type arguments of type Module | +|
---|---|
+ void |
+WireFeed.setModules(List<Module> modules)
+
++ Sets the channel modules. |
+
+Uses of Module in com.sun.syndication.feed.atom | +
---|
+ +
Methods in com.sun.syndication.feed.atom that return Module | +|
---|---|
+ Module |
+Person.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ Module |
+Entry.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ Module |
+Feed.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ +
Methods in com.sun.syndication.feed.atom that return types with arguments of type Module | +|
---|---|
+ List<Module> |
+Feed.getModules()
+
++ Returns the feed modules. |
+
+ +
Method parameters in com.sun.syndication.feed.atom with type arguments of type Module | +|
---|---|
+ void |
+Feed.setModules(List<Module> modules)
+
++ Sets the feed moduless. |
+
+Uses of Module in com.sun.syndication.feed.module | +
---|
+ +
Subinterfaces of Module in com.sun.syndication.feed.module | +|
---|---|
+ interface |
+DCModule
+
++ Dublin Core Module. |
+
+ interface |
+SyModule
+
++ Syndication ModuleImpl. |
+
+ +
Classes in com.sun.syndication.feed.module that implement Module | +|
---|---|
+ class |
+DCModuleImpl
+
++ Dublin Core ModuleImpl, default implementation. |
+
+ class |
+ModuleImpl
+
++ Base class for modules describing Metadata of feeds, default implementations. |
+
+ class |
+SyModuleImpl
+
++ Syndication ModuleImpl, default implementation. |
+
+ +
Methods in com.sun.syndication.feed.module that return Module | +|
---|---|
+ Module |
+Extendable.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ +
Methods in com.sun.syndication.feed.module that return types with arguments of type Module | +|
---|---|
+ Class<? extends Module> |
+SyModuleImpl.getInterface()
+
++ |
+
+ List<Module> |
+Extendable.getModules()
+
++ Returns the entry modules. |
+
+ +
Method parameters in com.sun.syndication.feed.module with type arguments of type Module | +|
---|---|
+ void |
+Extendable.setModules(List<Module> modules)
+
++ Sets the entry modules. |
+
+Uses of Module in com.sun.syndication.feed.module.impl | +
---|
+ +
Methods in com.sun.syndication.feed.module.impl that return Module | +|
---|---|
+static Module |
+ModuleUtils.getModule(List<Module> modules,
+ String uri)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.module.impl that return types with arguments of type Module | +|
---|---|
+static List<Module> |
+ModuleUtils.cloneModules(List<Module> modules)
+
++ |
+
+ +
Method parameters in com.sun.syndication.feed.module.impl with type arguments of type Module | +|
---|---|
+static List<Module> |
+ModuleUtils.cloneModules(List<Module> modules)
+
++ |
+
+static Module |
+ModuleUtils.getModule(List<Module> modules,
+ String uri)
+
++ |
+
+Uses of Module in com.sun.syndication.feed.rss | +
---|
+ +
Methods in com.sun.syndication.feed.rss that return Module | +|
---|---|
+ Module |
+Item.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ Module |
+Channel.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ +
Methods in com.sun.syndication.feed.rss that return types with arguments of type Module | +|
---|---|
+ List<Module> |
+Item.getModules()
+
++ Returns the item modules. |
+
+ List<Module> |
+Channel.getModules()
+
++ Returns the channel modules. |
+
+ +
Method parameters in com.sun.syndication.feed.rss with type arguments of type Module | +|
---|---|
+ void |
+Item.setModules(List<Module> modules)
+
++ Sets the item modules. |
+
+ void |
+Channel.setModules(List<Module> modules)
+
++ Sets the channel modules. |
+
+Uses of Module in com.sun.syndication.feed.synd | +
---|
+ +
Methods in com.sun.syndication.feed.synd that return Module | +|
---|---|
+ Module |
+SyndEntry.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ Module |
+SyndFeed.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ Module |
+SyndEntryImpl.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ Module |
+SyndPersonImpl.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ Module |
+SyndFeedImpl.getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ +
Methods in com.sun.syndication.feed.synd that return types with arguments of type Module | +|
---|---|
+ List<Module> |
+SyndEntry.getModules()
+
++ Returns the entry modules. |
+
+ List<Module> |
+SyndFeed.getModules()
+
++ Returns the feed modules. |
+
+ List<Module> |
+SyndEntryImpl.getModules()
+
++ Returns the entry modules. |
+
+ +
Method parameters in com.sun.syndication.feed.synd with type arguments of type Module | +|
---|---|
+ void |
+SyndEntry.setModules(List<Module> modules)
+
++ Sets the entry modules. |
+
+ void |
+SyndEntryImpl.setModules(List<Module> modules)
+
++ Sets the entry modules. |
+
+Uses of Module in com.sun.syndication.io | +
---|
+ +
Methods in com.sun.syndication.io that return Module | +|
---|---|
+ Module |
+ModuleParser.parse(org.jdom.Element element)
+
++ Parses the XML node (JDOM element) extracting module information. |
+
+ +
Methods in com.sun.syndication.io with parameters of type Module | +|
---|---|
+ void |
+ModuleGenerator.generate(Module module,
+ org.jdom.Element element)
+
++ Generates and injects module metadata into an XML node (JDOM element). |
+
+Uses of Module in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl that return Module | +|
---|---|
+ Module |
+DCModuleParser.parse(org.jdom.Element dcRoot)
+
++ Parse an element tree and return the module found in it. |
+
+ Module |
+SyModuleParser.parse(org.jdom.Element syndRoot)
+
++ |
+
+ +
Methods in com.sun.syndication.io.impl with parameters of type Module | +|
---|---|
+ void |
+DCModuleGenerator.generate(Module module,
+ org.jdom.Element element)
+
++ Populate an element tree with elements for a module. |
+
+ void |
+SyModuleGenerator.generate(Module module,
+ org.jdom.Element element)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use ModuleImpl | +|
---|---|
com.sun.syndication.feed.module | ++ |
+Uses of ModuleImpl in com.sun.syndication.feed.module | +
---|
+ +
Subclasses of ModuleImpl in com.sun.syndication.feed.module | +|
---|---|
+ class |
+DCModuleImpl
+
++ Dublin Core ModuleImpl, default implementation. |
+
+ class |
+SyModuleImpl
+
++ Syndication ModuleImpl, default implementation. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use SyModule | +|
---|---|
com.sun.syndication.feed.module | ++ |
+Uses of SyModule in com.sun.syndication.feed.module | +
---|
+ +
Classes in com.sun.syndication.feed.module that implement SyModule | +|
---|---|
+ class |
+SyModuleImpl
+
++ Syndication ModuleImpl, default implementation. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.module.impl.ModuleUtils ++
public class ModuleUtils
+
+Constructor Summary | +|
---|---|
ModuleUtils()
+
++ |
+
+Method Summary | +|
---|---|
+static List<Module> |
+cloneModules(List<Module> modules)
+
++ |
+
+static Module |
+getModule(List<Module> modules,
+ String uri)
+
++ |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ModuleUtils()+
+Method Detail | +
---|
+public static List<Module> cloneModules(List<Module> modules)+
+public static Module getModule(List<Module> modules, + String uri)+
modules
- uri
-
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Classes
+
+ +ModuleUtils |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+Class Summary | +|
---|---|
ModuleUtils | ++ |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Interfaces
+
+ +DCModule + +DCSubject + +Extendable + +Module + +SyModule |
+
+Classes
+
+ +DCModuleImpl + +DCSubjectImpl + +ModuleImpl + +SyModuleImpl |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+Interface Summary | +|
---|---|
DCModule | +Dublin Core Module. | +
DCSubject | +Subject of the Dublin Core ModuleImpl. | +
Extendable | +Objects that can have modules are Extendable. | +
Module | +Base class for modules describing Metadata of feeds. | +
SyModule | +Syndication ModuleImpl. | +
+ +
+Class Summary | +|
---|---|
DCModuleImpl | +Dublin Core ModuleImpl, default implementation. | +
DCSubjectImpl | +Subject of the Dublin Core ModuleImpl, default implementation. | +
ModuleImpl | +Base class for modules describing Metadata of feeds, default implementations. | +
SyModuleImpl | +Syndication ModuleImpl, default implementation. | +
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use com.sun.syndication.feed.module | +|
---|---|
com.sun.syndication.feed | ++ |
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.feed.module | ++ |
com.sun.syndication.feed.module.impl | ++ |
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.io | ++ |
com.sun.syndication.io.impl | ++ |
+Classes in com.sun.syndication.feed.module used by com.sun.syndication.feed | +|
---|---|
Extendable
+
+ + Objects that can have modules are Extendable. |
+|
Module
+
+ + Base class for modules describing Metadata of feeds. |
+
+Classes in com.sun.syndication.feed.module used by com.sun.syndication.feed.atom | +|
---|---|
Extendable
+
+ + Objects that can have modules are Extendable. |
+|
Module
+
+ + Base class for modules describing Metadata of feeds. |
+
+Classes in com.sun.syndication.feed.module used by com.sun.syndication.feed.module | +|
---|---|
DCModule
+
+ + Dublin Core Module. |
+|
DCSubject
+
+ + Subject of the Dublin Core ModuleImpl. |
+|
Module
+
+ + Base class for modules describing Metadata of feeds. |
+|
ModuleImpl
+
+ + Base class for modules describing Metadata of feeds, default implementations. |
+|
SyModule
+
+ + Syndication ModuleImpl. |
+
+Classes in com.sun.syndication.feed.module used by com.sun.syndication.feed.module.impl | +|
---|---|
Module
+
+ + Base class for modules describing Metadata of feeds. |
+
+Classes in com.sun.syndication.feed.module used by com.sun.syndication.feed.rss | +|
---|---|
Extendable
+
+ + Objects that can have modules are Extendable. |
+|
Module
+
+ + Base class for modules describing Metadata of feeds. |
+
+Classes in com.sun.syndication.feed.module used by com.sun.syndication.feed.synd | +|
---|---|
Extendable
+
+ + Objects that can have modules are Extendable. |
+|
Module
+
+ + Base class for modules describing Metadata of feeds. |
+
+Classes in com.sun.syndication.feed.module used by com.sun.syndication.io | +|
---|---|
Module
+
+ + Base class for modules describing Metadata of feeds. |
+
+Classes in com.sun.syndication.feed.module used by com.sun.syndication.io.impl | +|
---|---|
DCSubject
+
+ + Subject of the Dublin Core ModuleImpl. |
+|
Extendable
+
+ + Objects that can have modules are Extendable. |
+|
Module
+
+ + Base class for modules describing Metadata of feeds. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Interfaces
+
+ +CopyFrom |
+
+Classes
+
+ +WireFeed |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+Interface Summary | +|
---|---|
CopyFrom<T> | ++ |
+ +
+Class Summary | +|
---|---|
WireFeed | +Parent class of the RSS (Channel) and Atom (Feed) feed beans. | +
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use com.sun.syndication.feed | +|
---|---|
com.sun.syndication.feed | ++ |
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.feed.module | ++ |
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io | ++ |
com.sun.syndication.io.impl | ++ |
+Classes in com.sun.syndication.feed used by com.sun.syndication.feed | +|
---|---|
CopyFrom
+
+ + |
+
+Classes in com.sun.syndication.feed used by com.sun.syndication.feed.atom | +|
---|---|
WireFeed
+
+ + Parent class of the RSS (Channel) and Atom (Feed) feed beans. |
+
+Classes in com.sun.syndication.feed used by com.sun.syndication.feed.module | +|
---|---|
CopyFrom
+
+ + |
+
+Classes in com.sun.syndication.feed used by com.sun.syndication.feed.rss | +|
---|---|
WireFeed
+
+ + Parent class of the RSS (Channel) and Atom (Feed) feed beans. |
+
+Classes in com.sun.syndication.feed used by com.sun.syndication.feed.synd | +|
---|---|
CopyFrom
+
+ + |
+|
WireFeed
+
+ + Parent class of the RSS (Channel) and Atom (Feed) feed beans. |
+
+Classes in com.sun.syndication.feed used by com.sun.syndication.feed.synd.impl | +|
---|---|
WireFeed
+
+ + Parent class of the RSS (Channel) and Atom (Feed) feed beans. |
+
+Classes in com.sun.syndication.feed used by com.sun.syndication.io | +|
---|---|
WireFeed
+
+ + Parent class of the RSS (Channel) and Atom (Feed) feed beans. |
+
+Classes in com.sun.syndication.feed used by com.sun.syndication.io.impl | +|
---|---|
WireFeed
+
+ + Parent class of the RSS (Channel) and Atom (Feed) feed beans. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.rss.Category ++
public class Category
+Bean for categories of RSS feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Category()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getDomain()
+
++ Returns the category domain. |
+
+ String |
+getValue()
+
++ Returns the category value. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setDomain(String domain)
+
++ Sets the category domain. |
+
+ void |
+setValue(String value)
+
++ Sets the category value. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Category()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getDomain()+
+
+
+public void setDomain(String domain)+
+
+
domain
- the category domain to set, null if none.+public String getValue()+
+
+
+public void setValue(String value)+
+
+
value
- the category value to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.WireFeed + com.sun.syndication.feed.rss.Channel ++
public class Channel
+Bean for RSS feeds. +
+ It handles all RSS versions (0.9, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0) + without losing information. +
+
+ +
+
+Field Summary | +|
---|---|
+static String |
+FRIDAY
+
++ |
+
+static String |
+MONDAY
+
++ |
+
+static String |
+SATURDAY
+
++ |
+
+static String |
+SUNDAY
+
++ |
+
+static String |
+THURSDAY
+
++ |
+
+static String |
+TUESDAY
+
++ |
+
+static String |
+WEDNESDAY
+
++ |
+
+Constructor Summary | +|
---|---|
Channel()
+
++ Default constructor, for bean cloning purposes only. |
+|
Channel(String type)
+
++ Channel Constructor. |
+
+Method Summary | +|
---|---|
+ List<Category> |
+getCategories()
+
++ Returns the channel categories. |
+
+ Cloud |
+getCloud()
+
++ Returns the channel cloud. |
+
+ String |
+getCopyright()
+
++ Returns the channel copyright. |
+
+ String |
+getDescription()
+
++ Returns the channel description. |
+
+ String |
+getDocs()
+
++ Returns the channel docs. |
+
+ String |
+getGenerator()
+
++ Returns the channel generator. |
+
+ Image |
+getImage()
+
++ Returns the channel image. |
+
+ List<Item> |
+getItems()
+
++ Returns the channel items. |
+
+ String |
+getLanguage()
+
++ Returns the channel language. |
+
+ Date |
+getLastBuildDate()
+
++ Returns the channel last build date. |
+
+ String |
+getLink()
+
++ Returns the channel link. |
+
+ String |
+getManagingEditor()
+
++ Returns the channel managing editor. |
+
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List<Module> |
+getModules()
+
++ Returns the channel modules. |
+
+ Date |
+getPubDate()
+
++ Returns the channel publishing date. |
+
+ String |
+getRating()
+
++ Returns the channel rating. |
+
+ List<String> |
+getSkipDays()
+
++ Returns the channel skip days. |
+
+ List<Integer> |
+getSkipHours()
+
++ Returns the channel skip hours. |
+
+ TextInput |
+getTextInput()
+
++ Returns the channel text input. |
+
+ String |
+getTitle()
+
++ Returns the channel title. |
+
+ int |
+getTtl()
+
++ Returns the channel time to live. |
+
+ String |
+getUri()
+
++ Returns the channel uri. |
+
+ String |
+getWebMaster()
+
++ Returns the channel web master. |
+
+ void |
+setCategories(List<Category> categories)
+
++ Sets the channel categories. |
+
+ void |
+setCloud(Cloud cloud)
+
++ Sets the channel cloud. |
+
+ void |
+setCopyright(String copyright)
+
++ Sets the channel copyright. |
+
+ void |
+setDescription(String description)
+
++ Sets the channel description. |
+
+ void |
+setDocs(String docs)
+
++ Sets the channel docs. |
+
+ void |
+setGenerator(String generator)
+
++ Sets the channel generator. |
+
+ void |
+setImage(Image image)
+
++ Sets the channel image. |
+
+ void |
+setItems(List<Item> items)
+
++ Sets the channel items. |
+
+ void |
+setLanguage(String language)
+
++ Sets the channel language. |
+
+ void |
+setLastBuildDate(Date lastBuildDate)
+
++ Sets the channel last build date. |
+
+ void |
+setLink(String link)
+
++ Sets the channel link. |
+
+ void |
+setManagingEditor(String managingEditor)
+
++ Sets the channel managing editor. |
+
+ void |
+setModules(List<Module> modules)
+
++ Sets the channel modules. |
+
+ void |
+setPubDate(Date pubDate)
+
++ Sets the channel publishing date. |
+
+ void |
+setRating(String rating)
+
++ Sets the channel rating. |
+
+ void |
+setSkipDays(List<String> skipDays)
+
++ Sets the channel skip days. |
+
+ void |
+setSkipHours(List<Integer> skipHours)
+
++ Sets the channel skip hours. |
+
+ void |
+setTextInput(TextInput textInput)
+
++ Sets the channel text input. |
+
+ void |
+setTitle(String title)
+
++ Sets the channel title. |
+
+ void |
+setTtl(int ttl)
+
++ Sets the channel time to live. |
+
+ void |
+setUri(String uri)
+
++ Sets the channel uri. |
+
+ void |
+setWebMaster(String webMaster)
+
++ Sets the channel web master. |
+
Methods inherited from class com.sun.syndication.feed.WireFeed | +
---|
clone, equals, getEncoding, getFeedType, getForeignMarkup, hashCode, setEncoding, setFeedType, setForeignMarkup, toString |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Field Detail | +
---|
+public static final String SUNDAY+
+public static final String MONDAY+
+public static final String TUESDAY+
+public static final String WEDNESDAY+
+public static final String THURSDAY+
+public static final String FRIDAY+
+public static final String SATURDAY+
+Constructor Detail | +
---|
+public Channel()+
+
+public Channel(String type)+
+
+
type
- the type of the RSS feed.+Method Detail | +
---|
+public String getTitle()+
+
+
+public void setTitle(String title)+
+
+
title
- the channel title to set, null if none.+public String getDescription()+
+
+
+public void setDescription(String description)+
+
+
description
- the channel description to set, null if none.+public String getLink()+
+
+
+public void setLink(String link)+
+
+
link
- the channel link to set, null if none.+public String getUri()+
+
+
+public void setUri(String uri)+
+
+
uri
- the channel uri, null if none.+public Image getImage()+
+
+
+public void setImage(Image image)+
+
+
image
- the channel image to set, null if none.+public List<Item> getItems()+
+
+
+public void setItems(List<Item> items)+
+
+
items
- the list of Item elements with the channel items to set,
+ an empty list or null if none.+public TextInput getTextInput()+
+
+
+public void setTextInput(TextInput textInput)+
+
+
textInput
- the channel text input to set, null if none.+public String getLanguage()+
+
+
+public void setLanguage(String language)+
+
+
language
- the channel language to set, null if none.+public String getRating()+
+
+
+public void setRating(String rating)+
+
+
rating
- the channel rating to set, null if none.+public String getCopyright()+
+
+
+public void setCopyright(String copyright)+
+
+
copyright
- the channel copyright to set, null if none.+public Date getPubDate()+
+
+
+public void setPubDate(Date pubDate)+
+
+
pubDate
- the channel publishing date to set, null if none.+public Date getLastBuildDate()+
+
+
+public void setLastBuildDate(Date lastBuildDate)+
+
+
lastBuildDate
- the channel last build date to set, null if none.+public String getDocs()+
+
+
+public void setDocs(String docs)+
+
+
docs
- the channel docs to set, null if none.+public String getManagingEditor()+
+
+
+public void setManagingEditor(String managingEditor)+
+
+
managingEditor
- the channel managing editor to set, null if none.+public String getWebMaster()+
+
+
+public void setWebMaster(String webMaster)+
+
+
webMaster
- the channel web master to set, null if none.+public List<Integer> getSkipHours()+
+
+
+public void setSkipHours(List<Integer> skipHours)+
+
+
skipHours
- the list of Integer elements with the channel skip hours to set,
+ an empty list or null if none.+public List<String> getSkipDays()+
+
+
+public void setSkipDays(List<String> skipDays)+
+
+
skipDays
- the list of Day elements with the channel skip days to set,
+ an empty list or null if none.+public Cloud getCloud()+
+
+
+public void setCloud(Cloud cloud)+
+
+
cloud
- the channel cloud to set, null if none.+public List<Category> getCategories()+
+
+
+public void setCategories(List<Category> categories)+
+
+
categories
- the list of Category elements with the channel categories to set,
+ an empty list or null if none.+public String getGenerator()+
+
+
+public void setGenerator(String generator)+
+
+
generator
- the channel generator to set, null if none.+public int getTtl()+
+
+
+public void setTtl(int ttl)+
+
+
ttl
- the channel time to live to set, null if none.+public List<Module> getModules()+
+
+
getModules
in interface Extendable
getModules
in class WireFeed
+public void setModules(List<Module> modules)+
+
+
setModules
in interface Extendable
setModules
in class WireFeed
modules
- the list of ModuleImpl elements with the channel modules to set,
+ an empty list or null if none.+public Module getModule(String uri)+
+
+
getModule
in interface Extendable
getModule
in class WireFeed
uri
- the URI of the ModuleImpl.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.rss.Cloud ++
public class Cloud
+Bean for clouds of RSS feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Cloud()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getDomain()
+
++ Returns the cloud domain. |
+
+ String |
+getPath()
+
++ Returns the cloud path. |
+
+ int |
+getPort()
+
++ Returns the cloud port. |
+
+ String |
+getProtocol()
+
++ Returns the cloud protocol. |
+
+ String |
+getRegisterProcedure()
+
++ Returns the cloud register procedure. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setDomain(String domain)
+
++ Sets the cloud domain. |
+
+ void |
+setPath(String path)
+
++ Sets the cloud path. |
+
+ void |
+setPort(int port)
+
++ Sets the cloud port. |
+
+ void |
+setProtocol(String protocol)
+
++ Sets the cloud protocol. |
+
+ void |
+setRegisterProcedure(String registerProcedure)
+
++ Sets the cloud register procedure. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Cloud()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getDomain()+
+
+
+public void setDomain(String domain)+
+
+
domain
- the cloud domain to set, null if none.+public int getPort()+
+
+
+public void setPort(int port)+
+
+
port
- the cloud port to set, null if none.+public String getPath()+
+
+
+public void setPath(String path)+
+
+
path
- the cloud path to set, null if none.+public String getRegisterProcedure()+
+
+
+public void setRegisterProcedure(String registerProcedure)+
+
+
registerProcedure
- the cloud register procedure to set, null if none.+public String getProtocol()+
+
+
+public void setProtocol(String protocol)+
+
+
protocol
- the cloud protocol to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.rss.Content ++
public class Content
+Bean for item descriptions of RSS feeds. +
+
+ +
+
+Field Summary | +|
---|---|
+static String |
+HTML
+
++ |
+
+static String |
+TEXT
+
++ |
+
+Constructor Summary | +|
---|---|
Content()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getType()
+
++ Returns the description type. |
+
+ String |
+getValue()
+
++ Returns the description value. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setType(String type)
+
++ Sets the description type. |
+
+ void |
+setValue(String value)
+
++ Sets the description value. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Field Detail | +
---|
+public static final String HTML+
+public static final String TEXT+
+Constructor Detail | +
---|
+public Content()+
+
+
+Method Detail | +
---|
+public void setType(String type)+
+
+
type
- the description type to set, null if none.+public String getType()+
+
+
+public void setValue(String value)+
+
+
value
- the description value to set, null if none.+public String getValue()+
+
+
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.rss.Description ++
public class Description
+Bean for item descriptions of RSS feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Description()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getType()
+
++ Returns the description type. |
+
+ String |
+getValue()
+
++ Returns the description value. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setType(String type)
+
++ Sets the description type. |
+
+ void |
+setValue(String value)
+
++ Sets the description value. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Description()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getType()+
+
+
+public void setType(String type)+
+
+
type
- the description type to set, null if none.+public String getValue()+
+
+
+public void setValue(String value)+
+
+
value
- the description value to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.rss.Enclosure ++
public class Enclosure
+Bean for item enclosures of RSS feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Enclosure()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ long |
+getLength()
+
++ Returns the enclosure length. |
+
+ String |
+getType()
+
++ Returns the enclosure type. |
+
+ String |
+getUrl()
+
++ Returns the enclosure URL. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setLength(long length)
+
++ Sets the enclosure length. |
+
+ void |
+setType(String type)
+
++ Sets the enclosure type. |
+
+ void |
+setUrl(String url)
+
++ Sets the enclosure URL. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Enclosure()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getUrl()+
+
+
+public void setUrl(String url)+
+
+
url
- the enclosure URL to set, null if none.+public long getLength()+
+
+
+public void setLength(long length)+
+
+
length
- the enclosure length to set, 0 if none.+public String getType()+
+
+
+public void setType(String type)+
+
+
type
- the enclosure type to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.rss.Guid ++
public class Guid
+Bean for item GUIDs of RSS feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Guid()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getValue()
+
++ Returns the guid value. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ boolean |
+isPermaLink()
+
++ Returns the guid perma link. |
+
+ void |
+setPermaLink(boolean permaLink)
+
++ Sets the guid perma link. |
+
+ void |
+setValue(String value)
+
++ Sets the guid value. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Guid()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public boolean isPermaLink()+
+
+
+public void setPermaLink(boolean permaLink)+
+
+
permaLink
- the guid perma link to set, null if none.+public String getValue()+
+
+
+public void setValue(String value)+
+
+
value
- the guid value to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.rss.Image ++
public class Image
+Bean for images of RSS feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Image()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getDescription()
+
++ Returns the image description. |
+
+ Integer |
+getHeight()
+
++ Returns the image height. |
+
+ String |
+getLink()
+
++ Returns the image link. |
+
+ String |
+getTitle()
+
++ Returns the image title. |
+
+ String |
+getUrl()
+
++ Returns the image URL. |
+
+ Integer |
+getWidth()
+
++ Returns the image width. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setDescription(String description)
+
++ Sets the image description. |
+
+ void |
+setHeight(Integer height)
+
++ Sets the image height. |
+
+ void |
+setLink(String link)
+
++ Sets the image link. |
+
+ void |
+setTitle(String title)
+
++ Sets the image title. |
+
+ void |
+setUrl(String url)
+
++ Sets the image URL. |
+
+ void |
+setWidth(Integer width)
+
++ Sets the image width. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Image()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getTitle()+
+
+
+public void setTitle(String title)+
+
+
title
- the image title to set, null if none.+public String getUrl()+
+
+
+public void setUrl(String url)+
+
+
url
- the image URL to set, null if none.+public String getLink()+
+
+
+public void setLink(String link)+
+
+
link
- the image link to set, null if none.+public Integer getWidth()+
+
+
+public void setWidth(Integer width)+
+
+
width
- the image width to set, null if none.+public Integer getHeight()+
+
+
+public void setHeight(Integer height)+
+
+
height
- the image height to set, null if none.+public String getDescription()+
+
+
+public void setDescription(String description)+
+
+
description
- the image description to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.rss.Item ++
public class Item
+Bean for items of RSS feeds. +
+ It handles all RSS versions without loosing information. +
+ For RSS1.0 it supports Dublin Core and Syndication modules. Note that + those modules currently support simple syntax format only. +
+
+ +
+
+Constructor Summary | +|
---|---|
Item()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getAuthor()
+
++ Returns the item author. |
+
+ List |
+getCategories()
+
++ Returns the item categories. |
+
+ String |
+getComments()
+
++ Returns the item comments. |
+
+ Content |
+getContent()
+
++ Returns the item content. |
+
+ Description |
+getDescription()
+
++ Returns the item description. |
+
+ List<Enclosure> |
+getEnclosures()
+
++ Returns the item enclosures. |
+
+ Date |
+getExpirationDate()
+
++ Returns the item expiration date. |
+
+ Object |
+getForeignMarkup()
+
++ Returns foreign markup found at item level. |
+
+ Guid |
+getGuid()
+
++ Returns the item GUID. |
+
+ String |
+getLink()
+
++ Returns the item link. |
+
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List<Module> |
+getModules()
+
++ Returns the item modules. |
+
+ Date |
+getPubDate()
+
++ Returns the item publishing date. |
+
+ Source |
+getSource()
+
++ Returns the item source. |
+
+ String |
+getTitle()
+
++ Returns the item title. |
+
+ String |
+getUri()
+
++ Returns the item uri. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setAuthor(String author)
+
++ Sets the item author. |
+
+ void |
+setCategories(List<Category> categories)
+
++ Sets the item categories. |
+
+ void |
+setComments(String comments)
+
++ Sets the item comments. |
+
+ void |
+setContent(Content content)
+
++ Sets the item content. |
+
+ void |
+setDescription(Description description)
+
++ Sets the item description. |
+
+ void |
+setEnclosures(List<Enclosure> enclosures)
+
++ Sets the item enclosures. |
+
+ void |
+setExpirationDate(Date expirationDate)
+
++ Sets the item expiration date. |
+
+ void |
+setForeignMarkup(Object foreignMarkup)
+
++ Sets foreign markup found at item level. |
+
+ void |
+setGuid(Guid guid)
+
++ Sets the item GUID. |
+
+ void |
+setLink(String link)
+
++ Sets the item link. |
+
+ void |
+setModules(List<Module> modules)
+
++ Sets the item modules. |
+
+ void |
+setPubDate(Date pubDate)
+
++ Sets the item publishing date. |
+
+ void |
+setSource(Source source)
+
++ Sets the item source. |
+
+ void |
+setTitle(String title)
+
++ Sets the item title. |
+
+ void |
+setUri(String uri)
+
++ Sets the item uri. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Item()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getTitle()+
+
+
+public void setTitle(String title)+
+
+
title
- the item title to set, null if none.+public String getLink()+
+
+
+public void setLink(String link)+
+
+
link
- the item link to set, null if none.+public String getUri()+
+
+
+public void setUri(String uri)+
+
+
uri
- the item uri to set, null if none.+public Description getDescription()+
+
+
+public void setDescription(Description description)+
+
+
description
- the item description to set, null if none.+public Content getContent()+
+
+
+public void setContent(Content content)+
+
+
content
- the item content to set, null if none.+public Source getSource()+
+
+
+public void setSource(Source source)+
+
+
source
- the item source to set, null if none.+public List<Enclosure> getEnclosures()+
+
+
+public void setEnclosures(List<Enclosure> enclosures)+
+
+
enclosures
- the list of Enclosure elements with the item enclosures to set,
+ an empty list or null if none.+public List getCategories()+
+
+
+public void setCategories(List<Category> categories)+
+
+
categories
- the list of Categories elements with the item categories to set,
+ an empty list or null if none.+public Guid getGuid()+
+
+
+public void setGuid(Guid guid)+
+
+
guid
- the item GUID to set, null if none.+public String getComments()+
+
+
+public void setComments(String comments)+
+
+
comments
- the item comments to set, null if none.+public String getAuthor()+
+
+
+public void setAuthor(String author)+
+
+
author
- the item author to set, null if none.+public List<Module> getModules()+
+
+
getModules
in interface Extendable
+public void setModules(List<Module> modules)+
+
+
setModules
in interface Extendable
modules
- the list of ModuleImpl elements with the item modules to set,
+ an empty list or null if none.+public Module getModule(String uri)+
+
+
getModule
in interface Extendable
uri
- the URI of the ModuleImpl.
++public Date getPubDate()+
+
+
+public void setPubDate(Date pubDate)+
+
+
pubDate
- the item publishing date to set, null if none.+public Date getExpirationDate()+
+
+
+public void setExpirationDate(Date expirationDate)+
+
+
expirationDate
- the item expiration date to set, null if none.+public Object getForeignMarkup()+
+
+
+public void setForeignMarkup(Object foreignMarkup)+
+
+
foreignMarkup
- Opaque object to discourage use
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.rss.Source ++
public class Source
+Bean for item sources of RSS feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
Source()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getUrl()
+
++ Returns the source URL. |
+
+ String |
+getValue()
+
++ Returns the source value. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setUrl(String url)
+
++ Sets the source URL. |
+
+ void |
+setValue(String value)
+
++ Sets the source value. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Source()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getUrl()+
+
+
+public void setUrl(String url)+
+
+
url
- the source URL to set, null if none.+public String getValue()+
+
+
+public void setValue(String value)+
+
+
value
- the source value to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.rss.TextInput ++
public class TextInput
+Bean for text input of RSS feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
TextInput()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getDescription()
+
++ Returns the text input description. |
+
+ String |
+getLink()
+
++ Returns the text input link. |
+
+ String |
+getName()
+
++ Returns the text input name. |
+
+ String |
+getTitle()
+
++ Returns the text input title. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setDescription(String description)
+
++ Sets the text input description. |
+
+ void |
+setLink(String link)
+
++ Sets the text input link. |
+
+ void |
+setName(String name)
+
++ Sets the text input name. |
+
+ void |
+setTitle(String title)
+
++ Sets the text input title. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public TextInput()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getTitle()+
+
+
+public void setTitle(String title)+
+
+
title
- the text input title to set, null if none.+public String getDescription()+
+
+
+public void setDescription(String description)+
+
+
description
- the text input description to set, null if none.+public String getName()+
+
+
+public void setName(String name)+
+
+
name
- the text input name to set, null if none.+public String getLink()+
+
+
+public void setLink(String link)+
+
+
link
- the text input link to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Category | +|
---|---|
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Category in com.sun.syndication.feed.rss | +
---|
+ +
Methods in com.sun.syndication.feed.rss that return types with arguments of type Category | +|
---|---|
+ List<Category> |
+Channel.getCategories()
+
++ Returns the channel categories. |
+
+ +
Method parameters in com.sun.syndication.feed.rss with type arguments of type Category | +|
---|---|
+ void |
+Item.setCategories(List<Category> categories)
+
++ Sets the item categories. |
+
+ void |
+Channel.setCategories(List<Category> categories)
+
++ Sets the channel categories. |
+
+Uses of Category in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Category | +|
---|---|
+protected org.jdom.Element |
+RSS092Generator.generateCategoryElement(Category category)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Channel | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of Channel in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Channel | +|
---|---|
+protected void |
+RSS090Generator.addChannel(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS091UserlandGenerator.addChannel(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS090Generator.addImage(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS090Generator.addItems(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS090Generator.addTextInput(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected org.jdom.Element |
+RSS090Generator.createRootElement(Channel channel)
+
++ |
+
+protected org.jdom.Element |
+RSS091UserlandGenerator.createRootElement(Channel channel)
+
++ |
+
+protected void |
+RSS10Generator.populateChannel(Channel channel,
+ org.jdom.Element eChannel)
+
++ |
+
+protected void |
+RSS090Generator.populateChannel(Channel channel,
+ org.jdom.Element eChannel)
+
++ Populates the given channel with parsed data from the ROME element that holds the + channel data. |
+
+protected void |
+RSS20Generator.populateChannel(Channel channel,
+ org.jdom.Element eChannel)
+
++ |
+
+protected void |
+RSS092Generator.populateChannel(Channel channel,
+ org.jdom.Element eChannel)
+
++ |
+
+protected void |
+RSS091UserlandGenerator.populateChannel(Channel channel,
+ org.jdom.Element eChannel)
+
++ |
+
+protected void |
+RSS090Generator.populateFeed(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS091UserlandGenerator.populateFeed(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Cloud | +|
---|---|
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Cloud in com.sun.syndication.feed.rss | +
---|
+ +
Methods in com.sun.syndication.feed.rss that return Cloud | +|
---|---|
+ Cloud |
+Channel.getCloud()
+
++ Returns the channel cloud. |
+
+ +
Methods in com.sun.syndication.feed.rss with parameters of type Cloud | +|
---|---|
+ void |
+Channel.setCloud(Cloud cloud)
+
++ Sets the channel cloud. |
+
+Uses of Cloud in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Cloud | +|
---|---|
+protected org.jdom.Element |
+RSS092Generator.generateCloud(Cloud cloud)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Content | +|
---|---|
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.feed.synd.impl | ++ |
+Uses of Content in com.sun.syndication.feed.rss | +
---|
+ +
Methods in com.sun.syndication.feed.rss that return Content | +|
---|---|
+ Content |
+Item.getContent()
+
++ Returns the item content. |
+
+ +
Methods in com.sun.syndication.feed.rss with parameters of type Content | +|
---|---|
+ void |
+Item.setContent(Content content)
+
++ Sets the item content. |
+
+Uses of Content in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return Content | +|
---|---|
+protected Content |
+ConverterForRSS10.createItemContent(SyndContent sContent)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Description | +|
---|---|
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Description in com.sun.syndication.feed.rss | +
---|
+ +
Methods in com.sun.syndication.feed.rss that return Description | +|
---|---|
+ Description |
+Item.getDescription()
+
++ Returns the item description. |
+
+ +
Methods in com.sun.syndication.feed.rss with parameters of type Description | +|
---|---|
+ void |
+Item.setDescription(Description description)
+
++ Sets the item description. |
+
+Uses of Description in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return Description | +|
---|---|
+protected Description |
+ConverterForRSS10.createItemDescription(SyndContent sContent)
+
++ |
+
+protected Description |
+ConverterForRSS091Userland.createItemDescription(SyndContent sContent)
+
++ |
+
+Uses of Description in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl that return Description | +|
---|---|
+protected Description |
+RSS10Parser.parseItemDescription(org.jdom.Element rssRoot,
+ org.jdom.Element eDesc)
+
++ |
+
+protected Description |
+RSS094Parser.parseItemDescription(org.jdom.Element rssRoot,
+ org.jdom.Element eDesc)
+
++ |
+
+protected Description |
+RSS091UserlandParser.parseItemDescription(org.jdom.Element rssRoot,
+ org.jdom.Element eDesc)
+
++ |
+
+protected Description |
+RSS20Parser.parseItemDescription(org.jdom.Element rssRoot,
+ org.jdom.Element eDesc)
+
++ |
+
+protected Description |
+RSS092Parser.parseItemDescription(org.jdom.Element rssRoot,
+ org.jdom.Element eDesc)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Enclosure | +|
---|---|
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Enclosure in com.sun.syndication.feed.rss | +
---|
+ +
Methods in com.sun.syndication.feed.rss that return types with arguments of type Enclosure | +|
---|---|
+ List<Enclosure> |
+Item.getEnclosures()
+
++ Returns the item enclosures. |
+
+ +
Method parameters in com.sun.syndication.feed.rss with type arguments of type Enclosure | +|
---|---|
+ void |
+Item.setEnclosures(List<Enclosure> enclosures)
+
++ Sets the item enclosures. |
+
+Uses of Enclosure in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Enclosure | +|
---|---|
+protected org.jdom.Element |
+RSS092Generator.generateEnclosure(Enclosure enclosure)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Guid | +|
---|---|
com.sun.syndication.feed.rss | ++ |
+Uses of Guid in com.sun.syndication.feed.rss | +
---|
+ +
Methods in com.sun.syndication.feed.rss that return Guid | +|
---|---|
+ Guid |
+Item.getGuid()
+
++ Returns the item GUID. |
+
+ +
Methods in com.sun.syndication.feed.rss with parameters of type Guid | +|
---|---|
+ void |
+Item.setGuid(Guid guid)
+
++ Sets the item GUID. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Image | +|
---|---|
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Image in com.sun.syndication.feed.rss | +
---|
+ +
Methods in com.sun.syndication.feed.rss that return Image | +|
---|---|
+ Image |
+Channel.getImage()
+
++ Returns the channel image. |
+
+ +
Methods in com.sun.syndication.feed.rss with parameters of type Image | +|
---|---|
+ void |
+Channel.setImage(Image image)
+
++ Sets the channel image. |
+
+Uses of Image in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return Image | +|
---|---|
+protected Image |
+ConverterForRSS090.createRSSImage(SyndImage sImage)
+
++ |
+
+protected Image |
+ConverterForRSS091Userland.createRSSImage(SyndImage sImage)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type Image | +|
---|---|
+protected SyndImage |
+ConverterForRSS090.createSyndImage(Image rssImage)
+
++ |
+
+protected SyndImage |
+ConverterForRSS091Userland.createSyndImage(Image rssImage)
+
++ |
+
+Uses of Image in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl that return Image | +|
---|---|
+protected Image |
+RSS091UserlandParser.parseImage(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document looking for image information. |
+
+protected Image |
+RSS090Parser.parseImage(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document looking for image information. |
+
+ +
Methods in com.sun.syndication.io.impl with parameters of type Image | +|
---|---|
+protected void |
+RSS090Generator.populateImage(Image image,
+ org.jdom.Element eImage)
+
++ |
+
+protected void |
+RSS091UserlandGenerator.populateImage(Image image,
+ org.jdom.Element eImage)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Item | +|
---|---|
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Item in com.sun.syndication.feed.rss | +
---|
+ +
Methods in com.sun.syndication.feed.rss that return types with arguments of type Item | +|
---|---|
+ List<Item> |
+Channel.getItems()
+
++ Returns the channel items. |
+
+ +
Method parameters in com.sun.syndication.feed.rss with type arguments of type Item | +|
---|---|
+ void |
+Channel.setItems(List<Item> items)
+
++ Sets the channel items. |
+
+Uses of Item in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return Item | +|
---|---|
+protected Item |
+ConverterForRSS094.createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected Item |
+ConverterForRSS090.createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected Item |
+ConverterForRSS092.createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected Item |
+ConverterForRSS10.createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected Item |
+ConverterForRSS091Userland.createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected Item |
+ConverterForRSS093.createRSSItem(SyndEntry sEntry)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type Item | +|
---|---|
+protected SyndEntry |
+ConverterForRSS094.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForRSS090.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForRSS092.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForRSS10.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForRSS091Userland.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForRSS093.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+Uses of Item in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl that return Item | +|
---|---|
+protected Item |
+RSS10Parser.parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ Parses an item element of an RSS document looking for item information. |
+
+ Item |
+RSS094Parser.parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ |
+
+protected Item |
+RSS091UserlandParser.parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ Parses an item element of an RSS document looking for item information. |
+
+protected Item |
+RSS093Parser.parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ |
+
+protected Item |
+RSS092Parser.parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ |
+
+protected Item |
+RSS090Parser.parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ Parses an item element of an RSS document looking for item information. |
+
+ +
Methods in com.sun.syndication.io.impl with parameters of type Item | +|
---|---|
+protected void |
+RSS090Generator.addItem(Item item,
+ org.jdom.Element parent,
+ int index)
+
++ |
+
+protected void |
+RSS10Generator.populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
+protected void |
+RSS090Generator.populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
+protected void |
+RSS093Generator.populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
+protected void |
+RSS094Generator.populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
+ void |
+RSS20Generator.populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
+protected void |
+RSS092Generator.populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
+protected void |
+RSS091UserlandGenerator.populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Source | +|
---|---|
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of Source in com.sun.syndication.feed.rss | +
---|
+ +
Methods in com.sun.syndication.feed.rss that return Source | +|
---|---|
+ Source |
+Item.getSource()
+
++ Returns the item source. |
+
+ +
Methods in com.sun.syndication.feed.rss with parameters of type Source | +|
---|---|
+ void |
+Item.setSource(Source source)
+
++ Sets the item source. |
+
+Uses of Source in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl with parameters of type Source | +|
---|---|
+protected org.jdom.Element |
+RSS092Generator.generateSourceElement(Source source)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use TextInput | +|
---|---|
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of TextInput in com.sun.syndication.feed.rss | +
---|
+ +
Methods in com.sun.syndication.feed.rss that return TextInput | +|
---|---|
+ TextInput |
+Channel.getTextInput()
+
++ Returns the channel text input. |
+
+ +
Methods in com.sun.syndication.feed.rss with parameters of type TextInput | +|
---|---|
+ void |
+Channel.setTextInput(TextInput textInput)
+
++ Sets the channel text input. |
+
+Uses of TextInput in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl that return TextInput | +|
---|---|
+protected TextInput |
+RSS090Parser.parseTextInput(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document looking for text-input information. |
+
+ +
Methods in com.sun.syndication.io.impl with parameters of type TextInput | +|
---|---|
+protected void |
+RSS090Generator.populateTextInput(TextInput textInput,
+ org.jdom.Element eTextInput)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Classes
+
+ +Category + +Channel + +Cloud + +Content + +Description + +Enclosure + +Guid + +Image + +Item + +Source + +TextInput |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+Class Summary | +|
---|---|
Category | +Bean for categories of RSS feeds. | +
Channel | +Bean for RSS feeds. | +
Cloud | +Bean for clouds of RSS feeds. | +
Content | +Bean for item descriptions of RSS feeds. | +
Description | +Bean for item descriptions of RSS feeds. | +
Enclosure | +Bean for item enclosures of RSS feeds. | +
Guid | +Bean for item GUIDs of RSS feeds. | +
Image | +Bean for images of RSS feeds. | +
Item | +Bean for items of RSS feeds. | +
Source | +Bean for item sources of RSS feeds. | +
TextInput | +Bean for text input of RSS feeds. | +
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use com.sun.syndication.feed.rss | +|
---|---|
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io.impl | ++ |
+Classes in com.sun.syndication.feed.rss used by com.sun.syndication.feed.rss | +|
---|---|
Category
+
+ + Bean for categories of RSS feeds. |
+|
Cloud
+
+ + Bean for clouds of RSS feeds. |
+|
Content
+
+ + Bean for item descriptions of RSS feeds. |
+|
Description
+
+ + Bean for item descriptions of RSS feeds. |
+|
Enclosure
+
+ + Bean for item enclosures of RSS feeds. |
+|
Guid
+
+ + Bean for item GUIDs of RSS feeds. |
+|
Image
+
+ + Bean for images of RSS feeds. |
+|
Item
+
+ + Bean for items of RSS feeds. |
+|
Source
+
+ + Bean for item sources of RSS feeds. |
+|
TextInput
+
+ + Bean for text input of RSS feeds. |
+
+Classes in com.sun.syndication.feed.rss used by com.sun.syndication.feed.synd.impl | +|
---|---|
Content
+
+ + Bean for item descriptions of RSS feeds. |
+|
Description
+
+ + Bean for item descriptions of RSS feeds. |
+|
Image
+
+ + Bean for images of RSS feeds. |
+|
Item
+
+ + Bean for items of RSS feeds. |
+
+Classes in com.sun.syndication.feed.rss used by com.sun.syndication.io.impl | +|
---|---|
Category
+
+ + Bean for categories of RSS feeds. |
+|
Channel
+
+ + Bean for RSS feeds. |
+|
Cloud
+
+ + Bean for clouds of RSS feeds. |
+|
Description
+
+ + Bean for item descriptions of RSS feeds. |
+|
Enclosure
+
+ + Bean for item enclosures of RSS feeds. |
+|
Image
+
+ + Bean for images of RSS feeds. |
+|
Item
+
+ + Bean for items of RSS feeds. |
+|
Source
+
+ + Bean for item sources of RSS feeds. |
+|
TextInput
+
+ + Bean for text input of RSS feeds. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface Converter
+Interface that defines the functionality to convert a SyndFeedImpl + to a real feed (RSS or Atom) and vice versa. +
+ Each implementation knows how to deal with a specific type (version) + of a real feed. +
+ Implementations must be thread safe. +
+ TODO: explain how developers can plugin their own implementations. +
+
+ +
+
+Method Summary | +|
---|---|
+ void |
+copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl. |
+
+ WireFeed |
+createRealFeed(SyndFeed syndFeed)
+
++ Creates real feed with a deep copy/conversion of the values of a SyndFeedImpl. |
+
+ String |
+getType()
+
++ Returns the type (version) of the real feed this converter handles. |
+
+Method Detail | +
---|
+String getType()+
+
+
for details on the format of this string.
+
+void copyInto(WireFeed feed, + SyndFeed syndFeed)+
+ It assumes the given SyndFeedImpl has no properties set. +
+
+
feed
- real feed to copy/convert.syndFeed
- the SyndFeedImpl that will contain the copied/converted values of the real feed.+WireFeed createRealFeed(SyndFeed syndFeed)+
+
+
syndFeed
- SyndFeedImpl to copy/convert value from.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface SyndCategory
+Bean interface for categories of SyndFeedImpl feeds and entries. +
+
+ +
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep clone of the object. |
+
+ String |
+getName()
+
++ Returns the category name. |
+
+ String |
+getTaxonomyUri()
+
++ Returns the category taxonomy URI. |
+
+ void |
+setName(String name)
+
++ Sets the category name. |
+
+ void |
+setTaxonomyUri(String taxonomyUri)
+
++ Sets the category taxonomy URI. |
+
+Method Detail | +
---|
+String getName()+
+
+
+void setName(String name)+
+
+
name
- the category name to set, null if none.+String getTaxonomyUri()+
+
+
+void setTaxonomyUri(String taxonomyUri)+
+
+
taxonomyUri
- the category taxonomy URI to set, null if none.+Object clone() + throws CloneNotSupportedException+
+
+
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.SyndCategoryImpl ++
public class SyndCategoryImpl
+Bean for categories of SyndFeedImpl feeds and entries. +
+
+ +
+
+Constructor Summary | +|
---|---|
SyndCategoryImpl()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getName()
+
++ Returns the category name. |
+
+ String |
+getTaxonomyUri()
+
++ Returns the category taxonomy URI. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setName(String name)
+
++ Sets the category name. |
+
+ void |
+setTaxonomyUri(String taxonomyUri)
+
++ Sets the category taxonomy URI. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public SyndCategoryImpl()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in interface SyndCategory
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getName()+
+
+
getName
in interface SyndCategory
+public void setName(String name)+
+
+
setName
in interface SyndCategory
name
- the category name to set, null if none.+public String getTaxonomyUri()+
+
+
getTaxonomyUri
in interface SyndCategory
+public void setTaxonomyUri(String taxonomyUri)+
+
+
setTaxonomyUri
in interface SyndCategory
taxonomyUri
- the category taxonomy URI to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface SyndContent
+Bean interface for content of SyndFeedImpl entries. +
+
+ +
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep clone of the object. |
+
+ String |
+getMode()
+
++ Gets the content mode (needed for Atom 0.3 support). |
+
+ String |
+getType()
+
++ Returns the content type. |
+
+ String |
+getValue()
+
++ Returns the content value. |
+
+ void |
+setMode(String mode)
+
++ Sets the content mode (needed for Atom 0.3 support). |
+
+ void |
+setType(String type)
+
++ Sets the content type. |
+
+ void |
+setValue(String value)
+
++ Sets the content value. |
+
Methods inherited from interface com.sun.syndication.feed.CopyFrom | +
---|
copyFrom, getInterface |
+
+Method Detail | +
---|
+String getType()+
+ When used for the description of an entry, if null 'text/plain' must be assumed. +
+
+
+void setType(String type)+
+ When used for the description of an entry, if null 'text/plain' must be assumed. +
+
+
type
- the content type to set, null if none.+String getMode()+
+
+void setMode(String mode)+
+
mode
- the content mode to set, null if none.+String getValue()+
+
+
+void setValue(String value)+
+
+
value
- the content value to set, null if none.+Object clone() + throws CloneNotSupportedException+
+
+
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.SyndContentImpl ++
public class SyndContentImpl
+Bean for content of SyndFeedImpl entries. +
+
+ +
+
+Constructor Summary | +|
---|---|
SyndContentImpl()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ void |
+copyFrom(CopyFrom obj)
+
++ Copies all the properties of the given bean into this one. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ Class |
+getInterface()
+
++ Returns the interface the copyFrom works on. |
+
+ String |
+getMode()
+
++ Returns the content mode. |
+
+ String |
+getType()
+
++ Returns the content type. |
+
+ String |
+getValue()
+
++ Returns the content value. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setMode(String mode)
+
++ Sets the content mode. |
+
+ void |
+setType(String type)
+
++ Sets the content type. |
+
+ void |
+setValue(String value)
+
++ Sets the content value. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public SyndContentImpl()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in interface SyndContent
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getType()+
+ When used for the description of an entry, if null 'text/plain' must be assumed. +
+
+
getType
in interface SyndContent
+public void setType(String type)+
+ When used for the description of an entry, if null 'text/plain' must be assumed. +
+
+
setType
in interface SyndContent
type
- the content type to set, null if none.+public String getMode()+
+
getMode
in interface SyndContent
+public void setMode(String mode)+
+
setMode
in interface SyndContent
mode
- the content mode to set, null if none.+public String getValue()+
+
+
getValue
in interface SyndContent
+public void setValue(String value)+
+
+
setValue
in interface SyndContent
value
- the content value to set, null if none.+public Class getInterface()+
CopyFrom
+ This is useful when dealing with properties that may have multiple implementations. + For example, Module. +
+
+
getInterface
in interface CopyFrom<SyndContent>
+public void copyFrom(CopyFrom obj)+
CopyFrom
+ Any existing properties in this bean are lost. +
+ This method is useful for moving from one implementation of a bean interface to another. + For example from the default SyndFeed bean implementation to a Hibernate ready implementation. +
+
+
copyFrom
in interface CopyFrom<SyndContent>
obj
- the instance to copy properties from.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface SyndEnclosure
+
+Method Summary | +|
---|---|
+ long |
+getLength()
+
++ Returns the enclosure length. |
+
+ String |
+getType()
+
++ Returns the enclosure type. |
+
+ String |
+getUrl()
+
++ Returns the enclosure URL. |
+
+ void |
+setLength(long length)
+
++ Sets the enclosure length. |
+
+ void |
+setType(String type)
+
++ Sets the enclosure type. |
+
+ void |
+setUrl(String url)
+
++ Sets the enclosure URL. |
+
Methods inherited from interface com.sun.syndication.feed.CopyFrom | +
---|
copyFrom, getInterface |
+
+Method Detail | +
---|
+String getUrl()+
+
+
+void setUrl(String url)+
+
+
url
- the enclosure URL to set, null if none.+long getLength()+
+
+
+void setLength(long length)+
+
+
length
- the enclosure length to set, 0 if none.+String getType()+
+
+
+void setType(String type)+
+
+
type
- the enclosure type to set, null if none.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.SyndEnclosureImpl ++
public class SyndEnclosureImpl
+
+Constructor Summary | +|
---|---|
SyndEnclosureImpl()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ void |
+copyFrom(CopyFrom obj)
+
++ Copies all the properties of the given bean into this one. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ Class<? extends CopyFrom> |
+getInterface()
+
++ Returns the interface the copyFrom works on. |
+
+ long |
+getLength()
+
++ Returns the enclosure length. |
+
+ String |
+getType()
+
++ Returns the enclosure type. |
+
+ String |
+getUrl()
+
++ Returns the enclosure URL. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setLength(long length)
+
++ Sets the enclosure length. |
+
+ void |
+setType(String type)
+
++ Sets the enclosure type. |
+
+ void |
+setUrl(String url)
+
++ Sets the enclosure URL. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public SyndEnclosureImpl()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getUrl()+
+
getUrl
in interface SyndEnclosure
+public void setUrl(String url)+
+
setUrl
in interface SyndEnclosure
url
- the enclosure URL to set, null if none.+public long getLength()+
+
getLength
in interface SyndEnclosure
+public void setLength(long length)+
+
setLength
in interface SyndEnclosure
length
- the enclosure length to set, null if none.+public String getType()+
+
getType
in interface SyndEnclosure
+public void setType(String type)+
+
setType
in interface SyndEnclosure
type
- the enclosure type to set, null if none.+public Class<? extends CopyFrom> getInterface()+
CopyFrom
+ This is useful when dealing with properties that may have multiple implementations. + For example, Module. +
+
+
getInterface
in interface CopyFrom<SyndEnclosure>
+public void copyFrom(CopyFrom obj)+
CopyFrom
+ Any existing properties in this bean are lost. +
+ This method is useful for moving from one implementation of a bean interface to another. + For example from the default SyndFeed bean implementation to a Hibernate ready implementation. +
+
+
copyFrom
in interface CopyFrom<SyndEnclosure>
obj
- the instance to copy properties from.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface SyndEntry
+Bean interface for entries of SyndFeedImpl feeds. +
+
+ +
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep clone of the object. |
+
+ SyndLink |
+findRelatedLink(String relation)
+
++ Returns the first instance of a SyndLink with the specified relation, or null |
+
+ String |
+getAuthor()
+
++ Returns the name of the first entry author in the collection of authors. |
+
+ List<SyndPerson> |
+getAuthors()
+
++ Returns the entry authors. |
+
+ List<SyndCategory> |
+getCategories()
+
++ Returns the entry categories. |
+
+ List<SyndContent> |
+getContents()
+
++ Returns the entry contents. |
+
+ List<SyndPerson> |
+getContributors()
+
++ Returns the feed author. |
+
+ SyndContent |
+getDescription()
+
++ Returns the entry description. |
+
+ List<SyndEnclosure> |
+getEnclosures()
+
++ Returns the entry enclosures. |
+
+ Object |
+getForeignMarkup()
+
++ Returns foreign markup found at channel level. |
+
+ String |
+getLink()
+
++ Returns the entry link. |
+
+ List<SyndLink> |
+getLinks()
+
++ Returns the entry links + |
+
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List<Module> |
+getModules()
+
++ Returns the entry modules. |
+
+ Date |
+getPublishedDate()
+
++ Returns the entry published date. |
+
+ SyndFeed |
+getSource()
+
++ Returns the entry source. |
+
+ String |
+getTitle()
+
++ Returns the entry title. |
+
+ SyndContent |
+getTitleEx()
+
++ Returns the entry title as a text construct. |
+
+ Date |
+getUpdatedDate()
+
++ Returns the entry updated date. |
+
+ String |
+getUri()
+
++ Returns the entry URI. |
+
+ Object |
+getWireEntry()
+
++ Return the original item this SyndEntry is generated from. |
+
+ void |
+setAuthor(String author)
+
++ Sets the entry author. |
+
+ void |
+setAuthors(List<SyndPerson> authors)
+
++ Sets the entry author. |
+
+ void |
+setCategories(List<SyndCategory> categories)
+
++ Sets the entry categories. |
+
+ void |
+setContents(List<SyndContent> contents)
+
++ Sets the entry contents. |
+
+ void |
+setContributors(List<SyndPerson> contributors)
+
++ Sets the feed contributors. |
+
+ void |
+setDescription(SyndContent description)
+
++ Sets the entry description. |
+
+ void |
+setEnclosures(List<SyndEnclosure> enclosures)
+
++ Sets the entry enclosures. |
+
+ void |
+setForeignMarkup(Object foreignMarkup)
+
++ Sets foreign markup found at channel level. |
+
+ void |
+setLink(String link)
+
++ Sets the entry link. |
+
+ void |
+setLinks(List<SyndLink> links)
+
++ Sets the entry links. |
+
+ void |
+setModules(List<Module> modules)
+
++ Sets the entry modules. |
+
+ void |
+setPublishedDate(Date publishedDate)
+
++ Sets the entry published date. |
+
+ void |
+setSource(SyndFeed source)
+
++ Sets the entry source feed (for use if different from containing feed) + |
+
+ void |
+setTitle(String title)
+
++ Sets the entry title. |
+
+ void |
+setTitleEx(SyndContent title)
+
++ Sets the entry title as a text construct. |
+
+ void |
+setUpdatedDate(Date updatedDate)
+
++ Sets the entry updated date. |
+
+ void |
+setUri(String uri)
+
++ Sets the entry URI. |
+
Methods inherited from interface com.sun.syndication.feed.CopyFrom | +
---|
copyFrom, getInterface |
+
+Method Detail | +
---|
+String getUri()+
+ How the entry URI maps to a concrete feed type (RSS or Atom) depends on + the concrete feed type. This is explained in detail in Rome documentation, + Feed and entry URI mapping. +
+ The returned URI is a normalized URI as specified in RFC 2396bis. +
+
+
+void setUri(String uri)+
+ How the entry URI maps to a concrete feed type (RSS or Atom) depends on + the concrete feed type. This is explained in detail in Rome documentation, + Feed and entry URI mapping. +
+
+
uri
- the entry URI to set, null if none.+String getTitle()+
+
+
+void setTitle(String title)+
+
+
title
- the entry title to set, null if none.+SyndContent getTitleEx()+
+
+
+void setTitleEx(SyndContent title)+
+
+
title
- the entry title to set, null if none.+String getLink()+
+
+
+void setLink(String link)+
+
+
link
- the entry link to set, null if none.+List<SyndLink> getLinks()+
+
+
+void setLinks(List<SyndLink> links)+
+
+
links
- the entry links to set, null if none.+SyndContent getDescription()+
+
+
+void setDescription(SyndContent description)+
+
+
description
- the entry description to set, null if none.+List<SyndContent> getContents()+
+
+
+void setContents(List<SyndContent> contents)+
+
+
contents
- the list of SyndContentImpl elements with the entry contents to set,
+ an empty list or null if none.+List<SyndEnclosure> getEnclosures()+
+
+
+void setEnclosures(List<SyndEnclosure> enclosures)+
+
+
enclosures
- the list of SyndEnclosure elements with the entry enclosures to set,
+ an empty list or null if none.+Date getPublishedDate()+
+ This method is a convenience method, it maps to the Dublin Core module date. +
+
+
+void setPublishedDate(Date publishedDate)+
+ This method is a convenience method, it maps to the Dublin Core module date. +
+
+
publishedDate
- the entry published date to set, null if none.+Date getUpdatedDate()+
+
+
+void setUpdatedDate(Date updatedDate)+
+
+
updatedDate
- the entry updated date to set, null if none.+List<SyndPerson> getAuthors()+
+ For Atom feeds, this returns the authors as a list of SyndPerson objects, + for RSS feeds this method is a convenience method, it maps to the + Dublin Core module creator. +
+
+
+void setAuthors(List<SyndPerson> authors)+
+ For Atom feeds, this sets the authors as a list of SyndPerson + objects, for RSS feeds this method is a convenience method, it maps + to the Dublin Core module creator. +
+
+
authors
- the feed author to set, null if none.+String getAuthor()+
+ For Atom feeds, this returns the authors as a list of SyndPerson objects, + for RSS feeds this method is a convenience method, it maps to the + Dublin Core module creator. +
+
+
+void setAuthor(String author)+
+ For Atom feeds, this sets the feed author's name, for RSS feeds + this method is a convenience method, it maps to the Dublin Core + module creator. +
+
+
author
- the feed author to set, null if none.+List<SyndPerson> getContributors()+
+ For Atom feeds, this returns the contributors as a list of + SyndPerson objects +
+
+
+void setContributors(List<SyndPerson> contributors)+
+ Returns contributors as a list of SyndPerson objects. +
+
+
contributors
- the feed contributors to set, null if none.+List<SyndCategory> getCategories()+
+ This method is a convenience method, it maps to the Dublin Core module subjects. +
+
+
+void setCategories(List<SyndCategory> categories)+
+ This method is a convenience method, it maps to the Dublin Core module subjects. +
+
+
categories
- the list of SyndCategoryImpl elements with the entry categories to set,
+ an empty list or null if none.+SyndFeed getSource()+
+ This returns the entry source as a SyndFeed +
+
+
+void setSource(SyndFeed source)+
+
+
source
- the original SyndFeed that contained this article+Object getWireEntry()+
+
+Module getModule(String uri)+
+
+
getModule
in interface Extendable
uri
- the URI of the ModuleImpl.
++List<Module> getModules()+
+
+
getModules
in interface Extendable
+void setModules(List<Module> modules)+
+
+
setModules
in interface Extendable
modules
- the list of ModuleImpl elements with the entry modules to set,
+ an empty list or null if none.+Object getForeignMarkup()+
+
+
+void setForeignMarkup(Object foreignMarkup)+
+
+
foreignMarkup
- Opaque object to discourage use+Object clone() + throws CloneNotSupportedException+
+
+
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+SyndLink findRelatedLink(String relation)+
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.SyndEntryImpl ++
public class SyndEntryImpl
+Bean for entries of SyndFeedImpl feeds. +
+
+ +
+
+Field Summary | +|
---|---|
+static Set |
+CONVENIENCE_PROPERTIES
+
++ Unmodifiable Set containing the convenience properties of this class. |
+
+Constructor Summary | +|
---|---|
+ |
+SyndEntryImpl()
+
++ Default constructor. |
+
+protected |
+SyndEntryImpl(Class beanClass,
+ Set convenienceProperties)
+
++ For implementations extending SyndEntryImpl to be able to use the ObjectBean functionality + with extended interfaces. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ void |
+copyFrom(CopyFrom obj)
+
++ Copies all the properties of the given bean into this one. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ SyndLink |
+findRelatedLink(String relation)
+
++ Returns the first instance of a SyndLink with the specified relation, or null |
+
+ String |
+getAuthor()
+
++ Returns the entry author. |
+
+ List |
+getAuthors()
+
++ Returns the entry authors. |
+
+ List<SyndCategory> |
+getCategories()
+
++ Returns the entry categories. |
+
+ List<SyndContent> |
+getContents()
+
++ Returns the entry contents. |
+
+ List |
+getContributors()
+
++ Returns the feed author. |
+
+ SyndContent |
+getDescription()
+
++ Returns the entry description. |
+
+ List<SyndEnclosure> |
+getEnclosures()
+
++ Returns the entry enclosures. |
+
+ Object |
+getForeignMarkup()
+
++ Returns foreign markup found at channel level. |
+
+ Class |
+getInterface()
+
++ Returns the interface the copyFrom works on. |
+
+ String |
+getLink()
+
++ Returns the entry link. |
+
+ List<SyndLink> |
+getLinks()
+
++ Returns the links + |
+
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List<Module> |
+getModules()
+
++ Returns the entry modules. |
+
+ Date |
+getPublishedDate()
+
++ Returns the entry published date. |
+
+ SyndFeed |
+getSource()
+
++ Returns the entry source. |
+
+ String |
+getTitle()
+
++ Returns the entry title. |
+
+ SyndContent |
+getTitleEx()
+
++ Returns the entry title as a text construct. |
+
+ Date |
+getUpdatedDate()
+
++ Returns the updatedDate + |
+
+ String |
+getUri()
+
++ Returns the entry URI. |
+
+ Object |
+getWireEntry()
+
++ Return the original item this SyndEntry is generated from. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setAuthor(String author)
+
++ Sets the entry author. |
+
+ void |
+setAuthors(List authors)
+
++ Sets the entry author. |
+
+ void |
+setCategories(List<SyndCategory> categories)
+
++ Sets the entry categories. |
+
+ void |
+setContents(List<SyndContent> contents)
+
++ Sets the entry contents. |
+
+ void |
+setContributors(List contributors)
+
++ Sets the feed contributors. |
+
+ void |
+setDescription(SyndContent description)
+
++ Sets the entry description. |
+
+ void |
+setEnclosures(List<SyndEnclosure> enclosures)
+
++ Sets the entry enclosures. |
+
+ void |
+setForeignMarkup(Object foreignMarkup)
+
++ Sets foreign markup found at channel level. |
+
+ void |
+setLink(String link)
+
++ Sets the entry link. |
+
+ void |
+setLinks(List links)
+
++ Set the links + |
+
+ void |
+setModules(List<Module> modules)
+
++ Sets the entry modules. |
+
+ void |
+setPublishedDate(Date publishedDate)
+
++ Sets the entry published date. |
+
+ void |
+setSource(SyndFeed source)
+
++ Sets the entry source feed (for use if different from containing feed) + |
+
+ void |
+setTitle(String title)
+
++ Sets the entry title. |
+
+ void |
+setTitleEx(SyndContent title)
+
++ Sets the entry title as a text construct. |
+
+ void |
+setUpdatedDate(Date updatedDate)
+
++ Set the updatedDate + |
+
+ void |
+setUri(String uri)
+
++ Sets the entry URI. |
+
+ void |
+setWireEntry(Object wireEntry)
+
++ |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Field Detail | +
---|
+public static final Set CONVENIENCE_PROPERTIES+
+ Convenience properties are mapped to Modules, for cloning the convenience properties + can be ignored as the will be copied as part of the module cloning. +
+
+Constructor Detail | +
---|
+protected SyndEntryImpl(Class beanClass, + Set convenienceProperties)+
+
+
beanClass
- convenienceProperties
- set containing the convenience properties of the SyndEntryImpl
+ (the are ignored during cloning, check CloneableBean for details).+public SyndEntryImpl()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in interface SyndEntry
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getUri()+
+ How the entry URI maps to a concrete feed type (RSS or Atom) depends on + the concrete feed type. This is explained in detail in Rome documentation, + Feed and entry URI mapping. +
+ The returned URI is a normalized URI as specified in RFC 2396bis. +
+
+
getUri
in interface SyndEntry
+public void setUri(String uri)+
+ How the entry URI maps to a concrete feed type (RSS or Atom) depends on + the concrete feed type. This is explained in detail in Rome documentation, + Feed and entry URI mapping. +
+
+
setUri
in interface SyndEntry
uri
- the entry URI to set, null if none.+public String getTitle()+
+
+
getTitle
in interface SyndEntry
+public void setTitle(String title)+
+
+
setTitle
in interface SyndEntry
title
- the entry title to set, null if none.+public SyndContent getTitleEx()+
+
+
getTitleEx
in interface SyndEntry
+public void setTitleEx(SyndContent title)+
+
+
setTitleEx
in interface SyndEntry
title
- the entry title to set, null if none.+public String getLink()+
+
+
getLink
in interface SyndEntry
+public void setLink(String link)+
+
+
setLink
in interface SyndEntry
link
- the entry link to set, null if none.+public SyndContent getDescription()+
+
+
getDescription
in interface SyndEntry
+public void setDescription(SyndContent description)+
+
+
setDescription
in interface SyndEntry
description
- the entry description to set, null if none.+public List<SyndContent> getContents()+
+
+
getContents
in interface SyndEntry
+public void setContents(List<SyndContent> contents)+
+
+
setContents
in interface SyndEntry
contents
- the list of SyndContentImpl elements with the entry contents to set,
+ an empty list or null if none.+public List<SyndEnclosure> getEnclosures()+
+
+
getEnclosures
in interface SyndEntry
+public void setEnclosures(List<SyndEnclosure> enclosures)+
+
+
setEnclosures
in interface SyndEntry
enclosures
- the list of SyndEnclosure elements with the entry enclosures to set,
+ an empty list or null if none.+public Date getPublishedDate()+
+ This method is a convenience method, it maps to the Dublin Core module date. +
+
+
getPublishedDate
in interface SyndEntry
+public void setPublishedDate(Date publishedDate)+
+ This method is a convenience method, it maps to the Dublin Core module date. +
+
+
setPublishedDate
in interface SyndEntry
publishedDate
- the entry published date to set, null if none.+public List<SyndCategory> getCategories()+
+
+
getCategories
in interface SyndEntry
+public void setCategories(List<SyndCategory> categories)+
+ This method is a convenience method, it maps to the Dublin Core module subjects. +
+
+
setCategories
in interface SyndEntry
categories
- the list of SyndCategoryImpl elements with the entry categories to set,
+ an empty list or null if none.+public List<Module> getModules()+
+
+
getModules
in interface Extendable
getModules
in interface SyndEntry
+public void setModules(List<Module> modules)+
+
+
setModules
in interface Extendable
setModules
in interface SyndEntry
modules
- the list of ModuleImpl elements with the entry modules to set,
+ an empty list or null if none.+public Module getModule(String uri)+
+
+
getModule
in interface Extendable
getModule
in interface SyndEntry
uri
- the URI of the ModuleImpl.
++public Class getInterface()+
CopyFrom
+ This is useful when dealing with properties that may have multiple implementations. + For example, Module. +
+
+
getInterface
in interface CopyFrom
+public void copyFrom(CopyFrom obj)+
CopyFrom
+ Any existing properties in this bean are lost. +
+ This method is useful for moving from one implementation of a bean interface to another. + For example from the default SyndFeed bean implementation to a Hibernate ready implementation. +
+
+
copyFrom
in interface CopyFrom
obj
- the instance to copy properties from.+public List<SyndLink> getLinks()+
+
+
getLinks
in interface SyndEntry
+public void setLinks(List links)+
+
+
setLinks
in interface SyndEntry
links
- The links to set.+public Date getUpdatedDate()+
+
+
getUpdatedDate
in interface SyndEntry
+public void setUpdatedDate(Date updatedDate)+
+
+
setUpdatedDate
in interface SyndEntry
updatedDate
- The updatedDate to set.+public List getAuthors()+
SyndEntry
+ For Atom feeds, this returns the authors as a list of SyndPerson objects, + for RSS feeds this method is a convenience method, it maps to the + Dublin Core module creator. +
+
+
getAuthors
in interface SyndEntry
+public void setAuthors(List authors)+
SyndEntry
+ For Atom feeds, this sets the authors as a list of SyndPerson + objects, for RSS feeds this method is a convenience method, it maps + to the Dublin Core module creator. +
+
+
setAuthors
in interface SyndEntry
authors
- the feed author to set, null if none.+public String getAuthor()+
+ This method is a convenience method, it maps to the Dublin Core module creator. +
+
+
getAuthor
in interface SyndEntry
+public void setAuthor(String author)+
+ This method is a convenience method, it maps to the Dublin Core module creator. +
+
+
setAuthor
in interface SyndEntry
author
- the entry author to set, null if none.+public List getContributors()+
SyndEntry
+ For Atom feeds, this returns the contributors as a list of + SyndPerson objects +
+
+
getContributors
in interface SyndEntry
+public void setContributors(List contributors)+
SyndEntry
+ Returns contributors as a list of SyndPerson objects. +
+
+
setContributors
in interface SyndEntry
contributors
- the feed contributors to set, null if none.+public SyndFeed getSource()+
SyndEntry
+ This returns the entry source as a SyndFeed +
+
+
getSource
in interface SyndEntry
+public void setSource(SyndFeed source)+
SyndEntry
+
+
setSource
in interface SyndEntry
source
- the original SyndFeed that contained this article+public Object getForeignMarkup()+
+
+
getForeignMarkup
in interface SyndEntry
+public void setForeignMarkup(Object foreignMarkup)+
+
+
setForeignMarkup
in interface SyndEntry
foreignMarkup
- list of JDOM nodes containing channel-level foreign markup,
+ an empty list if none.+public Object getWireEntry()+
SyndEntry
+
getWireEntry
in interface SyndEntry
+public void setWireEntry(Object wireEntry)+
+public SyndLink findRelatedLink(String relation)+
SyndEntry
+
findRelatedLink
in interface SyndEntry
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface SyndFeed
+Bean interface for all types of feeds. +
+ It handles all RSS versions and Atom 0.3, it normalizes all info, it may lose information. +
+
+ +
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep clone of the object. |
+
+ WireFeed |
+createWireFeed()
+
++ Creates a real feed containing the information of the SyndFeedImpl. |
+
+ WireFeed |
+createWireFeed(String feedType)
+
++ Creates a real feed containing the information of the SyndFeedImpl. |
+
+ String |
+getAuthor()
+
++ Returns the name of the first feed author in the collection of authors. |
+
+ List<SyndPerson> |
+getAuthors()
+
++ Returns the feed authors. |
+
+ List<SyndCategory> |
+getCategories()
+
++ Returns the feed categories. |
+
+ List<SyndPerson> |
+getContributors()
+
++ Returns the feed author. |
+
+ String |
+getCopyright()
+
++ Returns the feed copyright. |
+
+ String |
+getDescription()
+
++ Returns the feed description. |
+
+ SyndContent |
+getDescriptionEx()
+
++ Returns the feed description as a text construct. |
+
+ String |
+getEncoding()
+
++ Returns the charset encoding of a the feed. |
+
+ List<SyndEntry> |
+getEntries()
+
++ Returns the feed entries. |
+
+ String |
+getFeedType()
+
++ Returns the wire feed type the feed had/will-have when converted from/to a WireFeed. |
+
+ Object |
+getForeignMarkup()
+
++ Returns foreign markup found at channel level. |
+
+ SyndImage |
+getImage()
+
++ Returns the feed image. |
+
+ String |
+getLanguage()
+
++ Returns the feed language. |
+
+ String |
+getLink()
+
++ Returns the feed link. |
+
+ List<SyndLink> |
+getLinks()
+
++ Returns the entry links + |
+
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List<Module> |
+getModules()
+
++ Returns the feed modules. |
+
+ Date |
+getPublishedDate()
+
++ Returns the feed published date. |
+
+ List<String> |
+getSupportedFeedTypes()
+
++ Returns the real feed types the SyndFeedImpl supports when converting from and to. |
+
+ String |
+getTitle()
+
++ Returns the feed title. |
+
+ SyndContent |
+getTitleEx()
+
++ Returns the feed title. |
+
+ String |
+getUri()
+
++ Returns the feed URI. |
+
+ boolean |
+isPreservingWireFeed()
+
++ |
+
+ WireFeed |
+originalWireFeed()
+
++ Returns the WireFeed this SyndFeed was created from. |
+
+ void |
+setAuthor(String author)
+
++ Sets the feed author. |
+
+ void |
+setAuthors(List<SyndPerson> authors)
+
++ Sets the feed authors. |
+
+ void |
+setCategories(List<SyndCategory> categories)
+
++ Sets the feed categories. |
+
+ void |
+setContributors(List<SyndPerson> contributors)
+
++ Sets the feed author. |
+
+ void |
+setCopyright(String copyright)
+
++ Sets the feed copyright. |
+
+ void |
+setDescription(String description)
+
++ Sets the feed description. |
+
+ void |
+setDescriptionEx(SyndContent description)
+
++ Sets the feed description as a text construct. |
+
+ void |
+setEncoding(String encoding)
+
++ Sets the charset encoding of a the feed. |
+
+ void |
+setEntries(List<SyndEntry> entries)
+
++ Sets the feed entries. |
+
+ void |
+setFeedType(String feedType)
+
++ Sets the wire feed type the feed will-have when coverted to a WireFeed. |
+
+ void |
+setForeignMarkup(Object foreignMarkup)
+
++ Sets foreign markup found at channel level. |
+
+ void |
+setImage(SyndImage image)
+
++ Sets the feed image. |
+
+ void |
+setLanguage(String language)
+
++ Sets the feed language. |
+
+ void |
+setLink(String link)
+
++ Sets the feed link. |
+
+ void |
+setLinks(List<SyndLink> links)
+
++ Sets the entry links. |
+
+ void |
+setModules(List modules)
+
++ Sets the feed modules. |
+
+ void |
+setPublishedDate(Date publishedDate)
+
++ Sets the feed published date. |
+
+ void |
+setTitle(String title)
+
++ Sets the feed title. |
+
+ void |
+setTitleEx(SyndContent title)
+
++ Sets the feed title. |
+
+ void |
+setUri(String uri)
+
++ Sets the feed URI. |
+
Methods inherited from interface com.sun.syndication.feed.CopyFrom | +
---|
copyFrom, getInterface |
+
+Method Detail | +
---|
+List<String> getSupportedFeedTypes()+
+
+
+WireFeed createWireFeed()+
+ The feed type of the created WireFeed is taken from the SyndFeedImpl feedType property. +
+
+
+WireFeed createWireFeed(String feedType)+
+
+
feedType
- the feed type for the WireFeed to be created.
++WireFeed originalWireFeed()+
+
+boolean isPreservingWireFeed()+
+String getFeedType()+
+
+
+void setFeedType(String feedType)+
+
+
feedType
- the feed type to set, null if none.+String getEncoding()+
+
+
+void setEncoding(String encoding)+
+
+
encoding
- the charset encoding of the feed.+String getUri()+
+ How the feed URI maps to a concrete feed type (RSS or Atom) depends on + the concrete feed type. This is explained in detail in Rome documentation, + Feed and entry URI mapping. +
+ The returned URI is a normalized URI as specified in RFC 2396bis. +
+ Note: The URI is the unique identifier, in the RSS 2.0/atom case this is + the GUID, for RSS 1.0 this is the URI attribute of the item. The Link + is the URL that the item is accessible under, the URI is the + permanent identifier which the aggregator should use to reference + this item. Often the URI will use some standardized identifier scheme + such as DOI's so that items can be identified even if they appear in + multiple feeds with different "links" (they might be on different + hosting platforms but be the same item). Also, though rare, there + could be multiple items with the same link but a different URI and + associated metadata which need to be treated as distinct entities. + In the RSS 1.0 case the URI must be a valid RDF URI reference. +
+
+
+void setUri(String uri)+
+ How the feed URI maps to a concrete feed type (RSS or Atom) depends on + the concrete feed type. This is explained in detail in Rome documentation, + Feed and entry URI mapping. +
+ Note: The URI is the unique identifier, in the RSS 2.0/atom case this is + the GUID, for RSS 1.0 this is the URI attribute of the item. The Link + is the URL that the item is accessible under, the URI is the + permanent identifier which the aggregator should use to reference + this item. Often the URI will use some standardized identifier scheme + such as DOI's so that items can be identified even if they appear in + multiple feeds with different "links" (they might be on different + hosting platforms but be the same item). Also, though rare, there + could be multiple items with the same link but a different URI and + associated metadata which need to be treated as distinct entities. + In the RSS 1.0 case the URI must be a valid RDF URI reference. +
+
+
uri
- the feed URI to set, null if none.+String getTitle()+
+
+
+void setTitle(String title)+
+
+
title
- the feed title to set, null if none.+SyndContent getTitleEx()+
+
+
+void setTitleEx(SyndContent title)+
+
+
title
- the feed title to set, null if none.+String getLink()+
+ Note: The URI is the unique identifier, in the RSS 2.0/atom case this is + the GUID, for RSS 1.0 this is the URI attribute of the item. The Link + is the URL that the item is accessible under, the URI is the + permanent identifier which the aggregator should use to reference + this item. Often the URI will use some standardized identifier scheme + such as DOI's so that items can be identified even if they appear in + multiple feeds with different "links" (they might be on different + hosting platforms but be the same item). Also, though rare, there + could be multiple items with the same link but a different URI and + associated metadata which need to be treated as distinct entities. + In the RSS 1.0 case the URI must be a valid RDF URI reference. +
+
+
+void setLink(String link)+
+ Note: The URI is the unique identifier, in the RSS 2.0/atom case this is + the GUID, for RSS 1.0 this is the URI attribute of the item. The Link + is the URL that the item is accessible under, the URI is the + permanent identifier which the aggregator should use to reference + this item. Often the URI will use some standardized identifier scheme + such as DOI's so that items can be identified even if they appear in + multiple feeds with different "links" (they might be on different + hosting platforms but be the same item). Also, though rare, there + could be multiple items with the same link but a different URI and + associated metadata which need to be treated as distinct entities. + In the RSS 1.0 case the URI must be a valid RDF URI reference. +
+
+
link
- the feed link to set, null if none.+List<SyndLink> getLinks()+
+
+
+void setLinks(List<SyndLink> links)+
+
+
links
- the entry links to set, null if none.+String getDescription()+
+
+
+void setDescription(String description)+
+
+
description
- the feed description to set, null if none.+SyndContent getDescriptionEx()+
+
+
+void setDescriptionEx(SyndContent description)+
+
+
description
- the feed description to set, null if none.+Date getPublishedDate()+
+ This method is a convenience method, it maps to the Dublin Core module date. +
+
+
+void setPublishedDate(Date publishedDate)+
+ This method is a convenience method, it maps to the Dublin Core module date. +
+
+
publishedDate
- the feed published date to set, null if none.+List<SyndPerson> getAuthors()+
+ For Atom feeds, this returns the authors as a list of SyndPerson objects, + for RSS feeds this method is a convenience method, it maps to the + Dublin Core module creator. +
+
+
+void setAuthors(List<SyndPerson> authors)+
+ For Atom feeds, this sets the authors as a list of SyndPerson + objects, for RSS feeds this method is a convenience method, it maps + to the Dublin Core module creator. +
+
+
authors
- the feed authors to set, null if none.+String getAuthor()+
+ For Atom feeds, this returns the authors as a list of SyndPerson objects, + for RSS feeds this method is a convenience method, it maps to the + Dublin Core module creator. +
+
+
+void setAuthor(String author)+
+ For Atom feeds, this sets the feed author's name, for RSS feeds + this method is a convenience method, it maps to the Dublin Core + module creator. +
+
+
author
- the feed author to set, null if none.+List<SyndPerson> getContributors()+
+ For Atom feeds, this returns the contributors as a list of + SyndPerson objects +
+
+
+void setContributors(List<SyndPerson> contributors)+
+ Returns contributors as a list of SyndPerson objects. +
+
+
contributors
- the feed contributors to set, null if none.+String getCopyright()+
+ This method is a convenience method, it maps to the Dublin Core module rights. +
+
+
+void setCopyright(String copyright)+
+ This method is a convenience method, it maps to the Dublin Core module rights. +
+
+
copyright
- the feed copyright to set, null if none.+SyndImage getImage()+
+
+
+void setImage(SyndImage image)+
+
+
image
- the feed image to set, null if none.+List<SyndCategory> getCategories()+
+ This method is a convenience method, it maps to the Dublin Core module subjects. +
+
+
+void setCategories(List<SyndCategory> categories)+
+ This method is a convenience method, it maps to the Dublin Core module subjects. +
+
+
categories
- the list of SyndCategoryImpl elements with the feed categories to set,
+ an empty list or null if none.+List<SyndEntry> getEntries()+
+
+
+void setEntries(List<SyndEntry> entries)+
+
+
entries
- the list of SyndEntryImpl elements with the feed entries to set,
+ an empty list or null if none.+String getLanguage()+
+ This method is a convenience method, it maps to the Dublin Core module language. +
+
+
+void setLanguage(String language)+
+ This method is a convenience method, it maps to the Dublin Core module language. +
+
+
language
- the feed language to set, null if none.+Module getModule(String uri)+
+
+
getModule
in interface Extendable
uri
- the URI of the ModuleImpl.
++List<Module> getModules()+
+
+
getModules
in interface Extendable
+void setModules(List modules)+
+
+
setModules
in interface Extendable
modules
- the list of ModuleImpl elements with the feed modules to set,
+ an empty list or null if none.+Object getForeignMarkup()+
+
+
+void setForeignMarkup(Object foreignMarkup)+
+
+
foreignMarkup
- Opaque object to discourage use+Object clone() + throws CloneNotSupportedException+
+
+
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.SyndFeedImpl ++
public class SyndFeedImpl
+Bean for all types of feeds. +
+ It handles all RSS versions, Atom 0.3 and Atom 1.0, it normalizes all info, it may lose information. +
+
+ +
+
+Field Summary | +|
---|---|
+static Set |
+CONVENIENCE_PROPERTIES
+
++ Unmodifiable Set containing the convenience properties of this class. |
+
+Constructor Summary | +|
---|---|
+ |
+SyndFeedImpl()
+
++ Default constructor. |
+
+protected |
+SyndFeedImpl(Class beanClass,
+ Set convenienceProperties)
+
++ For implementations extending SyndFeedImpl to be able to use the ObjectBean functionality + with extended interfaces. |
+
+ |
+SyndFeedImpl(WireFeed feed)
+
++ Creates a SyndFeedImpl and populates all its properties out of the + given RSS Channel or Atom Feed properties. |
+
+ |
+SyndFeedImpl(WireFeed feed,
+ boolean preserveWireFeed)
+
++ Creates a SyndFeedImpl and populates all its properties out of the + given RSS Channel or Atom Feed properties, while optionally preserving + the WireFeed for access via the orignalWireFeed() method. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ void |
+copyFrom(CopyFrom obj)
+
++ Copies all the properties of the given bean into this one. |
+
+ WireFeed |
+createWireFeed()
+
++ Creates a real feed containing the information of the SyndFeedImpl. |
+
+ WireFeed |
+createWireFeed(String feedType)
+
++ Creates a real feed containing the information of the SyndFeedImpl. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getAuthor()
+
++ Returns the feed author. |
+
+ List |
+getAuthors()
+
++ Returns the feed authors. |
+
+ List |
+getCategories()
+
++ Returns the feed categories. |
+
+ List |
+getContributors()
+
++ Returns the feed author. |
+
+ String |
+getCopyright()
+
++ Returns the feed copyright. |
+
+ String |
+getDescription()
+
++ Returns the feed description. |
+
+ SyndContent |
+getDescriptionEx()
+
++ Returns the feed description as a text construct. |
+
+ String |
+getEncoding()
+
++ Returns the charset encoding of a the feed. |
+
+ List |
+getEntries()
+
++ Returns the feed entries. |
+
+ String |
+getFeedType()
+
++ Returns the wire feed type the feed had/will-have when coverted from/to a WireFeed. |
+
+ Object |
+getForeignMarkup()
+
++ Returns foreign markup found at channel level. |
+
+ SyndImage |
+getImage()
+
++ Returns the feed image. |
+
+ Class |
+getInterface()
+
++ Returns the interface the copyFrom works on. |
+
+ String |
+getLanguage()
+
++ Returns the feed language. |
+
+ String |
+getLink()
+
++ Returns the feed link. |
+
+ List |
+getLinks()
+
++ Returns the links + |
+
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List |
+getModules()
+
++ Returns the feed modules. |
+
+ Date |
+getPublishedDate()
+
++ Returns the feed published date. |
+
+ List |
+getSupportedFeedTypes()
+
++ Returns the real feed types the SyndFeedImpl supports when converting from and to. |
+
+ String |
+getTitle()
+
++ Returns the feed title. |
+
+ SyndContent |
+getTitleEx()
+
++ Returns the feed title as a text construct. |
+
+ String |
+getUri()
+
++ Returns the feed URI. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ boolean |
+isPreservingWireFeed()
+
++ |
+
+ WireFeed |
+originalWireFeed()
+
++ Returns the WireFeed this SyndFeed was created from. |
+
+ void |
+setAuthor(String author)
+
++ Sets the feed author. |
+
+ void |
+setAuthors(List authors)
+
++ Sets the feed authors. |
+
+ void |
+setCategories(List categories)
+
++ Sets the feed categories. |
+
+ void |
+setContributors(List contributors)
+
++ Sets the feed author. |
+
+ void |
+setCopyright(String copyright)
+
++ Sets the feed copyright. |
+
+ void |
+setDescription(String description)
+
++ Sets the feed description. |
+
+ void |
+setDescriptionEx(SyndContent description)
+
++ Sets the feed description as a text construct. |
+
+ void |
+setEncoding(String encoding)
+
++ Sets the charset encoding of a the feed. |
+
+ void |
+setEntries(List entries)
+
++ Sets the feed entries. |
+
+ void |
+setFeedType(String feedType)
+
++ Sets the wire feed type the feed will-have when coverted to a WireFeed. |
+
+ void |
+setForeignMarkup(Object foreignMarkup)
+
++ Sets foreign markup found at channel level. |
+
+ void |
+setImage(SyndImage image)
+
++ Sets the feed image. |
+
+ void |
+setLanguage(String language)
+
++ Sets the feed language. |
+
+ void |
+setLink(String link)
+
++ Sets the feed link. |
+
+ void |
+setLinks(List links)
+
++ Set the links + |
+
+ void |
+setModules(List modules)
+
++ Sets the feed modules. |
+
+ void |
+setPublishedDate(Date publishedDate)
+
++ Sets the feed published date. |
+
+ void |
+setTitle(String title)
+
++ Sets the feed title. |
+
+ void |
+setTitleEx(SyndContent title)
+
++ Sets the feed title as a text construct. |
+
+ void |
+setUri(String uri)
+
++ Sets the feed URI. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Field Detail | +
---|
+public static final Set CONVENIENCE_PROPERTIES+
+ Convenience properties are mapped to Modules, for cloning the convenience properties + can be ignored as the will be copied as part of the module cloning. +
+
+Constructor Detail | +
---|
+protected SyndFeedImpl(Class beanClass, + Set convenienceProperties)+
+
+
beanClass
- convenienceProperties
- set containing the convenience properties of the SyndEntryImpl
+ (the are ignored during cloning, check CloneableBean for details).+public SyndFeedImpl()+
+
+
+public SyndFeedImpl(WireFeed feed)+
+
+
feed
- the RSS Channel or the Atom Feed to populate the properties from.+public SyndFeedImpl(WireFeed feed, + boolean preserveWireFeed)+
+
feed
- preserveWireFeed
- +Method Detail | +
---|
+public List getSupportedFeedTypes()+
+
+
getSupportedFeedTypes
in interface SyndFeed
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in interface SyndFeed
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public WireFeed createWireFeed()+
+ The feed type of the created WireFeed is taken from the SyndFeedImpl feedType property. +
+
+
createWireFeed
in interface SyndFeed
+public WireFeed createWireFeed(String feedType)+
+
+
createWireFeed
in interface SyndFeed
feedType
- the feed type for the WireFeed to be created.
++public WireFeed originalWireFeed()+
+
originalWireFeed
in interface SyndFeed
+public String getFeedType()+
+
+
getFeedType
in interface SyndFeed
+public void setFeedType(String feedType)+
+
+
setFeedType
in interface SyndFeed
feedType
- the feed type to set, null if none.+public String getEncoding()+
+
+
getEncoding
in interface SyndFeed
+public void setEncoding(String encoding)+
+
+
setEncoding
in interface SyndFeed
encoding
- the charset encoding of the feed.+public String getUri()+
+ How the feed URI maps to a concrete feed type (RSS or Atom) depends on + the concrete feed type. This is explained in detail in Rome documentation, + Feed and entry URI mapping. +
+ The returned URI is a normalized URI as specified in RFC 2396bis. +
+ Note: The URI is the unique identifier, in the RSS 2.0/atom case this is + the GUID, for RSS 1.0 this is the URI attribute of the item. The Link + is the URL that the item is accessible under, the URI is the + permanent identifier which the aggregator should use to reference + this item. Often the URI will use some standardized identifier scheme + such as DOI's so that items can be identified even if they appear in + multiple feeds with different "links" (they might be on different + hosting platforms but be the same item). Also, though rare, there + could be multiple items with the same link but a different URI and + associated metadata which need to be treated as distinct entities. + In the RSS 1.0 case the URI must be a valid RDF URI reference. +
+
+
getUri
in interface SyndFeed
+public void setUri(String uri)+
+ How the feed URI maps to a concrete feed type (RSS or Atom) depends on + the concrete feed type. This is explained in detail in Rome documentation, + Feed and entry URI mapping. +
+ Note: The URI is the unique identifier, in the RSS 2.0/atom case this is + the GUID, for RSS 1.0 this is the URI attribute of the item. The Link + is the URL that the item is accessible under, the URI is the + permanent identifier which the aggregator should use to reference + this item. Often the URI will use some standardized identifier scheme + such as DOI's so that items can be identified even if they appear in + multiple feeds with different "links" (they might be on different + hosting platforms but be the same item). Also, though rare, there + could be multiple items with the same link but a different URI and + associated metadata which need to be treated as distinct entities. + In the RSS 1.0 case the URI must be a valid RDF URI reference. +
+
+
setUri
in interface SyndFeed
uri
- the feed URI to set, null if none.+public String getTitle()+
+
+
getTitle
in interface SyndFeed
+public void setTitle(String title)+
+
+
setTitle
in interface SyndFeed
title
- the feed title to set, null if none.+public SyndContent getTitleEx()+
+
+
getTitleEx
in interface SyndFeed
+public void setTitleEx(SyndContent title)+
+
+
setTitleEx
in interface SyndFeed
title
- the feed title to set, null if none.+public String getLink()+
+ Note: The URI is the unique identifier, in the RSS 2.0/atom case this is + the GUID, for RSS 1.0 this is the URI attribute of the item. The Link + is the URL that the item is accessible under, the URI is the + permanent identifier which the aggregator should use to reference + this item. Often the URI will use some standardized identifier scheme + such as DOI's so that items can be identified even if they appear in + multiple feeds with different "links" (they might be on different + hosting platforms but be the same item). Also, though rare, there + could be multiple items with the same link but a different URI and + associated metadata which need to be treated as distinct entities. + In the RSS 1.0 case the URI must be a valid RDF URI reference. +
+
+
getLink
in interface SyndFeed
+public void setLink(String link)+
+ Note: The URI is the unique identifier, in the RSS 2.0/atom case this is + the GUID, for RSS 1.0 this is the URI attribute of the item. The Link + is the URL that the item is accessible under, the URI is the + permanent identifier which the aggregator should use to reference + this item. Often the URI will use some standardized identifier scheme + such as DOI's so that items can be identified even if they appear in + multiple feeds with different "links" (they might be on different + hosting platforms but be the same item). Also, though rare, there + could be multiple items with the same link but a different URI and + associated metadata which need to be treated as distinct entities. + In the RSS 1.0 case the URI must be a valid RDF URI reference. +
+
+
setLink
in interface SyndFeed
link
- the feed link to set, null if none.+public String getDescription()+
+
+
getDescription
in interface SyndFeed
+public void setDescription(String description)+
+
+
setDescription
in interface SyndFeed
description
- the feed description to set, null if none.+public SyndContent getDescriptionEx()+
+
+
getDescriptionEx
in interface SyndFeed
+public void setDescriptionEx(SyndContent description)+
+
+
setDescriptionEx
in interface SyndFeed
description
- the feed description to set, null if none.+public Date getPublishedDate()+
+ This method is a convenience method, it maps to the Dublin Core module date. +
+
+
getPublishedDate
in interface SyndFeed
+public void setPublishedDate(Date publishedDate)+
+ This method is a convenience method, it maps to the Dublin Core module date. +
+
+
setPublishedDate
in interface SyndFeed
publishedDate
- the feed published date to set, null if none.+public String getCopyright()+
+ This method is a convenience method, it maps to the Dublin Core module rights. +
+
+
getCopyright
in interface SyndFeed
+public void setCopyright(String copyright)+
+ This method is a convenience method, it maps to the Dublin Core module rights. +
+
+
setCopyright
in interface SyndFeed
copyright
- the feed copyright to set, null if none.+public SyndImage getImage()+
+
+
getImage
in interface SyndFeed
+public void setImage(SyndImage image)+
+
+
setImage
in interface SyndFeed
image
- the feed image to set, null if none.+public List getCategories()+
+ This method is a convenience method, it maps to the Dublin Core module subjects. +
+
+
getCategories
in interface SyndFeed
+public void setCategories(List categories)+
+ This method is a convenience method, it maps to the Dublin Core module subjects. +
+
+
setCategories
in interface SyndFeed
categories
- the list of SyndCategoryImpl elements with the feed categories to set,
+ an empty list or null if none.+public List getEntries()+
+
+
getEntries
in interface SyndFeed
+public void setEntries(List entries)+
+
+
setEntries
in interface SyndFeed
entries
- the list of SyndEntryImpl elements with the feed entries to set,
+ an empty list or null if none.+public String getLanguage()+
+ This method is a convenience method, it maps to the Dublin Core module language. +
+
+
getLanguage
in interface SyndFeed
+public void setLanguage(String language)+
+ This method is a convenience method, it maps to the Dublin Core module language. +
+
+
setLanguage
in interface SyndFeed
language
- the feed language to set, null if none.+public List getModules()+
+
+
getModules
in interface Extendable
getModules
in interface SyndFeed
+public void setModules(List modules)+
+
+
setModules
in interface Extendable
setModules
in interface SyndFeed
modules
- the list of ModuleImpl elements with the feed modules to set,
+ an empty list or null if none.+public Module getModule(String uri)+
+
+
getModule
in interface Extendable
getModule
in interface SyndFeed
uri
- the URI of the ModuleImpl.
++public Class getInterface()+
CopyFrom
+ This is useful when dealing with properties that may have multiple implementations. + For example, Module. +
+
+
getInterface
in interface CopyFrom
+public void copyFrom(CopyFrom obj)+
CopyFrom
+ Any existing properties in this bean are lost. +
+ This method is useful for moving from one implementation of a bean interface to another. + For example from the default SyndFeed bean implementation to a Hibernate ready implementation. +
+
+
copyFrom
in interface CopyFrom
obj
- the instance to copy properties from.+public List getLinks()+
+
+
getLinks
in interface SyndFeed
+public void setLinks(List links)+
+
+
setLinks
in interface SyndFeed
links
- The links to set.+public List getAuthors()+
SyndFeed
+ For Atom feeds, this returns the authors as a list of SyndPerson objects, + for RSS feeds this method is a convenience method, it maps to the + Dublin Core module creator. +
+
+
getAuthors
in interface SyndFeed
+public void setAuthors(List authors)+
SyndFeed
+ For Atom feeds, this sets the authors as a list of SyndPerson + objects, for RSS feeds this method is a convenience method, it maps + to the Dublin Core module creator. +
+
+
setAuthors
in interface SyndFeed
authors
- the feed authors to set, null if none.+public String getAuthor()+
+ This method is a convenience method, it maps to the Dublin Core module creator. +
+
+
getAuthor
in interface SyndFeed
+public void setAuthor(String author)+
+ This method is a convenience method, it maps to the Dublin Core module creator. +
+
+
setAuthor
in interface SyndFeed
author
- the feed author to set, null if none.+public List getContributors()+
SyndFeed
+ For Atom feeds, this returns the contributors as a list of + SyndPerson objects +
+
+
getContributors
in interface SyndFeed
+public void setContributors(List contributors)+
SyndFeed
+ Returns contributors as a list of SyndPerson objects. +
+
+
setContributors
in interface SyndFeed
contributors
- the feed contributors to set, null if none.+public Object getForeignMarkup()+
+
+
getForeignMarkup
in interface SyndFeed
+public void setForeignMarkup(Object foreignMarkup)+
+
+
setForeignMarkup
in interface SyndFeed
foreignMarkup
- Opaque object to discourage use+public boolean isPreservingWireFeed()+
isPreservingWireFeed
in interface SyndFeed
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface SyndImage
+Bean interface for images of SyndFeedImpl feeds. +
+
+ +
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep clone of the object. |
+
+ String |
+getDescription()
+
++ Returns the image description. |
+
+ String |
+getLink()
+
++ Returns the image link. |
+
+ String |
+getTitle()
+
++ Returns the image title. |
+
+ String |
+getUrl()
+
++ Returns the image URL. |
+
+ void |
+setDescription(String description)
+
++ Sets the image description. |
+
+ void |
+setLink(String link)
+
++ Sets the image link. |
+
+ void |
+setTitle(String title)
+
++ Sets the image title. |
+
+ void |
+setUrl(String url)
+
++ Sets the image URL. |
+
Methods inherited from interface com.sun.syndication.feed.CopyFrom | +
---|
copyFrom, getInterface |
+
+Method Detail | +
---|
+String getTitle()+
+
+
+void setTitle(String title)+
+
+
title
- the image title to set, null if none.+String getUrl()+
+
+
+void setUrl(String url)+
+
+
url
- the image URL to set, null if none.+String getLink()+
+
+
+void setLink(String link)+
+
+
link
- the image link to set, null if none.+String getDescription()+
+
+
+void setDescription(String description)+
+
+
description
- the image description to set, null if none.+Object clone() + throws CloneNotSupportedException+
+
+
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.SyndImageImpl ++
public class SyndImageImpl
+Bean for images of SyndFeedImpl feeds. +
+
+ +
+
+Constructor Summary | +|
---|---|
SyndImageImpl()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ void |
+copyFrom(CopyFrom syndImage)
+
++ Copies all the properties of the given bean into this one. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getDescription()
+
++ Returns the image description. |
+
+ Class |
+getInterface()
+
++ Returns the interface the copyFrom works on. |
+
+ String |
+getLink()
+
++ Returns the image link. |
+
+ String |
+getTitle()
+
++ Returns the image title. |
+
+ String |
+getUrl()
+
++ Returns the image URL. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setDescription(String description)
+
++ Sets the image description. |
+
+ void |
+setLink(String link)
+
++ Sets the image link. |
+
+ void |
+setTitle(String title)
+
++ Sets the image title. |
+
+ void |
+setUrl(String url)
+
++ Sets the image URL. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public SyndImageImpl()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in interface SyndImage
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getTitle()+
+
+
getTitle
in interface SyndImage
+public void setTitle(String title)+
+
+
setTitle
in interface SyndImage
title
- the image title to set, null if none.+public String getUrl()+
+
+
getUrl
in interface SyndImage
+public void setUrl(String url)+
+
+
setUrl
in interface SyndImage
url
- the image URL to set, null if none.+public String getLink()+
+
+
getLink
in interface SyndImage
+public void setLink(String link)+
+
+
setLink
in interface SyndImage
link
- the image link to set, null if none.+public String getDescription()+
+
+
getDescription
in interface SyndImage
+public void setDescription(String description)+
+
+
setDescription
in interface SyndImage
description
- the image description to set, null if none.+public Class getInterface()+
CopyFrom
+ This is useful when dealing with properties that may have multiple implementations. + For example, Module. +
+
+
getInterface
in interface CopyFrom
+public void copyFrom(CopyFrom syndImage)+
CopyFrom
+ Any existing properties in this bean are lost. +
+ This method is useful for moving from one implementation of a bean interface to another. + For example from the default SyndFeed bean implementation to a Hibernate ready implementation. +
+
+
copyFrom
in interface CopyFrom
syndImage
- the instance to copy properties from.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface SyndLink
+Represents a link or enclosure associated with entry. +
+ +
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getHref()
+
++ Returns the link href. |
+
+ String |
+getHreflang()
+
++ Returns the hreflang + |
+
+ long |
+getLength()
+
++ Returns the length + |
+
+ String |
+getRel()
+
++ Returns the link rel. |
+
+ String |
+getTitle()
+
++ Returns the link title. |
+
+ String |
+getType()
+
++ Returns the link type. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setHref(String href)
+
++ Sets the link href. |
+
+ void |
+setHreflang(String hreflang)
+
++ Set the hreflang + |
+
+ void |
+setLength(long length)
+
++ Set the length + |
+
+ void |
+setRel(String rel)
+
++ Sets the link rel. |
+
+ void |
+setTitle(String title)
+
++ Sets the link title. |
+
+ void |
+setType(String type)
+
++ Sets the link type. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
+Method Detail | +
---|
+Object clone() + throws CloneNotSupportedException+
+
+
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+String toString()+
+
+
toString
in class Object
+String getRel()+
+
+
+void setRel(String rel)+
+
+
rel
- the link rel,, null if none.+String getType()+
+
+
+void setType(String type)+
+
+
type
- the link type, null if none.+String getHref()+
+
+
+void setHref(String href)+
+
+
href
- the link href, null if none.+String getTitle()+
+
+
+void setTitle(String title)+
+
+
title
- the link title, null if none.+String getHreflang()+
+
+
+void setHreflang(String hreflang)+
+
+
hreflang
- The hreflang to set.+long getLength()+
+
+
+void setLength(long length)+
+
+
length
- The length to set.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.SyndLinkImpl ++
public class SyndLinkImpl
+Represents a link or an enclosure. +
+
+ +
+
+Constructor Summary | +|
---|---|
SyndLinkImpl()
+
++ Default constructor. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getHref()
+
++ Returns the link href. |
+
+ String |
+getHreflang()
+
++ Returns the hreflang + |
+
+ long |
+getLength()
+
++ Returns the length + |
+
+ String |
+getRel()
+
++ Returns the link rel. |
+
+ String |
+getTitle()
+
++ Returns the link title. |
+
+ String |
+getType()
+
++ Returns the link type. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setHref(String href)
+
++ Sets the link href. |
+
+ void |
+setHreflang(String hreflang)
+
++ Set the hreflang + |
+
+ void |
+setLength(long length)
+
++ Set the length + |
+
+ void |
+setRel(String rel)
+
++ Sets the link rel. |
+
+ void |
+setTitle(String title)
+
++ Sets the link title. |
+
+ void |
+setType(String type)
+
++ Sets the link type. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public SyndLinkImpl()+
+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in interface SyndLink
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in interface SyndLink
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in interface SyndLink
hashCode
in class Object
+public String toString()+
+
+
toString
in interface SyndLink
toString
in class Object
+public String getRel()+
+
+
getRel
in interface SyndLink
+public void setRel(String rel)+
+
+
setRel
in interface SyndLink
rel
- the link rel,, null if none.+public String getType()+
+
+
getType
in interface SyndLink
+public void setType(String type)+
+
+
setType
in interface SyndLink
type
- the link type, null if none.+public String getHref()+
+
+
getHref
in interface SyndLink
+public void setHref(String href)+
+
+
setHref
in interface SyndLink
href
- the link href, null if none.+public String getTitle()+
+
+
getTitle
in interface SyndLink
+public void setTitle(String title)+
+
+
setTitle
in interface SyndLink
title
- the link title, null if none.+public String getHreflang()+
+
+
getHreflang
in interface SyndLink
+public void setHreflang(String hreflang)+
+
+
setHreflang
in interface SyndLink
hreflang
- The hreflang to set.+public long getLength()+
+
+
getLength
in interface SyndLink
+public void setLength(long length)+
+
+
setLength
in interface SyndLink
length
- The length to set.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface SyndPerson
+Bean interface for authors and contributors of SyndFeedImpl feeds and entries. +
+
+ +
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep clone of the object. |
+
+ String |
+getEmail()
+
++ Returns email of person. |
+
+ String |
+getName()
+
++ Returns name of person |
+
+ String |
+getUri()
+
++ Returns URI of person. |
+
+ void |
+setEmail(String email)
+
++ Sets email of person. |
+
+ void |
+setName(String name)
+
++ Sets name of person. |
+
+ void |
+setUri(String uri)
+
++ Sets URI of person. |
+
Methods inherited from interface com.sun.syndication.feed.module.Extendable | +
---|
getModule, getModules, setModules |
+
+Method Detail | +
---|
+String getName()+
+
+void setName(String name)+
+
+String getUri()+
+
+void setUri(String uri)+
+
+String getEmail()+
+
+void setEmail(String email)+
+
+Object clone() + throws CloneNotSupportedException+
+
+
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.SyndPersonImpl ++
public class SyndPersonImpl
+Bean for authors and contributors of SyndFeedImpl feeds and entries. +
+
+ +
+
+Constructor Summary | +|
---|---|
SyndPersonImpl()
+
++ For implementations extending SyndContentImpl to be able to use the ObjectBean functionality + with extended interfaces. |
+
+Method Summary | +|
---|---|
+ Object |
+clone()
+
++ Creates a deep 'bean' clone of the object. |
+
+ boolean |
+equals(Object other)
+
++ Indicates whether some other object is "equal to" this one as defined by the Object equals() method. |
+
+ String |
+getEmail()
+
++ Returns the person's e-mail address. |
+
+ Module |
+getModule(String uri)
+
++ Returns the module identified by a given URI. |
+
+ List |
+getModules()
+
++ Returns the person modules. |
+
+ String |
+getName()
+
++ Returns the person name. |
+
+ String |
+getUri()
+
++ Returns the person's URI. |
+
+ int |
+hashCode()
+
++ Returns a hashcode value for the object. |
+
+ void |
+setEmail(String email)
+
++ Sets the person's e-mail address. |
+
+ void |
+setModules(List modules)
+
++ Sets the person modules. |
+
+ void |
+setName(String name)
+
++ Sets the category name. |
+
+ void |
+setUri(String uri)
+
++ Sets the person's URI. |
+
+ String |
+toString()
+
++ Returns the String representation for the object. |
+
Methods inherited from class java.lang.Object | +
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public SyndPersonImpl()+
+
+Method Detail | +
---|
+public Object clone() + throws CloneNotSupportedException+
+
+
clone
in interface SyndPerson
clone
in class Object
CloneNotSupportedException
- thrown if an element of the object cannot be cloned.+public boolean equals(Object other)+
+
+
equals
in class Object
other
- he reference object with which to compare.
++public int hashCode()+
+ It follows the contract defined by the Object hashCode() method. +
+
+
hashCode
in class Object
+public String toString()+
+
+
toString
in class Object
+public String getName()+
+
+
getName
in interface SyndPerson
+public void setName(String name)+
+
+
setName
in interface SyndPerson
name
- the category name to set, null if none.+public String getEmail()+
+
+
getEmail
in interface SyndPerson
+public void setEmail(String email)+
+
+
setEmail
in interface SyndPerson
email
- The person's e-mail address to set, null if none.+public String getUri()+
+
+
getUri
in interface SyndPerson
+public void setUri(String uri)+
+
+
setUri
in interface SyndPerson
uri
- the peron's URI to set, null if none.+public List getModules()+
+
+
getModules
in interface Extendable
+public void setModules(List modules)+
+
+
setModules
in interface Extendable
modules
- the list of ModuleImpl elements with the person modules to set,
+ an empty list or null if none.+public Module getModule(String uri)+
+
+
getModule
in interface Extendable
uri
- the URI of the ModuleImpl.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use Converter | +|
---|---|
com.sun.syndication.feed.synd.impl | ++ |
+Uses of Converter in com.sun.syndication.feed.synd.impl | +
---|
+ +
Classes in com.sun.syndication.feed.synd.impl that implement Converter | +|
---|---|
+ class |
+ConverterForAtom03
+
++ |
+
+ class |
+ConverterForAtom10
+
++ |
+
+ class |
+ConverterForRSS090
+
++ |
+
+ class |
+ConverterForRSS091Netscape
+
++ |
+
+ class |
+ConverterForRSS091Userland
+
++ |
+
+ class |
+ConverterForRSS092
+
++ |
+
+ class |
+ConverterForRSS093
+
++ |
+
+ class |
+ConverterForRSS094
+
++ |
+
+ class |
+ConverterForRSS10
+
++ |
+
+ class |
+ConverterForRSS20
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl that return Converter | +|
---|---|
+ Converter |
+Converters.getConverter(String feedType)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use SyndCategory | +|
---|---|
com.sun.syndication.feed.synd | ++ |
+Uses of SyndCategory in com.sun.syndication.feed.synd | +
---|
+ +
Classes in com.sun.syndication.feed.synd that implement SyndCategory | +|
---|---|
+ class |
+SyndCategoryImpl
+
++ Bean for categories of SyndFeedImpl feeds and entries. |
+
+ +
Methods in com.sun.syndication.feed.synd that return types with arguments of type SyndCategory | +|
---|---|
+ List<SyndCategory> |
+SyndEntry.getCategories()
+
++ Returns the entry categories. |
+
+ List<SyndCategory> |
+SyndFeed.getCategories()
+
++ Returns the feed categories. |
+
+ List<SyndCategory> |
+SyndEntryImpl.getCategories()
+
++ Returns the entry categories. |
+
+ +
Method parameters in com.sun.syndication.feed.synd with type arguments of type SyndCategory | +|
---|---|
+ void |
+SyndEntry.setCategories(List<SyndCategory> categories)
+
++ Sets the entry categories. |
+
+ void |
+SyndFeed.setCategories(List<SyndCategory> categories)
+
++ Sets the feed categories. |
+
+ void |
+SyndEntryImpl.setCategories(List<SyndCategory> categories)
+
++ Sets the entry categories. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use SyndContent | +|
---|---|
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.feed.synd.impl | ++ |
+Uses of SyndContent in com.sun.syndication.feed.synd | +
---|
+ +
Classes in com.sun.syndication.feed.synd that implement SyndContent | +|
---|---|
+ class |
+SyndContentImpl
+
++ Bean for content of SyndFeedImpl entries. |
+
+ +
Methods in com.sun.syndication.feed.synd that return SyndContent | +|
---|---|
+ SyndContent |
+SyndEntry.getDescription()
+
++ Returns the entry description. |
+
+ SyndContent |
+SyndEntryImpl.getDescription()
+
++ Returns the entry description. |
+
+ SyndContent |
+SyndFeed.getDescriptionEx()
+
++ Returns the feed description as a text construct. |
+
+ SyndContent |
+SyndFeedImpl.getDescriptionEx()
+
++ Returns the feed description as a text construct. |
+
+ SyndContent |
+SyndEntry.getTitleEx()
+
++ Returns the entry title as a text construct. |
+
+ SyndContent |
+SyndFeed.getTitleEx()
+
++ Returns the feed title. |
+
+ SyndContent |
+SyndEntryImpl.getTitleEx()
+
++ Returns the entry title as a text construct. |
+
+ SyndContent |
+SyndFeedImpl.getTitleEx()
+
++ Returns the feed title as a text construct. |
+
+ +
Methods in com.sun.syndication.feed.synd that return types with arguments of type SyndContent | +|
---|---|
+ List<SyndContent> |
+SyndEntry.getContents()
+
++ Returns the entry contents. |
+
+ List<SyndContent> |
+SyndEntryImpl.getContents()
+
++ Returns the entry contents. |
+
+ +
Methods in com.sun.syndication.feed.synd with parameters of type SyndContent | +|
---|---|
+ void |
+SyndEntry.setDescription(SyndContent description)
+
++ Sets the entry description. |
+
+ void |
+SyndEntryImpl.setDescription(SyndContent description)
+
++ Sets the entry description. |
+
+ void |
+SyndFeed.setDescriptionEx(SyndContent description)
+
++ Sets the feed description as a text construct. |
+
+ void |
+SyndFeedImpl.setDescriptionEx(SyndContent description)
+
++ Sets the feed description as a text construct. |
+
+ void |
+SyndEntry.setTitleEx(SyndContent title)
+
++ Sets the entry title as a text construct. |
+
+ void |
+SyndFeed.setTitleEx(SyndContent title)
+
++ Sets the feed title. |
+
+ void |
+SyndEntryImpl.setTitleEx(SyndContent title)
+
++ Sets the entry title as a text construct. |
+
+ void |
+SyndFeedImpl.setTitleEx(SyndContent title)
+
++ Sets the feed title as a text construct. |
+
+ +
Method parameters in com.sun.syndication.feed.synd with type arguments of type SyndContent | +|
---|---|
+ void |
+SyndEntry.setContents(List<SyndContent> contents)
+
++ Sets the entry contents. |
+
+ void |
+SyndEntryImpl.setContents(List<SyndContent> contents)
+
++ Sets the entry contents. |
+
+Uses of SyndContent in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return SyndContent | +|
---|---|
+protected SyndContent |
+ConverterForAtom10.createSyndContent(Content content)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type SyndContent | +|
---|---|
+protected Content |
+ConverterForAtom10.createAtomContent(SyndContent sContent)
+
++ |
+
+protected Content |
+ConverterForRSS10.createItemContent(SyndContent sContent)
+
++ |
+
+protected Description |
+ConverterForRSS10.createItemDescription(SyndContent sContent)
+
++ |
+
+protected Description |
+ConverterForRSS091Userland.createItemDescription(SyndContent sContent)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use SyndEnclosure | +|
---|---|
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.feed.synd.impl | ++ |
+Uses of SyndEnclosure in com.sun.syndication.feed.synd | +
---|
+ +
Classes in com.sun.syndication.feed.synd that implement SyndEnclosure | +|
---|---|
+ class |
+SyndEnclosureImpl
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd that return types with arguments of type SyndEnclosure | +|
---|---|
+ List<SyndEnclosure> |
+SyndEntry.getEnclosures()
+
++ Returns the entry enclosures. |
+
+ List<SyndEnclosure> |
+SyndEntryImpl.getEnclosures()
+
++ Returns the entry enclosures. |
+
+ +
Method parameters in com.sun.syndication.feed.synd with type arguments of type SyndEnclosure | +|
---|---|
+ void |
+SyndEntry.setEnclosures(List<SyndEnclosure> enclosures)
+
++ Sets the entry enclosures. |
+
+ void |
+SyndEntryImpl.setEnclosures(List<SyndEnclosure> enclosures)
+
++ Sets the entry enclosures. |
+
+Uses of SyndEnclosure in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return SyndEnclosure | +|
---|---|
+ SyndEnclosure |
+ConverterForAtom03.createSyndEnclosure(Entry entry,
+ Link link)
+
++ |
+
+ SyndEnclosure |
+ConverterForAtom10.createSyndEnclosure(Feed feed,
+ Entry entry,
+ Link link)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type SyndEnclosure | +|
---|---|
+ Link |
+ConverterForAtom10.createAtomEnclosure(SyndEnclosure syndEnclosure)
+
++ |
+
+ Link |
+ConverterForAtom03.createAtomEnclosure(SyndEnclosure syndEnclosure)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use SyndEntry | +|
---|---|
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.feed.synd.impl | ++ |
+Uses of SyndEntry in com.sun.syndication.feed.synd | +
---|
+ +
Classes in com.sun.syndication.feed.synd that implement SyndEntry | +|
---|---|
+ class |
+SyndEntryImpl
+
++ Bean for entries of SyndFeedImpl feeds. |
+
+ +
Methods in com.sun.syndication.feed.synd that return types with arguments of type SyndEntry | +|
---|---|
+ List<SyndEntry> |
+SyndFeed.getEntries()
+
++ Returns the feed entries. |
+
+ +
Method parameters in com.sun.syndication.feed.synd with type arguments of type SyndEntry | +|
---|---|
+ void |
+SyndFeed.setEntries(List<SyndEntry> entries)
+
++ Sets the feed entries. |
+
+Uses of SyndEntry in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return SyndEntry | +|
---|---|
+protected SyndEntry |
+ConverterForAtom03.createSyndEntry(Entry entry,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForAtom10.createSyndEntry(Feed feed,
+ Entry entry,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForRSS094.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForRSS090.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForRSS092.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForRSS10.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForRSS091Userland.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndEntry |
+ConverterForRSS093.createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type SyndEntry | +|
---|---|
+protected Entry |
+ConverterForAtom10.createAtomEntry(SyndEntry sEntry)
+
++ |
+
+protected Entry |
+ConverterForAtom03.createAtomEntry(SyndEntry sEntry)
+
++ |
+
+protected Item |
+ConverterForRSS094.createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected Item |
+ConverterForRSS090.createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected Item |
+ConverterForRSS092.createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected Item |
+ConverterForRSS10.createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected Item |
+ConverterForRSS091Userland.createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected Item |
+ConverterForRSS093.createRSSItem(SyndEntry sEntry)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use SyndFeed | +|
---|---|
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io | ++ |
+Uses of SyndFeed in com.sun.syndication.feed.synd | +
---|
+ +
Classes in com.sun.syndication.feed.synd that implement SyndFeed | +|
---|---|
+ class |
+SyndFeedImpl
+
++ Bean for all types of feeds. |
+
+ +
Methods in com.sun.syndication.feed.synd that return SyndFeed | +|
---|---|
+ SyndFeed |
+SyndEntry.getSource()
+
++ Returns the entry source. |
+
+ SyndFeed |
+SyndEntryImpl.getSource()
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd with parameters of type SyndFeed | +|
---|---|
+ void |
+Converter.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl. |
+
+ WireFeed |
+Converter.createRealFeed(SyndFeed syndFeed)
+
++ Creates real feed with a deep copy/conversion of the values of a SyndFeedImpl. |
+
+ void |
+SyndEntry.setSource(SyndFeed source)
+
++ Sets the entry source feed (for use if different from containing feed) + |
+
+ void |
+SyndEntryImpl.setSource(SyndFeed source)
+
++ |
+
+Uses of SyndFeed in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type SyndFeed | +|
---|---|
+ void |
+ConverterForRSS094.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+ void |
+ConverterForRSS090.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+ void |
+ConverterForRSS10.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+ void |
+ConverterForRSS091Userland.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+ void |
+ConverterForAtom10.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+ void |
+ConverterForAtom03.copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ |
+
+protected WireFeed |
+ConverterForRSS094.createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+protected WireFeed |
+ConverterForRSS090.createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+protected WireFeed |
+ConverterForRSS10.createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+protected WireFeed |
+ConverterForRSS091Userland.createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+ WireFeed |
+ConverterForRSS090.createRealFeed(SyndFeed syndFeed)
+
++ |
+
+ WireFeed |
+ConverterForAtom10.createRealFeed(SyndFeed syndFeed)
+
++ |
+
+ WireFeed |
+ConverterForAtom03.createRealFeed(SyndFeed syndFeed)
+
++ |
+
+Uses of SyndFeed in com.sun.syndication.io | +
---|
+ +
Methods in com.sun.syndication.io that return SyndFeed | +|
---|---|
+ SyndFeed |
+SyndFeedInput.build(Document document)
+
++ Builds SyndFeedImpl from an W3C DOM document. |
+
+ SyndFeed |
+SyndFeedInput.build(org.jdom.Document document)
+
++ Builds SyndFeedImpl from an JDOM document. |
+
+ SyndFeed |
+SyndFeedInput.build(File file)
+
++ Builds SyndFeedImpl from a file. |
+
+ SyndFeed |
+SyndFeedInput.build(InputSource is)
+
++ Builds SyndFeedImpl from an W3C SAX InputSource. |
+
+ SyndFeed |
+SyndFeedInput.build(Reader reader)
+
++ Builds SyndFeedImpl from an Reader. |
+
+ +
Methods in com.sun.syndication.io with parameters of type SyndFeed | +|
---|---|
+ void |
+SyndFeedOutput.output(SyndFeed feed,
+ File file)
+
++ Creates a File containing with the XML representation for the given SyndFeedImpl. |
+
+ void |
+SyndFeedOutput.output(SyndFeed feed,
+ File file,
+ boolean prettyPrint)
+
++ Creates a File containing with the XML representation for the given SyndFeedImpl. |
+
+ void |
+SyndFeedOutput.output(SyndFeed feed,
+ Writer writer)
+
++ Writes to an Writer the XML representation for the given SyndFeedImpl. |
+
+ void |
+SyndFeedOutput.output(SyndFeed feed,
+ Writer writer,
+ boolean prettyPrint)
+
++ Writes to an Writer the XML representation for the given SyndFeedImpl. |
+
+ org.jdom.Document |
+SyndFeedOutput.outputJDom(SyndFeed feed)
+
++ Creates a JDOM document for the given SyndFeedImpl. |
+
+ String |
+SyndFeedOutput.outputString(SyndFeed feed)
+
++ Creates a String with the XML representation for the given SyndFeedImpl. |
+
+ String |
+SyndFeedOutput.outputString(SyndFeed feed,
+ boolean prettyPrint)
+
++ Creates a String with the XML representation for the given SyndFeedImpl. |
+
+ Document |
+SyndFeedOutput.outputW3CDom(SyndFeed feed)
+
++ Creates a W3C DOM document for the given SyndFeedImpl. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use SyndImage | +|
---|---|
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.feed.synd.impl | ++ |
+Uses of SyndImage in com.sun.syndication.feed.synd | +
---|
+ +
Classes in com.sun.syndication.feed.synd that implement SyndImage | +|
---|---|
+ class |
+SyndImageImpl
+
++ Bean for images of SyndFeedImpl feeds. |
+
+ +
Methods in com.sun.syndication.feed.synd that return SyndImage | +|
---|---|
+ SyndImage |
+SyndFeed.getImage()
+
++ Returns the feed image. |
+
+ SyndImage |
+SyndFeedImpl.getImage()
+
++ Returns the feed image. |
+
+ +
Methods in com.sun.syndication.feed.synd with parameters of type SyndImage | +|
---|---|
+ void |
+SyndFeed.setImage(SyndImage image)
+
++ Sets the feed image. |
+
+ void |
+SyndFeedImpl.setImage(SyndImage image)
+
++ Sets the feed image. |
+
+Uses of SyndImage in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return SyndImage | +|
---|---|
+protected SyndImage |
+ConverterForRSS090.createSyndImage(Image rssImage)
+
++ |
+
+protected SyndImage |
+ConverterForRSS091Userland.createSyndImage(Image rssImage)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type SyndImage | +|
---|---|
+protected Image |
+ConverterForRSS090.createRSSImage(SyndImage sImage)
+
++ |
+
+protected Image |
+ConverterForRSS091Userland.createRSSImage(SyndImage sImage)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use SyndLink | +|
---|---|
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.feed.synd.impl | ++ |
+Uses of SyndLink in com.sun.syndication.feed.synd | +
---|
+ +
Classes in com.sun.syndication.feed.synd that implement SyndLink | +|
---|---|
+ class |
+SyndLinkImpl
+
++ Represents a link or an enclosure. |
+
+ +
Methods in com.sun.syndication.feed.synd that return SyndLink | +|
---|---|
+ SyndLink |
+SyndEntry.findRelatedLink(String relation)
+
++ Returns the first instance of a SyndLink with the specified relation, or null |
+
+ SyndLink |
+SyndEntryImpl.findRelatedLink(String relation)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd that return types with arguments of type SyndLink | +|
---|---|
+ List<SyndLink> |
+SyndEntry.getLinks()
+
++ Returns the entry links + |
+
+ List<SyndLink> |
+SyndFeed.getLinks()
+
++ Returns the entry links + |
+
+ List<SyndLink> |
+SyndEntryImpl.getLinks()
+
++ Returns the links + |
+
+ +
Method parameters in com.sun.syndication.feed.synd with type arguments of type SyndLink | +|
---|---|
+ void |
+SyndEntry.setLinks(List<SyndLink> links)
+
++ Sets the entry links. |
+
+ void |
+SyndFeed.setLinks(List<SyndLink> links)
+
++ Sets the entry links. |
+
+Uses of SyndLink in com.sun.syndication.feed.synd.impl | +
---|
+ +
Methods in com.sun.syndication.feed.synd.impl that return SyndLink | +|
---|---|
+ SyndLink |
+ConverterForAtom10.createSyndLink(Link link)
+
++ |
+
+ SyndLink |
+ConverterForAtom03.createSyndLink(Link link)
+
++ |
+
+ +
Methods in com.sun.syndication.feed.synd.impl with parameters of type SyndLink | +|
---|---|
+ Link |
+ConverterForAtom10.createAtomLink(SyndLink syndLink)
+
++ |
+
+ Link |
+ConverterForAtom03.createAtomLink(SyndLink syndLink)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use SyndPerson | +|
---|---|
com.sun.syndication.feed.synd | ++ |
+Uses of SyndPerson in com.sun.syndication.feed.synd | +
---|
+ +
Classes in com.sun.syndication.feed.synd that implement SyndPerson | +|
---|---|
+ class |
+SyndPersonImpl
+
++ Bean for authors and contributors of SyndFeedImpl feeds and entries. |
+
+ +
Methods in com.sun.syndication.feed.synd that return types with arguments of type SyndPerson | +|
---|---|
+ List<SyndPerson> |
+SyndEntry.getAuthors()
+
++ Returns the entry authors. |
+
+ List<SyndPerson> |
+SyndFeed.getAuthors()
+
++ Returns the feed authors. |
+
+ List<SyndPerson> |
+SyndEntry.getContributors()
+
++ Returns the feed author. |
+
+ List<SyndPerson> |
+SyndFeed.getContributors()
+
++ Returns the feed author. |
+
+ +
Method parameters in com.sun.syndication.feed.synd with type arguments of type SyndPerson | +|
---|---|
+ void |
+SyndEntry.setAuthors(List<SyndPerson> authors)
+
++ Sets the entry author. |
+
+ void |
+SyndFeed.setAuthors(List<SyndPerson> authors)
+
++ Sets the feed authors. |
+
+ void |
+SyndEntry.setContributors(List<SyndPerson> contributors)
+
++ Sets the feed contributors. |
+
+ void |
+SyndFeed.setContributors(List<SyndPerson> contributors)
+
++ Sets the feed author. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.impl.ConverterForAtom03 ++
public class ConverterForAtom03
+
+Constructor Summary | +|
---|---|
+ |
+ConverterForAtom03()
+
++ |
+
+protected |
+ConverterForAtom03(String type)
+
++ |
+
+Method Summary | +|
---|---|
+ void |
+copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl. |
+
+ Link |
+createAtomEnclosure(SyndEnclosure syndEnclosure)
+
++ |
+
+protected List |
+createAtomEntries(List syndEntries)
+
++ |
+
+protected Entry |
+createAtomEntry(SyndEntry sEntry)
+
++ |
+
+ Link |
+createAtomLink(SyndLink syndLink)
+
++ |
+
+protected static List |
+createAtomPersons(List sPersons)
+
++ |
+
+ WireFeed |
+createRealFeed(SyndFeed syndFeed)
+
++ Creates real feed with a deep copy/conversion of the values of a SyndFeedImpl. |
+
+ SyndEnclosure |
+createSyndEnclosure(Entry entry,
+ Link link)
+
++ |
+
+protected List |
+createSyndEntries(List atomEntries,
+ boolean preserveWireItems)
+
++ |
+
+protected SyndEntry |
+createSyndEntry(Entry entry,
+ boolean preserveWireItem)
+
++ |
+
+ SyndLink |
+createSyndLink(Link link)
+
++ |
+
+protected List |
+createSyndLinks(List aLinks)
+
++ |
+
+protected static List |
+createSyndPersons(List aPersons)
+
++ |
+
+ String |
+getType()
+
++ Returns the type (version) of the real feed this converter handles. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ConverterForAtom03()+
+protected ConverterForAtom03(String type)+
+Method Detail | +
---|
+public String getType()+
Converter
+
+
getType
in interface Converter
for details on the format of this string.
+
+public void copyInto(WireFeed feed, + SyndFeed syndFeed)+
Converter
+ It assumes the given SyndFeedImpl has no properties set. +
+
+
copyInto
in interface Converter
feed
- real feed to copy/convert.syndFeed
- the SyndFeedImpl that will contain the copied/converted values of the real feed.+protected List createSyndLinks(List aLinks)+
+public SyndLink createSyndLink(Link link)+
+protected List createSyndEntries(List atomEntries, + boolean preserveWireItems)+
+protected SyndEntry createSyndEntry(Entry entry, + boolean preserveWireItem)+
+public SyndEnclosure createSyndEnclosure(Entry entry, + Link link)+
+public WireFeed createRealFeed(SyndFeed syndFeed)+
Converter
+
+
createRealFeed
in interface Converter
syndFeed
- SyndFeedImpl to copy/convert value from.
++protected static List createAtomPersons(List sPersons)+
+protected static List createSyndPersons(List aPersons)+
+protected List createAtomEntries(List syndEntries)+
+protected Entry createAtomEntry(SyndEntry sEntry)+
+public Link createAtomLink(SyndLink syndLink)+
+public Link createAtomEnclosure(SyndEnclosure syndEnclosure)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.impl.ConverterForAtom10 ++
public class ConverterForAtom10
+
+Constructor Summary | +|
---|---|
+ |
+ConverterForAtom10()
+
++ |
+
+protected |
+ConverterForAtom10(String type)
+
++ |
+
+Method Summary | +|
---|---|
+ void |
+copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl. |
+
+protected Content |
+createAtomContent(SyndContent sContent)
+
++ |
+
+protected List |
+createAtomContents(List syndContents)
+
++ |
+
+ Link |
+createAtomEnclosure(SyndEnclosure syndEnclosure)
+
++ |
+
+protected List |
+createAtomEntries(List syndEntries)
+
++ |
+
+protected Entry |
+createAtomEntry(SyndEntry sEntry)
+
++ |
+
+ Link |
+createAtomLink(SyndLink syndLink)
+
++ |
+
+ WireFeed |
+createRealFeed(SyndFeed syndFeed)
+
++ Creates real feed with a deep copy/conversion of the values of a SyndFeedImpl. |
+
+protected SyndContent |
+createSyndContent(Content content)
+
++ |
+
+ SyndEnclosure |
+createSyndEnclosure(Feed feed,
+ Entry entry,
+ Link link)
+
++ |
+
+protected List |
+createSyndEntries(Feed feed,
+ List atomEntries,
+ boolean preserveWireItems)
+
++ |
+
+protected SyndEntry |
+createSyndEntry(Feed feed,
+ Entry entry,
+ boolean preserveWireItem)
+
++ |
+
+ SyndLink |
+createSyndLink(Link link)
+
++ |
+
+protected List |
+createSyndLinks(List aLinks)
+
++ |
+
+ String |
+getType()
+
++ Returns the type (version) of the real feed this converter handles. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ConverterForAtom10()+
+protected ConverterForAtom10(String type)+
+Method Detail | +
---|
+public String getType()+
Converter
+
+
getType
in interface Converter
for details on the format of this string.
+
+public void copyInto(WireFeed feed, + SyndFeed syndFeed)+
Converter
+ It assumes the given SyndFeedImpl has no properties set. +
+
+
copyInto
in interface Converter
feed
- real feed to copy/convert.syndFeed
- the SyndFeedImpl that will contain the copied/converted values of the real feed.+protected List createSyndLinks(List aLinks)+
+protected List createSyndEntries(Feed feed, + List atomEntries, + boolean preserveWireItems)+
+protected SyndEntry createSyndEntry(Feed feed, + Entry entry, + boolean preserveWireItem)+
+public SyndEnclosure createSyndEnclosure(Feed feed, + Entry entry, + Link link)+
+public Link createAtomEnclosure(SyndEnclosure syndEnclosure)+
+public SyndLink createSyndLink(Link link)+
+public Link createAtomLink(SyndLink syndLink)+
+public WireFeed createRealFeed(SyndFeed syndFeed)+
Converter
+
+
createRealFeed
in interface Converter
syndFeed
- SyndFeedImpl to copy/convert value from.
++protected SyndContent createSyndContent(Content content)+
+protected List createAtomEntries(List syndEntries)+
+protected Content createAtomContent(SyndContent sContent)+
+protected List createAtomContents(List syndContents)+
+protected Entry createAtomEntry(SyndEntry sEntry)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.impl.ConverterForRSS090 ++
public class ConverterForRSS090
+
+Constructor Summary | +|
---|---|
+ |
+ConverterForRSS090()
+
++ |
+
+protected |
+ConverterForRSS090(String type)
+
++ |
+
+Method Summary | +|
---|---|
+ void |
+copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl. |
+
+protected WireFeed |
+createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+ WireFeed |
+createRealFeed(SyndFeed syndFeed)
+
++ Creates real feed with a deep copy/conversion of the values of a SyndFeedImpl. |
+
+protected Image |
+createRSSImage(SyndImage sImage)
+
++ |
+
+protected Item |
+createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected List |
+createRSSItems(List sEntries)
+
++ |
+
+protected List |
+createSyndEntries(List rssItems,
+ boolean preserveWireItems)
+
++ |
+
+protected SyndEntry |
+createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndImage |
+createSyndImage(Image rssImage)
+
++ |
+
+ String |
+getType()
+
++ Returns the type (version) of the real feed this converter handles. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ConverterForRSS090()+
+protected ConverterForRSS090(String type)+
+Method Detail | +
---|
+public String getType()+
Converter
+
+
getType
in interface Converter
for details on the format of this string.
+
+public void copyInto(WireFeed feed, + SyndFeed syndFeed)+
Converter
+ It assumes the given SyndFeedImpl has no properties set. +
+
+
copyInto
in interface Converter
feed
- real feed to copy/convert.syndFeed
- the SyndFeedImpl that will contain the copied/converted values of the real feed.+protected SyndImage createSyndImage(Image rssImage)+
+protected List createSyndEntries(List rssItems, + boolean preserveWireItems)+
+protected SyndEntry createSyndEntry(Item item, + boolean preserveWireItem)+
+public WireFeed createRealFeed(SyndFeed syndFeed)+
Converter
+
+
createRealFeed
in interface Converter
syndFeed
- SyndFeedImpl to copy/convert value from.
++protected WireFeed createRealFeed(String type, + SyndFeed syndFeed)+
+protected Image createRSSImage(SyndImage sImage)+
+protected List createRSSItems(List sEntries)+
+protected Item createRSSItem(SyndEntry sEntry)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.impl.ConverterForRSS090 + com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland + com.sun.syndication.feed.synd.impl.ConverterForRSS091Netscape ++
public class ConverterForRSS091Netscape
+
+Constructor Summary | +|
---|---|
+ |
+ConverterForRSS091Netscape()
+
++ |
+
+protected |
+ConverterForRSS091Netscape(String type)
+
++ |
+
+Method Summary | +
---|
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland | +
---|
copyInto, createItemDescription, createRealFeed, createRSSImage, createRSSItem, createSyndEntry, createSyndImage |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS090 | +
---|
createRealFeed, createRSSItems, createSyndEntries, getType |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ConverterForRSS091Netscape()+
+protected ConverterForRSS091Netscape(String type)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.impl.ConverterForRSS090 + com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland ++
public class ConverterForRSS091Userland
+
+Constructor Summary | +|
---|---|
+ |
+ConverterForRSS091Userland()
+
++ |
+
+protected |
+ConverterForRSS091Userland(String type)
+
++ |
+
+Method Summary | +|
---|---|
+ void |
+copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl. |
+
+protected Description |
+createItemDescription(SyndContent sContent)
+
++ |
+
+protected WireFeed |
+createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+protected Image |
+createRSSImage(SyndImage sImage)
+
++ |
+
+protected Item |
+createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected SyndEntry |
+createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
+protected SyndImage |
+createSyndImage(Image rssImage)
+
++ |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS090 | +
---|
createRealFeed, createRSSItems, createSyndEntries, getType |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ConverterForRSS091Userland()+
+protected ConverterForRSS091Userland(String type)+
+Method Detail | +
---|
+public void copyInto(WireFeed feed, + SyndFeed syndFeed)+
Converter
+ It assumes the given SyndFeedImpl has no properties set. +
+
+
copyInto
in interface Converter
copyInto
in class ConverterForRSS090
feed
- real feed to copy/convert.syndFeed
- the SyndFeedImpl that will contain the copied/converted values of the real feed.+protected Description createItemDescription(SyndContent sContent)+
+protected Image createRSSImage(SyndImage sImage)+
createRSSImage
in class ConverterForRSS090
+protected Item createRSSItem(SyndEntry sEntry)+
createRSSItem
in class ConverterForRSS090
+protected WireFeed createRealFeed(String type, + SyndFeed syndFeed)+
createRealFeed
in class ConverterForRSS090
+protected SyndEntry createSyndEntry(Item item, + boolean preserveWireItem)+
createSyndEntry
in class ConverterForRSS090
+protected SyndImage createSyndImage(Image rssImage)+
createSyndImage
in class ConverterForRSS090
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.impl.ConverterForRSS090 + com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland + com.sun.syndication.feed.synd.impl.ConverterForRSS092 ++
public class ConverterForRSS092
+
+Constructor Summary | +|
---|---|
+ |
+ConverterForRSS092()
+
++ |
+
+protected |
+ConverterForRSS092(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected List |
+createEnclosures(List sEnclosures)
+
++ |
+
+protected List |
+createRSSCategories(List sCats)
+
++ |
+
+protected Item |
+createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected List |
+createSyndCategories(List rssCats)
+
++ |
+
+protected List |
+createSyndEnclosures(List enclosures)
+
++ |
+
+protected SyndEntry |
+createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland | +
---|
copyInto, createItemDescription, createRealFeed, createRSSImage, createSyndImage |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS090 | +
---|
createRealFeed, createRSSItems, createSyndEntries, getType |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ConverterForRSS092()+
+protected ConverterForRSS092(String type)+
+Method Detail | +
---|
+protected SyndEntry createSyndEntry(Item item, + boolean preserveWireItem)+
createSyndEntry
in class ConverterForRSS091Userland
+protected List createSyndCategories(List rssCats)+
+protected List createSyndEnclosures(List enclosures)+
+protected Item createRSSItem(SyndEntry sEntry)+
createRSSItem
in class ConverterForRSS091Userland
+protected List createRSSCategories(List sCats)+
+protected List createEnclosures(List sEnclosures)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.impl.ConverterForRSS090 + com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland + com.sun.syndication.feed.synd.impl.ConverterForRSS092 + com.sun.syndication.feed.synd.impl.ConverterForRSS093 ++
public class ConverterForRSS093
+
+Constructor Summary | +|
---|---|
+ |
+ConverterForRSS093()
+
++ |
+
+protected |
+ConverterForRSS093(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected Item |
+createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected SyndEntry |
+createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS092 | +
---|
createEnclosures, createRSSCategories, createSyndCategories, createSyndEnclosures |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland | +
---|
copyInto, createItemDescription, createRealFeed, createRSSImage, createSyndImage |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS090 | +
---|
createRealFeed, createRSSItems, createSyndEntries, getType |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ConverterForRSS093()+
+protected ConverterForRSS093(String type)+
+Method Detail | +
---|
+protected SyndEntry createSyndEntry(Item item, + boolean preserveWireItem)+
createSyndEntry
in class ConverterForRSS092
+protected Item createRSSItem(SyndEntry sEntry)+
createRSSItem
in class ConverterForRSS092
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.impl.ConverterForRSS090 + com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland + com.sun.syndication.feed.synd.impl.ConverterForRSS092 + com.sun.syndication.feed.synd.impl.ConverterForRSS093 + com.sun.syndication.feed.synd.impl.ConverterForRSS094 ++
public class ConverterForRSS094
+
+Constructor Summary | +|
---|---|
+ |
+ConverterForRSS094()
+
++ |
+
+protected |
+ConverterForRSS094(String type)
+
++ |
+
+Method Summary | +|
---|---|
+ void |
+copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl. |
+
+protected WireFeed |
+createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+protected Item |
+createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected SyndEntry |
+createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS092 | +
---|
createEnclosures, createRSSCategories, createSyndCategories, createSyndEnclosures |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland | +
---|
createItemDescription, createRSSImage, createSyndImage |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS090 | +
---|
createRealFeed, createRSSItems, createSyndEntries, getType |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ConverterForRSS094()+
+protected ConverterForRSS094(String type)+
+Method Detail | +
---|
+public void copyInto(WireFeed feed, + SyndFeed syndFeed)+
Converter
+ It assumes the given SyndFeedImpl has no properties set. +
+
+
copyInto
in interface Converter
copyInto
in class ConverterForRSS091Userland
feed
- real feed to copy/convert.syndFeed
- the SyndFeedImpl that will contain the copied/converted values of the real feed.+protected SyndEntry createSyndEntry(Item item, + boolean preserveWireItem)+
createSyndEntry
in class ConverterForRSS093
+protected WireFeed createRealFeed(String type, + SyndFeed syndFeed)+
createRealFeed
in class ConverterForRSS091Userland
+protected Item createRSSItem(SyndEntry sEntry)+
createRSSItem
in class ConverterForRSS093
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.impl.ConverterForRSS090 + com.sun.syndication.feed.synd.impl.ConverterForRSS10 ++
public class ConverterForRSS10
+
+Constructor Summary | +|
---|---|
+ |
+ConverterForRSS10()
+
++ |
+
+protected |
+ConverterForRSS10(String type)
+
++ |
+
+Method Summary | +|
---|---|
+ void |
+copyInto(WireFeed feed,
+ SyndFeed syndFeed)
+
++ Makes a deep copy/conversion of the values of a real feed into a SyndFeedImpl. |
+
+protected Content |
+createItemContent(SyndContent sContent)
+
++ |
+
+protected Description |
+createItemDescription(SyndContent sContent)
+
++ |
+
+protected WireFeed |
+createRealFeed(String type,
+ SyndFeed syndFeed)
+
++ |
+
+protected Item |
+createRSSItem(SyndEntry sEntry)
+
++ |
+
+protected SyndEntry |
+createSyndEntry(Item item,
+ boolean preserveWireItem)
+
++ |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS090 | +
---|
createRealFeed, createRSSImage, createRSSItems, createSyndEntries, createSyndImage, getType |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ConverterForRSS10()+
+protected ConverterForRSS10(String type)+
+Method Detail | +
---|
+public void copyInto(WireFeed feed, + SyndFeed syndFeed)+
Converter
+ It assumes the given SyndFeedImpl has no properties set. +
+
+
copyInto
in interface Converter
copyInto
in class ConverterForRSS090
feed
- real feed to copy/convert.syndFeed
- the SyndFeedImpl that will contain the copied/converted values of the real feed.+protected SyndEntry createSyndEntry(Item item, + boolean preserveWireItem)+
createSyndEntry
in class ConverterForRSS090
+protected WireFeed createRealFeed(String type, + SyndFeed syndFeed)+
createRealFeed
in class ConverterForRSS090
+protected Item createRSSItem(SyndEntry sEntry)+
createRSSItem
in class ConverterForRSS090
+protected Description createItemDescription(SyndContent sContent)+
+protected Content createItemContent(SyndContent sContent)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.impl.ConverterForRSS090 + com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland + com.sun.syndication.feed.synd.impl.ConverterForRSS092 + com.sun.syndication.feed.synd.impl.ConverterForRSS093 + com.sun.syndication.feed.synd.impl.ConverterForRSS094 + com.sun.syndication.feed.synd.impl.ConverterForRSS20 ++
public class ConverterForRSS20
+
+Constructor Summary | +|
---|---|
+ |
+ConverterForRSS20()
+
++ |
+
+protected |
+ConverterForRSS20(String type)
+
++ |
+
+Method Summary | +
---|
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS094 | +
---|
copyInto, createRealFeed, createRSSItem, createSyndEntry |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS092 | +
---|
createEnclosures, createRSSCategories, createSyndCategories, createSyndEnclosures |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS091Userland | +
---|
createItemDescription, createRSSImage, createSyndImage |
+
Methods inherited from class com.sun.syndication.feed.synd.impl.ConverterForRSS090 | +
---|
createRealFeed, createRSSItems, createSyndEntries, getType |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ConverterForRSS20()+
+protected ConverterForRSS20(String type)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.PluginManager + com.sun.syndication.feed.synd.impl.Converters ++
public class Converters
+Created by IntelliJ IDEA. + User: tucu + Date: May 21, 2004 + Time: 5:26:04 PM + To change this template use Options | File Templates. +
+ +
+
+Field Summary | +|
---|---|
+static String |
+CONVERTERS_KEY
+
++ Converter.classes= [className] ... |
+
+Constructor Summary | +|
---|---|
Converters()
+
++ |
+
+Method Summary | +|
---|---|
+ Converter |
+getConverter(String feedType)
+
++ |
+
+protected String |
+getKey(Object obj)
+
++ |
+
+ List |
+getSupportedFeedTypes()
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.PluginManager | +
---|
getKeys, getPlugin, getPluginMap, getPlugins |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Field Detail | +
---|
+public static final String CONVERTERS_KEY+
+
+Constructor Detail | +
---|
+public Converters()+
+Method Detail | +
---|
+public Converter getConverter(String feedType)+
+protected String getKey(Object obj)+
getKey
in class PluginManager
+public List getSupportedFeedTypes()+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.feed.synd.impl.URINormalizer ++
public class URINormalizer
+Utility class for normalizing an URI as specified in RFC 2396bis. +
+
+ +
+
+Constructor Summary | +|
---|---|
URINormalizer()
+
++ |
+
+Method Summary | +|
---|---|
+static String |
+normalize(String uri)
+
++ Normalizes an URI as specified in RFC 2396bis. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public URINormalizer()+
+Method Detail | +
---|
+public static String normalize(String uri)+
+
+
uri
- to normalize.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use ConverterForRSS090 | +|
---|---|
com.sun.syndication.feed.synd.impl | ++ |
+Uses of ConverterForRSS090 in com.sun.syndication.feed.synd.impl | +
---|
+ +
Subclasses of ConverterForRSS090 in com.sun.syndication.feed.synd.impl | +|
---|---|
+ class |
+ConverterForRSS091Netscape
+
++ |
+
+ class |
+ConverterForRSS091Userland
+
++ |
+
+ class |
+ConverterForRSS092
+
++ |
+
+ class |
+ConverterForRSS093
+
++ |
+
+ class |
+ConverterForRSS094
+
++ |
+
+ class |
+ConverterForRSS10
+
++ |
+
+ class |
+ConverterForRSS20
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use ConverterForRSS091Userland | +|
---|---|
com.sun.syndication.feed.synd.impl | ++ |
+Uses of ConverterForRSS091Userland in com.sun.syndication.feed.synd.impl | +
---|
+ +
Subclasses of ConverterForRSS091Userland in com.sun.syndication.feed.synd.impl | +|
---|---|
+ class |
+ConverterForRSS091Netscape
+
++ |
+
+ class |
+ConverterForRSS092
+
++ |
+
+ class |
+ConverterForRSS093
+
++ |
+
+ class |
+ConverterForRSS094
+
++ |
+
+ class |
+ConverterForRSS20
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use ConverterForRSS092 | +|
---|---|
com.sun.syndication.feed.synd.impl | ++ |
+Uses of ConverterForRSS092 in com.sun.syndication.feed.synd.impl | +
---|
+ +
Subclasses of ConverterForRSS092 in com.sun.syndication.feed.synd.impl | +|
---|---|
+ class |
+ConverterForRSS093
+
++ |
+
+ class |
+ConverterForRSS094
+
++ |
+
+ class |
+ConverterForRSS20
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use ConverterForRSS093 | +|
---|---|
com.sun.syndication.feed.synd.impl | ++ |
+Uses of ConverterForRSS093 in com.sun.syndication.feed.synd.impl | +
---|
+ +
Subclasses of ConverterForRSS093 in com.sun.syndication.feed.synd.impl | +|
---|---|
+ class |
+ConverterForRSS094
+
++ |
+
+ class |
+ConverterForRSS20
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use ConverterForRSS094 | +|
---|---|
com.sun.syndication.feed.synd.impl | ++ |
+Uses of ConverterForRSS094 in com.sun.syndication.feed.synd.impl | +
---|
+ +
Subclasses of ConverterForRSS094 in com.sun.syndication.feed.synd.impl | +|
---|---|
+ class |
+ConverterForRSS20
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Classes
+
+ +ConverterForAtom03 + +ConverterForAtom10 + +ConverterForRSS090 + +ConverterForRSS091Netscape + +ConverterForRSS091Userland + +ConverterForRSS092 + +ConverterForRSS093 + +ConverterForRSS094 + +ConverterForRSS10 + +ConverterForRSS20 + +Converters + +URINormalizer |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+Class Summary | +|
---|---|
ConverterForAtom03 | ++ |
ConverterForAtom10 | ++ |
ConverterForRSS090 | ++ |
ConverterForRSS091Netscape | ++ |
ConverterForRSS091Userland | ++ |
ConverterForRSS092 | ++ |
ConverterForRSS093 | ++ |
ConverterForRSS094 | ++ |
ConverterForRSS10 | ++ |
ConverterForRSS20 | ++ |
Converters | +Created by IntelliJ IDEA. | +
URINormalizer | +Utility class for normalizing an URI as specified in RFC 2396bis. | +
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use com.sun.syndication.feed.synd.impl | +|
---|---|
com.sun.syndication.feed.synd.impl | ++ |
+Classes in com.sun.syndication.feed.synd.impl used by com.sun.syndication.feed.synd.impl | +|
---|---|
ConverterForRSS090
+
+ + |
+|
ConverterForRSS091Userland
+
+ + |
+|
ConverterForRSS092
+
+ + |
+|
ConverterForRSS093
+
+ + |
+|
ConverterForRSS094
+
+ + |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Interfaces
+
+ +Converter + +SyndCategory + +SyndContent + +SyndEnclosure + +SyndEntry + +SyndFeed + +SyndImage + +SyndLink + +SyndPerson |
+
+Classes
+
+ +SyndCategoryImpl + +SyndContentImpl + +SyndEnclosureImpl + +SyndEntryImpl + +SyndFeedImpl + +SyndImageImpl + +SyndLinkImpl + +SyndPersonImpl |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+Interface Summary | +|
---|---|
Converter | +Interface that defines the functionality to convert a SyndFeedImpl + to a real feed (RSS or Atom) and vice versa. | +
SyndCategory | +Bean interface for categories of SyndFeedImpl feeds and entries. | +
SyndContent | +Bean interface for content of SyndFeedImpl entries. | +
SyndEnclosure | ++ |
SyndEntry | +Bean interface for entries of SyndFeedImpl feeds. | +
SyndFeed | +Bean interface for all types of feeds. | +
SyndImage | +Bean interface for images of SyndFeedImpl feeds. | +
SyndLink | +Represents a link or enclosure associated with entry. | +
SyndPerson | +Bean interface for authors and contributors of SyndFeedImpl feeds and entries. | +
+ +
+Class Summary | +|
---|---|
SyndCategoryImpl | +Bean for categories of SyndFeedImpl feeds and entries. | +
SyndContentImpl | +Bean for content of SyndFeedImpl entries. | +
SyndEnclosureImpl | ++ |
SyndEntryImpl | +Bean for entries of SyndFeedImpl feeds. | +
SyndFeedImpl | +Bean for all types of feeds. | +
SyndImageImpl | +Bean for images of SyndFeedImpl feeds. | +
SyndLinkImpl | +Represents a link or an enclosure. | +
SyndPersonImpl | +Bean for authors and contributors of SyndFeedImpl feeds and entries. | +
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use com.sun.syndication.feed.synd | +|
---|---|
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io | ++ |
+Classes in com.sun.syndication.feed.synd used by com.sun.syndication.feed.synd | +|
---|---|
SyndCategory
+
+ + Bean interface for categories of SyndFeedImpl feeds and entries. |
+|
SyndContent
+
+ + Bean interface for content of SyndFeedImpl entries. |
+|
SyndEnclosure
+
+ + |
+|
SyndEntry
+
+ + Bean interface for entries of SyndFeedImpl feeds. |
+|
SyndFeed
+
+ + Bean interface for all types of feeds. |
+|
SyndImage
+
+ + Bean interface for images of SyndFeedImpl feeds. |
+|
SyndLink
+
+ + Represents a link or enclosure associated with entry. |
+|
SyndPerson
+
+ + Bean interface for authors and contributors of SyndFeedImpl feeds and entries. |
+
+Classes in com.sun.syndication.feed.synd used by com.sun.syndication.feed.synd.impl | +|
---|---|
Converter
+
+ + Interface that defines the functionality to convert a SyndFeedImpl + to a real feed (RSS or Atom) and vice versa. |
+|
SyndContent
+
+ + Bean interface for content of SyndFeedImpl entries. |
+|
SyndEnclosure
+
+ + |
+|
SyndEntry
+
+ + Bean interface for entries of SyndFeedImpl feeds. |
+|
SyndFeed
+
+ + Bean interface for all types of feeds. |
+|
SyndImage
+
+ + Bean interface for images of SyndFeedImpl feeds. |
+|
SyndLink
+
+ + Represents a link or enclosure associated with entry. |
+
+Classes in com.sun.syndication.feed.synd used by com.sun.syndication.io | +|
---|---|
SyndFeed
+
+ + Bean interface for all types of feeds. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface DelegatingModuleGenerator
+Adds the ability to give a direct wire feed generator reference to plugin + modules that need to call back to their wire feed to complete + generation of their particular namespace. Examples of such parsers + include the SSE091Generator. +
+ +
+
+Method Summary | +|
---|---|
+ void |
+setFeedGenerator(WireFeedGenerator feedGenerator)
+
++ Provides a parent wirefeed reference to this ModuleParser, + or "plugin-in". |
+
Methods inherited from interface com.sun.syndication.io.ModuleGenerator | +
---|
generate, getNamespaces, getNamespaceUri |
+
+Method Detail | +
---|
+void setFeedGenerator(WireFeedGenerator feedGenerator)+
+
feedGenerator
- the parent wirefeed generator for this plugin.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface DelegatingModuleParser
+Adds the ability to give a direct wire feed reference to plugin + modules that need to call back to their wire feed to complete + parsing of their particular namespace. Examples of such parsers + include the SSE091Parser. +
+ +
+
+Method Summary | +|
---|---|
+ void |
+setFeedParser(WireFeedParser feedParser)
+
++ Provides a parent wirefeed reference to this ModuleParser, + or "plugin-in". |
+
Methods inherited from interface com.sun.syndication.io.ModuleParser | +
---|
getNamespaceUri, parse |
+
+Method Detail | +
---|
+void setFeedParser(WireFeedParser feedParser)+
+
feedParser
- the parent wirefeed parser for this plugin.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + java.lang.Throwable + java.lang.Exception + com.sun.syndication.io.FeedException ++
public class FeedException
+Exception thrown by WireFeedInput, WireFeedOutput, WireFeedParser and WireFeedGenerator instances if they + can not parse or generate a feed. +
+
+ +
+
+Constructor Summary | +|
---|---|
FeedException(String msg)
+
++ Creates a FeedException with a message. |
+|
FeedException(String msg,
+ Throwable rootCause)
+
++ Creates a FeedException with a message and a root cause exception. |
+
+Method Summary | +
---|
Methods inherited from class java.lang.Throwable | +
---|
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public FeedException(String msg)+
+
+
msg
- exception message.+public FeedException(String msg, + Throwable rootCause)+
+
+
msg
- exception message.rootCause
- root cause exception.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface ModuleGenerator
+Injects module metadata into a XML node (JDOM element). +
+ ModuleGenerator instances must thread safe. +
+ TODO: explain how developers can plugin their own implementations. +
+
+ +
+
+Method Summary | +|
---|---|
+ void |
+generate(Module module,
+ org.jdom.Element element)
+
++ Generates and injects module metadata into an XML node (JDOM element). |
+
+ Set |
+getNamespaces()
+
++ Returns a set with all the URIs (JDOM Namespace elements) this module generator uses. |
+
+ String |
+getNamespaceUri()
+
++ Returns the namespace URI this generator handles. |
+
+Method Detail | +
---|
+String getNamespaceUri()+
+
+
+Set getNamespaces()+
+
+void generate(Module module, + org.jdom.Element element)+
+
+
module
- the module to inject into the XML node (JDOM element).element
- the XML node into which module meta-data will be injected.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface ModuleParser
+Parses module metadata from a XML node (JDOM element). +
+ ModuleParser instances must thread safe. +
+ TODO: explain how developers can plugin their own implementations. +
+
+ +
+
+Method Summary | +|
---|---|
+ String |
+getNamespaceUri()
+
++ Returns the namespace URI this parser handles. |
+
+ Module |
+parse(org.jdom.Element element)
+
++ Parses the XML node (JDOM element) extracting module information. |
+
+Method Detail | +
---|
+String getNamespaceUri()+
+
+
+Module parse(org.jdom.Element element)+
+
+
element
- the XML node (JDOM element) to extract module information from.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + java.lang.Throwable + java.lang.Exception + com.sun.syndication.io.FeedException + com.sun.syndication.io.ParsingFeedException ++
public class ParsingFeedException
+Exception thrown by WireFeedInput instance if it can not parse a feed. +
+
+ +
+
+Constructor Summary | +|
---|---|
ParsingFeedException(String msg)
+
++ Creates a FeedException with a message. |
+|
ParsingFeedException(String msg,
+ Throwable rootCause)
+
++ Creates a FeedException with a message and a root cause exception. |
+
+Method Summary | +|
---|---|
+ int |
+getColumnNumber()
+
++ Returns the column number of the end of the text where the + parse error occurred. |
+
+ int |
+getLineNumber()
+
++ Returns the line number of the end of the text where the + parse error occurred. |
+
Methods inherited from class java.lang.Throwable | +
---|
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ParsingFeedException(String msg)+
+
+
msg
- exception message.+public ParsingFeedException(String msg, + Throwable rootCause)+
+
+
msg
- exception message.rootCause
- root cause exception.+Method Detail | +
---|
+public int getLineNumber()+
+ The first line in the document is line 1.
++
+public int getColumnNumber()+
+ The first column in a line is position 1.
++
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + org.jdom.input.SAXBuilder + com.sun.syndication.io.SAXBuilder ++
public class SAXBuilder
+
+Constructor Summary | +|
---|---|
SAXBuilder(boolean _validate)
+
++ |
+
+Method Summary | +|
---|---|
+ XMLReader |
+createParser()
+
++ |
+
Methods inherited from class org.jdom.input.SAXBuilder | +
---|
build, build, build, build, build, build, build, build, configureContentHandler, configureParser, createContentHandler, getDriverClass, getDTDHandler, getEntityResolver, getErrorHandler, getExpandEntities, getFactory, getIgnoringBoundaryWhitespace, getIgnoringElementContentWhitespace, getReuseParser, getValidation, getXMLFilter, setDTDHandler, setEntityResolver, setErrorHandler, setExpandEntities, setFactory, setFastReconfigure, setFeature, setIgnoringBoundaryWhitespace, setIgnoringElementContentWhitespace, setProperty, setReuseParser, setValidation, setXMLFilter |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public SAXBuilder(boolean _validate)+
+Method Detail | +
---|
+public XMLReader createParser() + throws org.jdom.JDOMException+
createParser
in class org.jdom.input.SAXBuilder
org.jdom.JDOMException
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.SyndFeedInput ++
public class SyndFeedInput
+Parses an XML document (File, InputStream, Reader, W3C SAX InputSource, W3C DOM Document or JDom DOcument) + into an SyndFeedImpl. +
+ It delegates to a WireFeedInput to handle all feed types. +
+
+ +
+
+Constructor Summary | +|
---|---|
SyndFeedInput()
+
++ Creates a SyndFeedInput instance with input validation turned off. |
+|
SyndFeedInput(boolean validate)
+
++ Creates a SyndFeedInput instance. |
+
+Method Summary | +|
---|---|
+ SyndFeed |
+build(Document document)
+
++ Builds SyndFeedImpl from an W3C DOM document. |
+
+ SyndFeed |
+build(org.jdom.Document document)
+
++ Builds SyndFeedImpl from an JDOM document. |
+
+ SyndFeed |
+build(File file)
+
++ Builds SyndFeedImpl from a file. |
+
+ SyndFeed |
+build(InputSource is)
+
++ Builds SyndFeedImpl from an W3C SAX InputSource. |
+
+ SyndFeed |
+build(Reader reader)
+
++ Builds SyndFeedImpl from an Reader. |
+
+ boolean |
+getXmlHealerOn()
+
++ Indicates if the WiredFeedInput instance will XML heal (if necessary) the character stream. |
+
+ boolean |
+isPreserveWireFeed()
+
++ |
+
+ void |
+setPreserveWireFeed(boolean preserveWireFeed)
+
++ |
+
+ 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 | +
---|
+public SyndFeedInput()+
+
+
+public SyndFeedInput(boolean validate)+
+
+
validate
- indicates if the input should be validated. NOT IMPLEMENTED YET (validation does not happen)+Method Detail | +
---|
+public void setXmlHealerOn(boolean heals)+
+ 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. +
+
+
heals
- TRUE enables stream healing, FALSE disables it.+public boolean getXmlHealerOn()+
+ 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. +
+
+
+public SyndFeed build(File file) + throws FileNotFoundException, + IOException, + IllegalArgumentException, + FeedException+
+
+
file
- file to read to create the SyndFeedImpl.
+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+public SyndFeed build(Reader reader) + throws IllegalArgumentException, + FeedException+
+
+
reader
- Reader to read to create the SyndFeedImpl.
+IllegalArgumentException
- thrown if feed type could not be understood by any of the underlying parsers.
+FeedException
- if the feed could not be parsed+public SyndFeed build(InputSource is) + throws IllegalArgumentException, + FeedException+
+
+
is
- W3C SAX InputSource to read to create the SyndFeedImpl.
+IllegalArgumentException
- thrown if feed type could not be understood by any of the underlying parsers.
+FeedException
- if the feed could not be parsed+public SyndFeed build(Document document) + throws IllegalArgumentException, + FeedException+
+
+
document
- W3C DOM document to read to create the SyndFeedImpl.
+IllegalArgumentException
- thrown if feed type could not be understood by any of the underlying parsers.
+FeedException
- if the feed could not be parsed+public SyndFeed build(org.jdom.Document document) + throws IllegalArgumentException, + FeedException+
+
+
document
- JDOM document to read to create the SyndFeedImpl.
+IllegalArgumentException
- thrown if feed type could not be understood by any of the underlying parsers.
+FeedException
- if the feed could not be parsed+public boolean isPreserveWireFeed()+
+public void setPreserveWireFeed(boolean preserveWireFeed)+
preserveWireFeed
- set to true to make the WireFeed is made available in the SyndFeed. False by default.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.SyndFeedOutput ++
public class SyndFeedOutput
+Generates an XML document (String, File, OutputStream, Writer, W3C DOM document or JDOM document) + out of an SyndFeedImpl.. +
+ It delegates to a WireFeedOutput to generate all feed types. +
+
+ +
+
+Constructor Summary | +|
---|---|
SyndFeedOutput()
+
++ Creates a SyndFeedOutput instance. |
+
+Method Summary | +|
---|---|
+ void |
+output(SyndFeed feed,
+ File file)
+
++ Creates a File containing with the XML representation for the given SyndFeedImpl. |
+
+ void |
+output(SyndFeed feed,
+ File file,
+ boolean prettyPrint)
+
++ Creates a File containing with the XML representation for the given SyndFeedImpl. |
+
+ void |
+output(SyndFeed feed,
+ Writer writer)
+
++ Writes to an Writer the XML representation for the given SyndFeedImpl. |
+
+ void |
+output(SyndFeed feed,
+ Writer writer,
+ boolean prettyPrint)
+
++ Writes to an Writer the XML representation for the given SyndFeedImpl. |
+
+ org.jdom.Document |
+outputJDom(SyndFeed feed)
+
++ Creates a JDOM document for the given SyndFeedImpl. |
+
+ String |
+outputString(SyndFeed feed)
+
++ Creates a String with the XML representation for the given SyndFeedImpl. |
+
+ String |
+outputString(SyndFeed feed,
+ boolean prettyPrint)
+
++ Creates a String with the XML representation for the given SyndFeedImpl. |
+
+ Document |
+outputW3CDom(SyndFeed feed)
+
++ Creates a W3C DOM document for the given SyndFeedImpl. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public SyndFeedOutput()+
+
+
+Method Detail | +
---|
+public String outputString(SyndFeed feed) + throws FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. It is the responsibility + of the developer to ensure that if the String is written to a character stream the stream charset is the same as + the feed encoding property. +
+
+
feed
- Abstract feed to create XML representation from. The type of the SyndFeedImpl must match
+ the type given to the FeedOuptut constructor.
+FeedException
- thrown if the XML representation for the feed could not be created.+public String outputString(SyndFeed feed, + boolean prettyPrint) + throws FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. It is the responsibility + of the developer to ensure that if the String is written to a character stream the stream charset is the same as + the feed encoding property. +
+
+
feed
- Abstract feed to create XML representation from. The type of the SyndFeedImpl must match
+ the type given to the FeedOuptut constructor.prettyPrint
- pretty-print XML (true) oder collapsed
+FeedException
- thrown if the XML representation for the feed could not be created.+public void output(SyndFeed feed, + File file) + throws IOException, + FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. The platform + default charset encoding is used to write the feed to the file. It is the responsibility + of the developer to ensure the feed encoding is set to the platform charset encoding. +
+
+
feed
- Abstract feed to create XML representation from. The type of the SyndFeedImpl must match
+ the type given to the FeedOuptut constructor.file
- the file where to write the XML representation for the given SyndFeedImpl.
+IOException
- thrown if there was some problem writing to the File.
+FeedException
- thrown if the XML representation for the feed could not be created.+public void output(SyndFeed feed, + File file, + boolean prettyPrint) + throws IOException, + FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. The platform + default charset encoding is used to write the feed to the file. It is the responsibility + of the developer to ensure the feed encoding is set to the platform charset encoding. +
+
+
feed
- Abstract feed to create XML representation from. The type of the SyndFeedImpl must match
+ the type given to the FeedOuptut constructor.prettyPrint
- pretty-print XML (true) oder collapsedfile
- the file where to write the XML representation for the given SyndFeedImpl.
+IOException
- thrown if there was some problem writing to the File.
+FeedException
- thrown if the XML representation for the feed could not be created.+public void output(SyndFeed feed, + Writer writer) + throws IOException, + FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. It is the responsibility + of the developer to ensure that if the String is written to a character stream the stream charset is the same as + the feed encoding property. +
+
+
feed
- Abstract feed to create XML representation from. The type of the SyndFeedImpl must match
+ the type given to the FeedOuptut constructor.writer
- Writer to write the XML representation for the given SyndFeedImpl.
+IOException
- thrown if there was some problem writing to the Writer.
+FeedException
- thrown if the XML representation for the feed could not be created.+public void output(SyndFeed feed, + Writer writer, + boolean prettyPrint) + throws IOException, + FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. It is the responsibility + of the developer to ensure that if the String is written to a character stream the stream charset is the same as + the feed encoding property. +
+
+
feed
- Abstract feed to create XML representation from. The type of the SyndFeedImpl must match
+ the type given to the FeedOuptut constructor.prettyPrint
- pretty-print XML (true) oder collapsedwriter
- Writer to write the XML representation for the given SyndFeedImpl.
+IOException
- thrown if there was some problem writing to the Writer.
+FeedException
- thrown if the XML representation for the feed could not be created.+public Document outputW3CDom(SyndFeed feed) + throws FeedException+
+ This method does not use the feed encoding property. +
+
+
feed
- Abstract feed to create W3C DOM document from. The type of the SyndFeedImpl must match
+ the type given to the FeedOuptut constructor.
+FeedException
- thrown if the W3C DOM document for the feed could not be created.+public org.jdom.Document outputJDom(SyndFeed feed) + throws FeedException+
+ This method does not use the feed encoding property. +
+
+
feed
- Abstract feed to create JDOM document from. The type of the SyndFeedImpl must match
+ the type given to the FeedOuptut constructor.
+FeedException
- thrown if the JDOM document for the feed could not be created.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface WireFeedGenerator
+Generates an XML document (JDOM) out of a feed for a specific real feed type. +
+ WireFeedGenerator instances must thread safe. +
+ TODO: explain how developers can plugin their own implementations. +
+
+ +
+
+Method Summary | +|
---|---|
+ org.jdom.Document |
+generate(WireFeed feed)
+
++ Creates an XML document (JDOM) for the given feed bean. |
+
+ String |
+getType()
+
++ Returns the type of feed the generator creates. |
+
+Method Detail | +
---|
+String getType()+
+
+
for details on the format of this string.
+
+org.jdom.Document generate(WireFeed feed) + throws IllegalArgumentException, + FeedException+
+
+
feed
- the feed bean to generate the XML document from.
+IllegalArgumentException
- thrown if the type of the given feed bean does not
+ match with the type of the WireFeedGenerator.
+FeedException
- thrown if the XML Document could not be created.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.WireFeedInput ++
public class WireFeedInput
+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 | +|
---|---|
WireFeedInput()
+
++ Creates a WireFeedInput instance with input validation turned off. |
+|
WireFeedInput(boolean validate)
+
++ Creates a WireFeedInput instance. |
+
+Method Summary | +|
---|---|
+ WireFeed |
+build(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(File file)
+
++ Builds an WireFeed (RSS or Atom) from a file. |
+
+ WireFeed |
+build(InputSource is)
+
++ Builds an WireFeed (RSS or Atom) from an W3C SAX InputSource. |
+
+ WireFeed |
+build(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 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 | +
---|
+public WireFeedInput()+
+
+
+public WireFeedInput(boolean validate)+
+
+
validate
- indicates if the input should be validated. NOT IMPLEMENTED YET (validation does not happen)+Method Detail | +
---|
+public static List getSupportedFeedTypes()+
+
+
for details on the format of these strings.
+
+public void setXmlHealerOn(boolean heals)+
+ 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. +
+
+
heals
- TRUE enables stream healing, FALSE disables it.+public boolean getXmlHealerOn()+
+ 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. +
+
+
+public WireFeed build(File file) + throws FileNotFoundException, + IOException, + IllegalArgumentException, + FeedException+
+ NOTE: This method delages to the 'AsbtractFeed WireFeedInput#build(org.jdom.Document)'. +
+
+
file
- file to read to create the WireFeed.
+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+public WireFeed build(Reader reader) + throws IllegalArgumentException, + FeedException+
+ NOTE: This method delages to the 'AsbtractFeed WireFeedInput#build(org.jdom.Document)'. +
+
+
reader
- Reader to read to create the WireFeed.
+IllegalArgumentException
- thrown if feed type could not be understood by any of the underlying parsers.
+FeedException
- if the feed could not be parsed+public WireFeed build(InputSource is) + throws IllegalArgumentException, + FeedException+
+ NOTE: This method delages to the 'AsbtractFeed WireFeedInput#build(org.jdom.Document)'. +
+
+
is
- W3C SAX InputSource to read to create the WireFeed.
+IllegalArgumentException
- thrown if feed type could not be understood by any of the underlying parsers.
+FeedException
- if the feed could not be parsed+public WireFeed build(Document document) + throws IllegalArgumentException, + FeedException+
+ NOTE: This method delages to the 'AsbtractFeed WireFeedInput#build(org.jdom.Document)'. +
+
+
document
- W3C DOM document to read to create the WireFeed.
+IllegalArgumentException
- thrown if feed type could not be understood by any of the underlying parsers.
+FeedException
- if the feed could not be parsed+public WireFeed build(org.jdom.Document document) + throws IllegalArgumentException, + FeedException+
+ NOTE: All other build methods delegate to this method. +
+
+
document
- JDOM document to read to create the WireFeed.
+IllegalArgumentException
- thrown if feed type could not be understood by any of the underlying parsers.
+FeedException
- if the feed could not be parsed+protected SAXBuilder createSAXBuilder()+
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.WireFeedOutput ++
public class WireFeedOutput
+Generates an XML document (String, File, OutputStream, Writer, W3C DOM document or JDOM document) + out of an WireFeed (RSS/Atom). +
+ It generates all flavors of RSS (0.90, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0) and + Atom 0.3 feeds. Generators are plugable (they must implement the ModuleParser interface). +
+
+ +
+
+Constructor Summary | +|
---|---|
WireFeedOutput()
+
++ Creates a FeedOuput instance. |
+
+Method Summary | +|
---|---|
+static List |
+getSupportedFeedTypes()
+
++ Returns the list of supported output feed types. |
+
+ void |
+output(WireFeed feed,
+ File file)
+
++ Creates a File containing with the XML representation for the given WireFeed. |
+
+ void |
+output(WireFeed feed,
+ File file,
+ boolean prettyPrint)
+
++ Creates a File containing with the XML representation for the given WireFeed. |
+
+ void |
+output(WireFeed feed,
+ Writer writer)
+
++ Writes to an Writer the XML representation for the given WireFeed. |
+
+ void |
+output(WireFeed feed,
+ Writer writer,
+ boolean prettyPrint)
+
++ Writes to an Writer the XML representation for the given WireFeed. |
+
+ org.jdom.Document |
+outputJDom(WireFeed feed)
+
++ Creates a JDOM document for the given WireFeed. |
+
+ String |
+outputString(WireFeed feed)
+
++ Creates a String with the XML representation for the given WireFeed. |
+
+ String |
+outputString(WireFeed feed,
+ boolean prettyPrint)
+
++ Creates a String with the XML representation for the given WireFeed. |
+
+ Document |
+outputW3CDom(WireFeed feed)
+
++ Creates a W3C DOM document for the given WireFeed. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public WireFeedOutput()+
+
+
+Method Detail | +
---|
+public static List getSupportedFeedTypes()+
+
+
for details on the format of these strings.
+
+public String outputString(WireFeed feed) + throws IllegalArgumentException, + FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. It is the responsibility + of the developer to ensure that if the String is written to a character stream the stream charset is the same as + the feed encoding property. +
+ NOTE: This method delages to the 'Document WireFeedOutput#outputJDom(WireFeed)'. +
+
+
feed
- Abstract feed to create XML representation from. The type of the WireFeed must match
+ the type given to the FeedOuptut constructor.
+IllegalArgumentException
- thrown if the feed type of the WireFeedOutput and WireFeed don't match.
+FeedException
- thrown if the XML representation for the feed could not be created.+public String outputString(WireFeed feed, + boolean prettyPrint) + throws IllegalArgumentException, + FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. It is the responsibility + of the developer to ensure that if the String is written to a character stream the stream charset is the same as + the feed encoding property. +
+ NOTE: This method delages to the 'Document WireFeedOutput#outputJDom(WireFeed)'. +
+
+
feed
- Abstract feed to create XML representation from. The type of the WireFeed must match
+ the type given to the FeedOuptut constructor.prettyPrint
- pretty-print XML (true) oder collapsed
+IllegalArgumentException
- thrown if the feed type of the WireFeedOutput and WireFeed don't match.
+FeedException
- thrown if the XML representation for the feed could not be created.+public void output(WireFeed feed, + File file) + throws IllegalArgumentException, + IOException, + FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. The platform + default charset encoding is used to write the feed to the file. It is the responsibility + of the developer to ensure the feed encoding is set to the platform charset encoding. +
+ NOTE: This method delages to the 'Document WireFeedOutput#outputJDom(WireFeed)'. +
+
+
feed
- Abstract feed to create XML representation from. The type of the WireFeed must match
+ the type given to the FeedOuptut constructor.file
- the file where to write the XML representation for the given WireFeed.
+IllegalArgumentException
- thrown if the feed type of the WireFeedOutput and WireFeed don't match.
+IOException
- thrown if there was some problem writing to the File.
+FeedException
- thrown if the XML representation for the feed could not be created.+public void output(WireFeed feed, + File file, + boolean prettyPrint) + throws IllegalArgumentException, + IOException, + FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. The platform + default charset encoding is used to write the feed to the file. It is the responsibility + of the developer to ensure the feed encoding is set to the platform charset encoding. +
+ NOTE: This method delages to the 'Document WireFeedOutput#outputJDom(WireFeed)'. +
+
+
feed
- Abstract feed to create XML representation from. The type of the WireFeed must match
+ the type given to the FeedOuptut constructor.file
- the file where to write the XML representation for the given WireFeed.prettyPrint
- pretty-print XML (true) oder collapsed
+IllegalArgumentException
- thrown if the feed type of the WireFeedOutput and WireFeed don't match.
+IOException
- thrown if there was some problem writing to the File.
+FeedException
- thrown if the XML representation for the feed could not be created.+public void output(WireFeed feed, + Writer writer) + throws IllegalArgumentException, + IOException, + FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. It is the responsibility + of the developer to ensure the Writer instance is using the same charset encoding. +
+ NOTE: This method delages to the 'Document WireFeedOutput#outputJDom(WireFeed)'. +
+
+
feed
- Abstract feed to create XML representation from. The type of the WireFeed must match
+ the type given to the FeedOuptut constructor.writer
- Writer to write the XML representation for the given WireFeed.
+IllegalArgumentException
- thrown if the feed type of the WireFeedOutput and WireFeed don't match.
+IOException
- thrown if there was some problem writing to the Writer.
+FeedException
- thrown if the XML representation for the feed could not be created.+public void output(WireFeed feed, + Writer writer, + boolean prettyPrint) + throws IllegalArgumentException, + IOException, + FeedException+
+ If the feed encoding is not NULL, it will be used in the XML prolog encoding attribute. It is the responsibility + of the developer to ensure the Writer instance is using the same charset encoding. +
+ NOTE: This method delages to the 'Document WireFeedOutput#outputJDom(WireFeed)'. +
+
+
feed
- Abstract feed to create XML representation from. The type of the WireFeed must match
+ the type given to the FeedOuptut constructor.writer
- Writer to write the XML representation for the given WireFeed.prettyPrint
- pretty-print XML (true) oder collapsed
+IllegalArgumentException
- thrown if the feed type of the WireFeedOutput and WireFeed don't match.
+IOException
- thrown if there was some problem writing to the Writer.
+FeedException
- thrown if the XML representation for the feed could not be created.+public Document outputW3CDom(WireFeed feed) + throws IllegalArgumentException, + FeedException+
+ This method does not use the feed encoding property. +
+ NOTE: This method delages to the 'Document WireFeedOutput#outputJDom(WireFeed)'. +
+
+
feed
- Abstract feed to create W3C DOM document from. The type of the WireFeed must match
+ the type given to the FeedOuptut constructor.
+IllegalArgumentException
- thrown if the feed type of the WireFeedOutput and WireFeed don't match.
+FeedException
- thrown if the W3C DOM document for the feed could not be created.+public org.jdom.Document outputJDom(WireFeed feed) + throws IllegalArgumentException, + FeedException+
+ This method does not use the feed encoding property. +
+ NOTE: All other output methods delegate to this method. +
+
+
feed
- Abstract feed to create JDOM document from. The type of the WireFeed must match
+ the type given to the FeedOuptut constructor.
+IllegalArgumentException
- thrown if the feed type of the WireFeedOutput and WireFeed don't match.
+FeedException
- thrown if the JDOM document for the feed could not be created.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
public interface WireFeedParser
+Parses an XML document (JDOM) into a feed bean. +
+ WireFeedParser instances must thread safe. +
+ TODO: explain how developers can plugin their own implementations. +
+
+ +
+
+Method Summary | +|
---|---|
+ String |
+getType()
+
++ Returns the type of feed the parser handles. |
+
+ boolean |
+isMyType(org.jdom.Document document)
+
++ Inspects an XML Document (JDOM) to check if it can parse it. |
+
+ WireFeed |
+parse(org.jdom.Document document,
+ boolean validate)
+
++ Parses an XML document (JDOM Document) into a feed bean. |
+
+Method Detail | +
---|
+String getType()+
+
+
for details on the format of this string.
+
+boolean isMyType(org.jdom.Document document)+
+ It checks if the given document if the type of feeds the parser understands. +
+
+
document
- XML Document (JDOM) to check if it can be parsed by this parser.
++WireFeed parse(org.jdom.Document document, + boolean validate) + throws IllegalArgumentException, + FeedException+
+
+
document
- XML document (JDOM) to parse.validate
- indicates if the feed should be strictly validated (NOT YET IMPLEMENTED).
+IllegalArgumentException
- thrown if the parser cannot handle the given feed type.
+FeedException
- thrown if a feed bean cannot be created out of the XML document (JDOM).
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + java.io.Reader + com.sun.syndication.io.XmlReader ++
public class XmlReader
+Character stream that handles (or at least attemtps to) all the necessary Voodo to figure out + the charset encoding of the XML document within the stream. +
+ IMPORTANT: This class is not related in any way to the org.xml.sax.XMLReader. This one IS a + character stream. +
+ All this has to be done without consuming characters from the stream, if not the XML parser + will not recognized the document as a valid XML. This is not 100% true, but it's close enough + (UTF-8 BOM is not handled by all parsers right now, XmlReader handles it and things work in all + parsers). +
+ The XmlReader class handles the charset encoding of XML documents in Files, raw streams and + HTTP streams by offering a wide set of constructors. +
+ By default the charset encoding detection is lenient, the constructor with the lenient flag + can be used for an script (following HTTP MIME and XML specifications). + All this is nicely explained by Mark Pilgrim in his blog, + + Determining the character encoding of a feed. +
+
+ +
+
+Field Summary | +
---|
Fields inherited from class java.io.Reader | +
---|
lock |
+
+Constructor Summary | +|
---|---|
XmlReader(File file)
+
++ Creates a Reader for a File. |
+|
XmlReader(InputStream is)
+
++ Creates a Reader for a raw InputStream. |
+|
XmlReader(InputStream is,
+ boolean lenient)
+
++ Creates a Reader for a raw InputStream. |
+|
XmlReader(InputStream is,
+ boolean lenient,
+ String defaultEncoding)
+
++ Creates a Reader for a raw InputStream and uses the provided default encoding if none is determined. |
+|
XmlReader(InputStream is,
+ String httpContentType)
+
++ Creates a Reader using an InputStream and the associated content-type header. |
+|
XmlReader(InputStream is,
+ String httpContentType,
+ boolean lenient)
+
++ Creates a Reader using an InputStream and the associated content-type header. |
+|
XmlReader(InputStream is,
+ String httpContentType,
+ boolean lenient,
+ String defaultEncoding)
+
++ Creates a Reader using an InputStream and the associated content-type header. |
+|
XmlReader(URL url)
+
++ Creates a Reader using the InputStream of a URL. |
+|
XmlReader(URLConnection conn)
+
++ Creates a Reader using the InputStream of a URLConnection. |
+
+Method Summary | +|
---|---|
+ void |
+close()
+
++ Closes the XmlReader stream. |
+
+static String |
+getDefaultEncoding()
+
++ Returns the default encoding to use if none is set in HTTP content-type, + XML prolog and the rules based on content-type are not adequate. |
+
+ String |
+getEncoding()
+
++ Returns the charset encoding of the XmlReader. |
+
+ int |
+read(char[] buf,
+ int offset,
+ int len)
+
++ |
+
+static void |
+setDefaultEncoding(String encoding)
+
++ Sets the default encoding to use if none is set in HTTP content-type, + XML prolog and the rules based on content-type are not adequate. |
+
Methods inherited from class java.io.Reader | +
---|
mark, markSupported, read, read, read, ready, reset, skip |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public XmlReader(File file) + throws IOException+
+ It looks for the UTF-8 BOM first, if none sniffs the XML prolog charset, if this is also + missing defaults to UTF-8. +
+ It does a lenient charset encoding detection, check the constructor with the lenient parameter + for details. +
+
+
file
- File to create a Reader from.
+IOException
- thrown if there is a problem reading the file.+public XmlReader(InputStream is) + throws IOException+
+ It follows the same logic used for files. +
+ It does a lenient charset encoding detection, check the constructor with the lenient parameter + for details. +
+
+
is
- InputStream to create a Reader from.
+IOException
- thrown if there is a problem reading the stream.+public XmlReader(InputStream is, + boolean lenient, + String defaultEncoding) + throws IOException, + XmlReaderException+
+ It follows the same logic used for files. +
+ If lenient detection is indicated and the detection above fails as per specifications it then attempts + the following: +
+ If the content type was 'text/html' it replaces it with 'text/xml' and tries the detection again. +
+ Else if the XML prolog had a charset encoding that encoding is used. +
+ Else if the content type had a charset encoding that encoding is used. +
+ Else 'UTF-8' is used. +
+ If lenient detection is indicated an XmlReaderException is never thrown. +
+
+
is
- InputStream to create a Reader from.lenient
- indicates if the charset encoding detection should be relaxed.defaultEncoding
- default encoding to use if one cannot be detected.
+IOException
- thrown if there is a problem reading the stream.
+XmlReaderException
- thrown if the charset encoding could not be determined according to the specs.+public XmlReader(InputStream is, + boolean lenient) + throws IOException, + XmlReaderException+
+ It follows the same logic used for files. +
+ If lenient detection is indicated and the detection above fails as per specifications it then attempts + the following: +
+ If the content type was 'text/html' it replaces it with 'text/xml' and tries the detection again. +
+ Else if the XML prolog had a charset encoding that encoding is used. +
+ Else if the content type had a charset encoding that encoding is used. +
+ Else 'UTF-8' is used. +
+ If lenient detection is indicated an XmlReaderException is never thrown. +
+
+
is
- InputStream to create a Reader from.lenient
- indicates if the charset encoding detection should be relaxed.
+IOException
- thrown if there is a problem reading the stream.
+XmlReaderException
- thrown if the charset encoding could not be determined according to the specs.+public XmlReader(URL url) + throws IOException+
+ If the URL is not of type HTTP and there is not 'content-type' header in the fetched + data it uses the same logic used for Files. +
+ If the URL is a HTTP Url or there is a 'content-type' header in the fetched + data it uses the same logic used for an InputStream with content-type. +
+ It does a lenient charset encoding detection, check the constructor with the lenient parameter + for details. +
+
+
url
- URL to create a Reader from.
+IOException
- thrown if there is a problem reading the stream of the URL.+public XmlReader(URLConnection conn) + throws IOException+
+ If the URLConnection is not of type HttpURLConnection and there is not + 'content-type' header in the fetched data it uses the same logic used for files. +
+ If the URLConnection is a HTTP Url or there is a 'content-type' header in the fetched + data it uses the same logic used for an InputStream with content-type. +
+ It does a lenient charset encoding detection, check the constructor with the lenient parameter + for details. +
+
+
conn
- URLConnection to create a Reader from.
+IOException
- thrown if there is a problem reading the stream of the URLConnection.+public XmlReader(InputStream is, + String httpContentType) + throws IOException+
+ First it checks if the stream has BOM. If there is not BOM checks the content-type encoding. + If there is not content-type encoding checks the XML prolog encoding. If there is not XML + prolog encoding uses the default encoding mandated by the content-type MIME type. +
+ It does a lenient charset encoding detection, check the constructor with the lenient parameter + for details. +
+
+
is
- InputStream to create the reader from.httpContentType
- content-type header to use for the resolution of the charset encoding.
+IOException
- thrown if there is a problem reading the file.+public XmlReader(InputStream is, + String httpContentType, + boolean lenient, + String defaultEncoding) + throws IOException, + XmlReaderException+
+ First it checks if the stream has BOM. If there is not BOM checks the content-type encoding. + If there is not content-type encoding checks the XML prolog encoding. If there is not XML + prolog encoding uses the default encoding mandated by the content-type MIME type. +
+ If lenient detection is indicated and the detection above fails as per specifications it then attempts + the following: +
+ If the content type was 'text/html' it replaces it with 'text/xml' and tries the detection again. +
+ Else if the XML prolog had a charset encoding that encoding is used. +
+ Else if the content type had a charset encoding that encoding is used. +
+ Else 'UTF-8' is used. +
+ If lenient detection is indicated and XmlReaderException is never thrown. +
+
+
is
- InputStream to create the reader from.httpContentType
- content-type header to use for the resolution of the charset encoding.lenient
- indicates if the charset encoding detection should be relaxed.defaultEncoding
- default encoding to use if one cannot be detected.
+IOException
- thrown if there is a problem reading the file.
+XmlReaderException
- thrown if the charset encoding could not be determined according to the specs.+public XmlReader(InputStream is, + String httpContentType, + boolean lenient) + throws IOException, + XmlReaderException+
+ First it checks if the stream has BOM. If there is not BOM checks the content-type encoding. + If there is not content-type encoding checks the XML prolog encoding. If there is not XML + prolog encoding uses the default encoding mandated by the content-type MIME type. +
+ If lenient detection is indicated and the detection above fails as per specifications it then attempts + the following: +
+ If the content type was 'text/html' it replaces it with 'text/xml' and tries the detection again. +
+ Else if the XML prolog had a charset encoding that encoding is used. +
+ Else if the content type had a charset encoding that encoding is used. +
+ Else 'UTF-8' is used. +
+ If lenient detection is indicated and XmlReaderException is never thrown. +
+
+
is
- InputStream to create the reader from.httpContentType
- content-type header to use for the resolution of the charset encoding.lenient
- indicates if the charset encoding detection should be relaxed.
+IOException
- thrown if there is a problem reading the file.
+XmlReaderException
- thrown if the charset encoding could not be determined according to the specs.+Method Detail | +
---|
+public static void setDefaultEncoding(String encoding)+
+
encoding
- charset encoding to default to.+public static String getDefaultEncoding()+
+
+public String getEncoding()+
+
+
+public int read(char[] buf, + int offset, + int len) + throws IOException+
read
in class Reader
IOException
+public void close() + throws IOException+
+
+
close
in interface Closeable
close
in class Reader
IOException
- thrown if there was a problem closing the stream.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + java.lang.Throwable + java.lang.Exception + java.io.IOException + com.sun.syndication.io.XmlReaderException ++
public class XmlReaderException
+The XmlReaderException is thrown by the XmlReader constructors if the charset encoding + can not be determined according to the XML 1.0 specification and RFC 3023. +
+ The exception returns the unconsumed InputStream to allow the application to do an + alternate processing with the stream. Note that the original InputStream given to the + XmlReader cannot be used as that one has been already read. +
+
+ +
+
+Constructor Summary | +|
---|---|
XmlReaderException(String msg,
+ String bomEnc,
+ String xmlGuessEnc,
+ String xmlEnc,
+ InputStream is)
+
++ Creates an exception instance if the charset encoding could not be determined. |
+|
XmlReaderException(String msg,
+ String ctMime,
+ String ctEnc,
+ String bomEnc,
+ String xmlGuessEnc,
+ String xmlEnc,
+ InputStream is)
+
++ Creates an exception instance if the charset encoding could not be determined. |
+
+Method Summary | +|
---|---|
+ String |
+getBomEncoding()
+
++ Returns the BOM encoding found in the InputStream. |
+
+ String |
+getContentTypeEncoding()
+
++ Returns the encoding in the content-type used to attempt determining the encoding. |
+
+ String |
+getContentTypeMime()
+
++ Returns the MIME type in the content-type used to attempt determining the encoding. |
+
+ InputStream |
+getInputStream()
+
++ Returns the unconsumed InputStream to allow the application to do an alternate + encoding detection on the InputStream. |
+
+ String |
+getXmlEncoding()
+
++ Returns the encoding found in the XML prolog of the InputStream. |
+
+ String |
+getXmlGuessEncoding()
+
++ Returns the encoding guess based on the first bytes of the InputStream. |
+
Methods inherited from class java.lang.Throwable | +
---|
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
+
+Constructor Detail | +
---|
+public XmlReaderException(String msg, + String bomEnc, + String xmlGuessEnc, + String xmlEnc, + InputStream is)+
+ Instances of this exception are thrown by the XmlReader. +
+
+
msg
- message describing the reason for the exception.bomEnc
- BOM encoding.xmlGuessEnc
- XML guess encoding.xmlEnc
- XML prolog encoding.is
- the unconsumed InputStream.+public XmlReaderException(String msg, + String ctMime, + String ctEnc, + String bomEnc, + String xmlGuessEnc, + String xmlEnc, + InputStream is)+
+ Instances of this exception are thrown by the XmlReader. +
+
+
msg
- message describing the reason for the exception.ctMime
- MIME type in the content-type.ctEnc
- encoding in the content-type.bomEnc
- BOM encoding.xmlGuessEnc
- XML guess encoding.xmlEnc
- XML prolog encoding.is
- the unconsumed InputStream.+Method Detail | +
---|
+public String getBomEncoding()+
+
+
+public String getXmlGuessEncoding()+
+
+
+public String getXmlEncoding()+
+
+
+public String getContentTypeMime()+
+
+
+public String getContentTypeEncoding()+
+
+
+public InputStream getInputStream()+
+
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use FeedException | +|
---|---|
com.sun.syndication.io | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of FeedException in com.sun.syndication.io | +
---|
+ +
Subclasses of FeedException in com.sun.syndication.io | +|
---|---|
+ class |
+ParsingFeedException
+
++ Exception thrown by WireFeedInput instance if it can not parse a feed. |
+
+ +
Methods in com.sun.syndication.io that throw FeedException | +|
---|---|
+ SyndFeed |
+SyndFeedInput.build(Document document)
+
++ Builds SyndFeedImpl from an W3C DOM document. |
+
+ SyndFeed |
+SyndFeedInput.build(org.jdom.Document document)
+
++ Builds SyndFeedImpl from an JDOM document. |
+
+ WireFeed |
+WireFeedInput.build(Document document)
+
++ Builds an WireFeed (RSS or Atom) from an W3C DOM document. |
+
+ WireFeed |
+WireFeedInput.build(org.jdom.Document document)
+
++ Builds an WireFeed (RSS or Atom) from an JDOM document. |
+
+ SyndFeed |
+SyndFeedInput.build(File file)
+
++ Builds SyndFeedImpl from a file. |
+
+ WireFeed |
+WireFeedInput.build(File file)
+
++ Builds an WireFeed (RSS or Atom) from a file. |
+
+ SyndFeed |
+SyndFeedInput.build(InputSource is)
+
++ Builds SyndFeedImpl from an W3C SAX InputSource. |
+
+ WireFeed |
+WireFeedInput.build(InputSource is)
+
++ Builds an WireFeed (RSS or Atom) from an W3C SAX InputSource. |
+
+ SyndFeed |
+SyndFeedInput.build(Reader reader)
+
++ Builds SyndFeedImpl from an Reader. |
+
+ WireFeed |
+WireFeedInput.build(Reader reader)
+
++ Builds an WireFeed (RSS or Atom) from an Reader. |
+
+ org.jdom.Document |
+WireFeedGenerator.generate(WireFeed feed)
+
++ Creates an XML document (JDOM) for the given feed bean. |
+
+ void |
+SyndFeedOutput.output(SyndFeed feed,
+ File file)
+
++ Creates a File containing with the XML representation for the given SyndFeedImpl. |
+
+ void |
+SyndFeedOutput.output(SyndFeed feed,
+ File file,
+ boolean prettyPrint)
+
++ Creates a File containing with the XML representation for the given SyndFeedImpl. |
+
+ void |
+SyndFeedOutput.output(SyndFeed feed,
+ Writer writer)
+
++ Writes to an Writer the XML representation for the given SyndFeedImpl. |
+
+ void |
+SyndFeedOutput.output(SyndFeed feed,
+ Writer writer,
+ boolean prettyPrint)
+
++ Writes to an Writer the XML representation for the given SyndFeedImpl. |
+
+ void |
+WireFeedOutput.output(WireFeed feed,
+ File file)
+
++ Creates a File containing with the XML representation for the given WireFeed. |
+
+ void |
+WireFeedOutput.output(WireFeed feed,
+ File file,
+ boolean prettyPrint)
+
++ Creates a File containing with the XML representation for the given WireFeed. |
+
+ void |
+WireFeedOutput.output(WireFeed feed,
+ Writer writer)
+
++ Writes to an Writer the XML representation for the given WireFeed. |
+
+ void |
+WireFeedOutput.output(WireFeed feed,
+ Writer writer,
+ boolean prettyPrint)
+
++ Writes to an Writer the XML representation for the given WireFeed. |
+
+ org.jdom.Document |
+SyndFeedOutput.outputJDom(SyndFeed feed)
+
++ Creates a JDOM document for the given SyndFeedImpl. |
+
+ org.jdom.Document |
+WireFeedOutput.outputJDom(WireFeed feed)
+
++ Creates a JDOM document for the given WireFeed. |
+
+ String |
+SyndFeedOutput.outputString(SyndFeed feed)
+
++ Creates a String with the XML representation for the given SyndFeedImpl. |
+
+ String |
+SyndFeedOutput.outputString(SyndFeed feed,
+ boolean prettyPrint)
+
++ Creates a String with the XML representation for the given SyndFeedImpl. |
+
+ String |
+WireFeedOutput.outputString(WireFeed feed)
+
++ Creates a String with the XML representation for the given WireFeed. |
+
+ String |
+WireFeedOutput.outputString(WireFeed feed,
+ boolean prettyPrint)
+
++ Creates a String with the XML representation for the given WireFeed. |
+
+ Document |
+SyndFeedOutput.outputW3CDom(SyndFeed feed)
+
++ Creates a W3C DOM document for the given SyndFeedImpl. |
+
+ Document |
+WireFeedOutput.outputW3CDom(WireFeed feed)
+
++ Creates a W3C DOM document for the given WireFeed. |
+
+ WireFeed |
+WireFeedParser.parse(org.jdom.Document document,
+ boolean validate)
+
++ Parses an XML document (JDOM Document) into a feed bean. |
+
+Uses of FeedException in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl that throw FeedException | +|
---|---|
+protected void |
+RSS090Generator.addChannel(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS091UserlandGenerator.addChannel(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom10Generator.addEntries(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom03Generator.addEntries(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom10Generator.addEntry(Entry entry,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom03Generator.addEntry(Entry entry,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom10Generator.addFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom03Generator.addFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS090Generator.addImage(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS090Generator.addItem(Item item,
+ org.jdom.Element parent,
+ int index)
+
++ |
+
+protected void |
+RSS090Generator.addItems(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS090Generator.addTextInput(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS10Generator.checkChannelConstraints(org.jdom.Element eChannel)
+
++ |
+
+protected void |
+RSS090Generator.checkChannelConstraints(org.jdom.Element eChannel)
+
++ |
+
+protected void |
+RSS092Generator.checkChannelConstraints(org.jdom.Element eChannel)
+
++ |
+
+protected void |
+RSS091UserlandGenerator.checkChannelConstraints(org.jdom.Element eChannel)
+
++ |
+
+protected void |
+Atom10Generator.checkEntriesConstraints(org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom03Generator.checkEntriesConstraints(org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom10Generator.checkEntryConstraints(org.jdom.Element eEntry)
+
++ |
+
+protected void |
+Atom03Generator.checkEntryConstraints(org.jdom.Element eEntry)
+
++ |
+
+protected void |
+Atom10Generator.checkFeedHeaderConstraints(org.jdom.Element eFeed)
+
++ |
+
+protected void |
+Atom03Generator.checkFeedHeaderConstraints(org.jdom.Element eFeed)
+
++ |
+
+protected void |
+RSS10Generator.checkImageConstraints(org.jdom.Element eImage)
+
++ |
+
+protected void |
+RSS090Generator.checkImageConstraints(org.jdom.Element eImage)
+
++ |
+
+protected void |
+RSS092Generator.checkImageConstraints(org.jdom.Element eImage)
+
++ |
+
+protected void |
+RSS091UserlandGenerator.checkImageConstraints(org.jdom.Element eImage)
+
++ |
+
+protected void |
+RSS10Generator.checkItemConstraints(org.jdom.Element eItem)
+
++ |
+
+protected void |
+RSS090Generator.checkItemConstraints(org.jdom.Element eItem)
+
++ |
+
+protected void |
+RSS092Generator.checkItemConstraints(org.jdom.Element eItem)
+
++ |
+
+protected void |
+RSS091UserlandGenerator.checkItemConstraints(org.jdom.Element eItem)
+
++ |
+
+protected void |
+RSS10Generator.checkItemsConstraints(org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS090Generator.checkItemsConstraints(org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS092Generator.checkItemsConstraints(org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS090Generator.checkLength(org.jdom.Element parent,
+ String childName,
+ int minLen,
+ int maxLen)
+
++ |
+
+protected void |
+RSS090Generator.checkNotNullAndLength(org.jdom.Element parent,
+ String childName,
+ int minLen,
+ int maxLen)
+
++ |
+
+protected void |
+RSS10Generator.checkTextInputConstraints(org.jdom.Element eTextInput)
+
++ |
+
+protected void |
+RSS090Generator.checkTextInputConstraints(org.jdom.Element eTextInput)
+
++ |
+
+protected void |
+RSS092Generator.checkTextInputConstraints(org.jdom.Element eTextInput)
+
++ |
+
+protected void |
+RSS091UserlandGenerator.checkTextInputConstraints(org.jdom.Element eTextInput)
+
++ |
+
+protected void |
+Atom10Generator.fillContentElement(org.jdom.Element contentElement,
+ Content content)
+
++ |
+
+protected void |
+Atom03Generator.fillContentElement(org.jdom.Element contentElement,
+ Content content)
+
++ |
+
+ org.jdom.Document |
+RSS090Generator.generate(WireFeed feed)
+
++ |
+
+ org.jdom.Document |
+Atom10Generator.generate(WireFeed wFeed)
+
++ |
+
+ org.jdom.Document |
+Atom03Generator.generate(WireFeed wFeed)
+
++ |
+
+ WireFeed |
+Atom10Parser.parse(org.jdom.Document document,
+ boolean validate)
+
++ |
+
+ WireFeed |
+Atom03Parser.parse(org.jdom.Document document,
+ boolean validate)
+
++ |
+
+ WireFeed |
+RSS090Parser.parse(org.jdom.Document document,
+ boolean validate)
+
++ |
+
+static Entry |
+Atom10Parser.parseEntry(Reader rd,
+ String baseURI)
+
++ Parse entry from reader. |
+
+protected WireFeed |
+Atom10Parser.parseFeed(org.jdom.Element eFeed)
+
++ |
+
+protected void |
+Atom10Generator.populateEntry(Entry entry,
+ org.jdom.Element eEntry)
+
++ |
+
+protected void |
+Atom03Generator.populateEntry(Entry entry,
+ org.jdom.Element eEntry)
+
++ |
+
+protected void |
+RSS090Generator.populateFeed(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+RSS091UserlandGenerator.populateFeed(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom10Generator.populateFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom03Generator.populateFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+Atom10Generator.populateFeedHeader(Feed feed,
+ org.jdom.Element eFeed)
+
++ |
+
+protected void |
+Atom03Generator.populateFeedHeader(Feed feed,
+ org.jdom.Element eFeed)
+
++ |
+
+static void |
+Atom10Generator.serializeEntry(Entry entry,
+ Writer writer)
+
++ Utility method to serialize an entry to writer. |
+
+protected void |
+Atom10Parser.validateFeed(org.jdom.Document document)
+
++ |
+
+protected void |
+Atom03Parser.validateFeed(org.jdom.Document document)
+
++ |
+
+protected void |
+RSS090Parser.validateFeed(org.jdom.Document document)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use ModuleGenerator | +|
---|---|
com.sun.syndication.io | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of ModuleGenerator in com.sun.syndication.io | +
---|
+ +
Subinterfaces of ModuleGenerator in com.sun.syndication.io | +|
---|---|
+ interface |
+DelegatingModuleGenerator
+
++ Adds the ability to give a direct wire feed generator reference to plugin + modules that need to call back to their wire feed to complete + generation of their particular namespace. |
+
+Uses of ModuleGenerator in com.sun.syndication.io.impl | +
---|
+ +
Classes in com.sun.syndication.io.impl that implement ModuleGenerator | +|
---|---|
+ class |
+DCModuleGenerator
+
++ Feed Generator for DublinCore Module. |
+
+ class |
+SyModuleGenerator
+
++ Feed Generator for SY ModuleImpl + |
+
+ +
Methods in com.sun.syndication.io.impl that return ModuleGenerator | +|
---|---|
+ ModuleGenerator |
+ModuleGenerators.getGenerator(String uri)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use ModuleParser | +|
---|---|
com.sun.syndication.io | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of ModuleParser in com.sun.syndication.io | +
---|
+ +
Subinterfaces of ModuleParser in com.sun.syndication.io | +|
---|---|
+ interface |
+DelegatingModuleParser
+
++ Adds the ability to give a direct wire feed reference to plugin + modules that need to call back to their wire feed to complete + parsing of their particular namespace. |
+
+Uses of ModuleParser in com.sun.syndication.io.impl | +
---|
+ +
Classes in com.sun.syndication.io.impl that implement ModuleParser | +|
---|---|
+ class |
+DCModuleParser
+
++ Parser for the Dublin Core module. |
+
+ class |
+SyModuleParser
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use SAXBuilder | +|
---|---|
com.sun.syndication.io | ++ |
+Uses of SAXBuilder in com.sun.syndication.io | +
---|
+ +
Methods in com.sun.syndication.io that return SAXBuilder | +|
---|---|
+protected SAXBuilder |
+WireFeedInput.createSAXBuilder()
+
++ Creates and sets up a org.jdom.input.SAXBuilder for parsing. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use WireFeedGenerator | +|
---|---|
com.sun.syndication.io | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of WireFeedGenerator in com.sun.syndication.io | +
---|
+ +
Methods in com.sun.syndication.io with parameters of type WireFeedGenerator | +|
---|---|
+ void |
+DelegatingModuleGenerator.setFeedGenerator(WireFeedGenerator feedGenerator)
+
++ Provides a parent wirefeed reference to this ModuleParser, + or "plugin-in". |
+
+Uses of WireFeedGenerator in com.sun.syndication.io.impl | +
---|
+ +
Classes in com.sun.syndication.io.impl that implement WireFeedGenerator | +|
---|---|
+ class |
+Atom03Generator
+
++ Feed Generator for Atom + |
+
+ class |
+Atom10Generator
+
++ Feed Generator for Atom + |
+
+ class |
+BaseWireFeedGenerator
+
++ |
+
+ class |
+RSS090Generator
+
++ Feed Generator for RSS 0.90 + |
+
+ class |
+RSS091NetscapeGenerator
+
++ Feed Generator for RSS 0.91 + |
+
+ class |
+RSS091UserlandGenerator
+
++ Feed Generator for RSS 0.91 + |
+
+ class |
+RSS092Generator
+
++ Feed Generator for RSS 0.92 + |
+
+ class |
+RSS093Generator
+
++ Feed Generator for RSS 0.93 + |
+
+ class |
+RSS094Generator
+
++ Feed Generator for RSS 0.94 + |
+
+ class |
+RSS10Generator
+
++ Feed Generator for RSS 1.0 + |
+
+ class |
+RSS20Generator
+
++ Feed Generator for RSS 2.0 + |
+
+ +
Methods in com.sun.syndication.io.impl that return WireFeedGenerator | +|
---|---|
+ WireFeedGenerator |
+FeedGenerators.getGenerator(String feedType)
+
++ |
+
+ +
Constructors in com.sun.syndication.io.impl with parameters of type WireFeedGenerator | +|
---|---|
PluginManager(String propertyKey,
+ WireFeedParser parentParser,
+ WireFeedGenerator parentGenerator)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use WireFeedParser | +|
---|---|
com.sun.syndication.io | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of WireFeedParser in com.sun.syndication.io | +
---|
+ +
Methods in com.sun.syndication.io with parameters of type WireFeedParser | +|
---|---|
+ void |
+DelegatingModuleParser.setFeedParser(WireFeedParser feedParser)
+
++ Provides a parent wirefeed reference to this ModuleParser, + or "plugin-in". |
+
+Uses of WireFeedParser in com.sun.syndication.io.impl | +
---|
+ +
Classes in com.sun.syndication.io.impl that implement WireFeedParser | +|
---|---|
+ class |
+Atom03Parser
+
++ |
+
+ class |
+Atom10Parser
+
++ Parser for Atom 1.0 |
+
+ class |
+BaseWireFeedParser
+
++ |
+
+ class |
+RSS090Parser
+
++ |
+
+ class |
+RSS091NetscapeParser
+
++ |
+
+ class |
+RSS091UserlandParser
+
++ |
+
+ class |
+RSS092Parser
+
++ |
+
+ class |
+RSS093Parser
+
++ |
+
+ class |
+RSS094Parser
+
++ |
+
+ class |
+RSS10Parser
+
++ |
+
+ class |
+RSS20Parser
+
++ |
+
+ class |
+RSS20wNSParser
+
++ To address issue with certain feeds (brought up by Charles Miller): + + "During the debacle that was the rollout of RSS2.0, this namespace was tried, + and even appeared in Dave Winer's Scripting News feed for a while. |
+
+ +
Methods in com.sun.syndication.io.impl that return WireFeedParser | +|
---|---|
+ WireFeedParser |
+FeedParsers.getParserFor(org.jdom.Document document)
+
++ Finds the real parser type for the given document feed. |
+
+ +
Constructors in com.sun.syndication.io.impl with parameters of type WireFeedParser | +|
---|---|
ModuleParsers(String propertyKey,
+ WireFeedParser parentParser)
+
++ |
+|
PluginManager(String propertyKey,
+ WireFeedParser parentParser,
+ WireFeedGenerator parentGenerator)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use XmlReaderException | +|
---|---|
com.sun.syndication.io | ++ |
+Uses of XmlReaderException in com.sun.syndication.io | +
---|
+ +
Constructors in com.sun.syndication.io that throw XmlReaderException | +|
---|---|
XmlReader(InputStream is,
+ boolean lenient)
+
++ Creates a Reader for a raw InputStream. |
+|
XmlReader(InputStream is,
+ boolean lenient,
+ String defaultEncoding)
+
++ Creates a Reader for a raw InputStream and uses the provided default encoding if none is determined. |
+|
XmlReader(InputStream is,
+ String httpContentType,
+ boolean lenient)
+
++ Creates a Reader using an InputStream and the associated content-type header. |
+|
XmlReader(InputStream is,
+ String httpContentType,
+ boolean lenient,
+ String defaultEncoding)
+
++ Creates a Reader using an InputStream and the associated content-type header. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedGenerator + com.sun.syndication.io.impl.Atom03Generator ++
public class Atom03Generator
+Feed Generator for Atom +
++ +
+
+Constructor Summary | +|
---|---|
+ |
+Atom03Generator()
+
++ |
+
+protected |
+Atom03Generator(String type,
+ String version)
+
++ |
+
+Method Summary | +|
---|---|
+protected void |
+addEntries(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+addEntry(Entry entry,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+addFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+checkEntriesConstraints(org.jdom.Element parent)
+
++ |
+
+protected void |
+checkEntryConstraints(org.jdom.Element eEntry)
+
++ |
+
+protected void |
+checkFeedHeaderConstraints(org.jdom.Element eFeed)
+
++ |
+
+protected org.jdom.Document |
+createDocument(org.jdom.Element root)
+
++ |
+
+protected org.jdom.Element |
+createRootElement(Feed feed)
+
++ |
+
+protected void |
+fillContentElement(org.jdom.Element contentElement,
+ Content content)
+
++ |
+
+protected void |
+fillPersonElement(org.jdom.Element element,
+ Person person)
+
++ |
+
+ org.jdom.Document |
+generate(WireFeed wFeed)
+
++ Creates an XML document (JDOM) for the given feed bean. |
+
+protected org.jdom.Element |
+generateGeneratorElement(Generator generator)
+
++ |
+
+protected org.jdom.Element |
+generateLinkElement(Link link)
+
++ |
+
+protected org.jdom.Element |
+generateSimpleElement(String name,
+ String value)
+
++ |
+
+protected org.jdom.Element |
+generateTagLineElement(Content tagline)
+
++ |
+
+protected org.jdom.Namespace |
+getFeedNamespace()
+
++ |
+
+protected String |
+getVersion()
+
++ |
+
+protected void |
+populateEntry(Entry entry,
+ org.jdom.Element eEntry)
+
++ |
+
+protected void |
+populateFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+populateFeedHeader(Feed feed,
+ org.jdom.Element eFeed)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedGenerator | +
---|
generateFeedModules, generateForeignMarkup, generateItemModules, generateModuleNamespaceDefs, generatePersonModules, getType, purgeUnusedNamespaceDeclarations |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Atom03Generator()+
+protected Atom03Generator(String type, + String version)+
+Method Detail | +
---|
+protected String getVersion()+
+protected org.jdom.Namespace getFeedNamespace()+
+public org.jdom.Document generate(WireFeed wFeed) + throws FeedException+
WireFeedGenerator
+
+
wFeed
- the feed bean to generate the XML document from.
+FeedException
- thrown if the XML Document could not be created.+protected org.jdom.Document createDocument(org.jdom.Element root)+
+protected org.jdom.Element createRootElement(Feed feed)+
+protected void populateFeed(Feed feed, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void addFeed(Feed feed, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void addEntries(Feed feed, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void addEntry(Entry entry, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void populateFeedHeader(Feed feed, + org.jdom.Element eFeed) + throws FeedException+
FeedException
+protected void populateEntry(Entry entry, + org.jdom.Element eEntry) + throws FeedException+
FeedException
+protected void checkFeedHeaderConstraints(org.jdom.Element eFeed) + throws FeedException+
FeedException
+protected void checkEntriesConstraints(org.jdom.Element parent) + throws FeedException+
FeedException
+protected void checkEntryConstraints(org.jdom.Element eEntry) + throws FeedException+
FeedException
+protected org.jdom.Element generateLinkElement(Link link)+
+protected void fillPersonElement(org.jdom.Element element, + Person person)+
+protected org.jdom.Element generateTagLineElement(Content tagline)+
+protected void fillContentElement(org.jdom.Element contentElement, + Content content) + throws FeedException+
FeedException
+protected org.jdom.Element generateGeneratorElement(Generator generator)+
+protected org.jdom.Element generateSimpleElement(String name, + String value)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser + com.sun.syndication.io.impl.Atom03Parser ++
public class Atom03Parser
+
+Constructor Summary | +|
---|---|
+ |
+Atom03Parser()
+
++ |
+
+protected |
+Atom03Parser(String type,
+ org.jdom.Namespace ns)
+
++ |
+
+Method Summary | +|
---|---|
+protected org.jdom.Namespace |
+getAtomNamespace()
+
++ |
+
+ boolean |
+isMyType(org.jdom.Document document)
+
++ Inspects an XML Document (JDOM) to check if it can parse it. |
+
+ WireFeed |
+parse(org.jdom.Document document,
+ boolean validate)
+
++ Parses an XML document (JDOM Document) into a feed bean. |
+
+protected WireFeed |
+parseFeed(org.jdom.Element eFeed)
+
++ |
+
+protected void |
+validateFeed(org.jdom.Document document)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedParser | +
---|
extractForeignMarkup, getAttribute, getAttributeValue, getType, parseFeedModules, parseItemModules, parsePersonModules |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Atom03Parser()+
+protected Atom03Parser(String type, + org.jdom.Namespace ns)+
+Method Detail | +
---|
+protected org.jdom.Namespace getAtomNamespace()+
+public boolean isMyType(org.jdom.Document document)+
WireFeedParser
+ It checks if the given document if the type of feeds the parser understands. +
+
+
document
- XML Document (JDOM) to check if it can be parsed by this parser.
++public WireFeed parse(org.jdom.Document document, + boolean validate) + throws IllegalArgumentException, + FeedException+
WireFeedParser
+
+
document
- XML document (JDOM) to parse.validate
- indicates if the feed should be strictly validated (NOT YET IMPLEMENTED).
+IllegalArgumentException
- thrown if the parser cannot handle the given feed type.
+FeedException
- thrown if a feed bean cannot be created out of the XML document (JDOM).+protected void validateFeed(org.jdom.Document document) + throws FeedException+
FeedException
+protected WireFeed parseFeed(org.jdom.Element eFeed)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedGenerator + com.sun.syndication.io.impl.Atom10Generator ++
public class Atom10Generator
+Feed Generator for Atom +
++ +
+
+Constructor Summary | +|
---|---|
+ |
+Atom10Generator()
+
++ |
+
+protected |
+Atom10Generator(String type,
+ String version)
+
++ |
+
+Method Summary | +|
---|---|
+protected void |
+addEntries(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+addEntry(Entry entry,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+addFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+checkEntriesConstraints(org.jdom.Element parent)
+
++ |
+
+protected void |
+checkEntryConstraints(org.jdom.Element eEntry)
+
++ |
+
+protected void |
+checkFeedHeaderConstraints(org.jdom.Element eFeed)
+
++ |
+
+protected org.jdom.Document |
+createDocument(org.jdom.Element root)
+
++ |
+
+protected org.jdom.Element |
+createRootElement(Feed feed)
+
++ |
+
+protected void |
+fillContentElement(org.jdom.Element contentElement,
+ Content content)
+
++ |
+
+protected void |
+fillPersonElement(org.jdom.Element element,
+ Person person)
+
++ |
+
+ org.jdom.Document |
+generate(WireFeed wFeed)
+
++ Creates an XML document (JDOM) for the given feed bean. |
+
+protected org.jdom.Element |
+generateCategoryElement(Category cat)
+
++ |
+
+protected org.jdom.Element |
+generateGeneratorElement(Generator generator)
+
++ |
+
+protected org.jdom.Element |
+generateLinkElement(Link link)
+
++ |
+
+protected org.jdom.Element |
+generateSimpleElement(String name,
+ String value)
+
++ |
+
+protected org.jdom.Element |
+generateTagLineElement(Content tagline)
+
++ |
+
+protected org.jdom.Namespace |
+getFeedNamespace()
+
++ |
+
+protected String |
+getVersion()
+
++ |
+
+protected void |
+populateEntry(Entry entry,
+ org.jdom.Element eEntry)
+
++ |
+
+protected void |
+populateFeed(Feed feed,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+populateFeedHeader(Feed feed,
+ org.jdom.Element eFeed)
+
++ |
+
+static void |
+serializeEntry(Entry entry,
+ Writer writer)
+
++ Utility method to serialize an entry to writer. |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedGenerator | +
---|
generateFeedModules, generateForeignMarkup, generateItemModules, generateModuleNamespaceDefs, generatePersonModules, getType, purgeUnusedNamespaceDeclarations |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Atom10Generator()+
+protected Atom10Generator(String type, + String version)+
+Method Detail | +
---|
+protected String getVersion()+
+protected org.jdom.Namespace getFeedNamespace()+
+public org.jdom.Document generate(WireFeed wFeed) + throws FeedException+
WireFeedGenerator
+
+
wFeed
- the feed bean to generate the XML document from.
+FeedException
- thrown if the XML Document could not be created.+protected org.jdom.Document createDocument(org.jdom.Element root)+
+protected org.jdom.Element createRootElement(Feed feed)+
+protected void populateFeed(Feed feed, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void addFeed(Feed feed, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void addEntries(Feed feed, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void addEntry(Entry entry, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void populateFeedHeader(Feed feed, + org.jdom.Element eFeed) + throws FeedException+
FeedException
+protected void populateEntry(Entry entry, + org.jdom.Element eEntry) + throws FeedException+
FeedException
+protected void checkFeedHeaderConstraints(org.jdom.Element eFeed) + throws FeedException+
FeedException
+protected void checkEntriesConstraints(org.jdom.Element parent) + throws FeedException+
FeedException
+protected void checkEntryConstraints(org.jdom.Element eEntry) + throws FeedException+
FeedException
+protected org.jdom.Element generateCategoryElement(Category cat)+
+protected org.jdom.Element generateLinkElement(Link link)+
+protected void fillPersonElement(org.jdom.Element element, + Person person)+
+protected org.jdom.Element generateTagLineElement(Content tagline)+
+protected void fillContentElement(org.jdom.Element contentElement, + Content content) + throws FeedException+
FeedException
+protected org.jdom.Element generateGeneratorElement(Generator generator)+
+protected org.jdom.Element generateSimpleElement(String name, + String value)+
+public static void serializeEntry(Entry entry, + Writer writer) + throws IllegalArgumentException, + FeedException, + IOException+
+
IllegalArgumentException
+FeedException
+IOException
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser + com.sun.syndication.io.impl.Atom10Parser ++
public class Atom10Parser
+Parser for Atom 1.0 +
+ +
+
+Constructor Summary | +|
---|---|
+ |
+Atom10Parser()
+
++ |
+
+protected |
+Atom10Parser(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected org.jdom.Namespace |
+getAtomNamespace()
+
++ |
+
+static boolean |
+getResolveURIs()
+
++ |
+
+static boolean |
+isAbsoluteURI(String uri)
+
++ |
+
+ boolean |
+isMyType(org.jdom.Document document)
+
++ Inspects an XML Document (JDOM) to check if it can parse it. |
+
+static boolean |
+isRelativeURI(String uri)
+
++ Returns true if URI is relative. |
+
+ WireFeed |
+parse(org.jdom.Document document,
+ boolean validate)
+
++ Parses an XML document (JDOM Document) into a feed bean. |
+
+protected List |
+parseEntries(Feed feed,
+ String baseURI,
+ List eEntries)
+
++ |
+
+protected Entry |
+parseEntry(Feed feed,
+ org.jdom.Element eEntry,
+ String baseURI)
+
++ |
+
+static Entry |
+parseEntry(Reader rd,
+ String baseURI)
+
++ Parse entry from reader. |
+
+protected WireFeed |
+parseFeed(org.jdom.Element eFeed)
+
++ |
+
+static String |
+resolveURI(String baseURI,
+ org.jdom.Parent parent,
+ String url)
+
++ Resolve URI via base URL and parent element. |
+
+static void |
+setResolveURIs(boolean resolveURIs)
+
++ |
+
+protected void |
+validateFeed(org.jdom.Document document)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedParser | +
---|
extractForeignMarkup, getAttribute, getAttributeValue, getType, parseFeedModules, parseItemModules, parsePersonModules |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Atom10Parser()+
+protected Atom10Parser(String type)+
+Method Detail | +
---|
+public static void setResolveURIs(boolean resolveURIs)+
+public static boolean getResolveURIs()+
+protected org.jdom.Namespace getAtomNamespace()+
+public boolean isMyType(org.jdom.Document document)+
WireFeedParser
+ It checks if the given document if the type of feeds the parser understands. +
+
+
document
- XML Document (JDOM) to check if it can be parsed by this parser.
++public WireFeed parse(org.jdom.Document document, + boolean validate) + throws IllegalArgumentException, + FeedException+
WireFeedParser
+
+
document
- XML document (JDOM) to parse.validate
- indicates if the feed should be strictly validated (NOT YET IMPLEMENTED).
+IllegalArgumentException
- thrown if the parser cannot handle the given feed type.
+FeedException
- thrown if a feed bean cannot be created out of the XML document (JDOM).+protected void validateFeed(org.jdom.Document document) + throws FeedException+
FeedException
+protected WireFeed parseFeed(org.jdom.Element eFeed) + throws FeedException+
FeedException
+protected List parseEntries(Feed feed, + String baseURI, + List eEntries)+
+protected Entry parseEntry(Feed feed, + org.jdom.Element eEntry, + String baseURI)+
+public static boolean isAbsoluteURI(String uri)+
+public static boolean isRelativeURI(String uri)+
+
+public static String resolveURI(String baseURI, + org.jdom.Parent parent, + String url)+
+
baseURI
- Base URI used to fetch the XML documentparent
- Parent element from which to consider xml:baseurl
- URL to be resolved+public static Entry parseEntry(Reader rd, + String baseURI) + throws org.jdom.JDOMException, + IOException, + IllegalArgumentException, + FeedException+
+
org.jdom.JDOMException
+IOException
+IllegalArgumentException
+FeedException
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.Base64 ++
public class Base64
+Encodes/decodes byte arrays and Strings into/from a base 64 String. +
+
+ +
+
+Constructor Summary | +|
---|---|
Base64()
+
++ |
+
+Method Summary | +|
---|---|
+static byte[] |
+decode(byte[] eData)
+
++ Dencodes a com.sun.syndication.io.impl.Base64 byte array. |
+
+static String |
+decode(String s)
+
++ Decodes a base 64 String into a String. |
+
+static byte[] |
+encode(byte[] dData)
+
++ Encodes a byte array into a base 64 byte array. |
+
+static String |
+encode(String s)
+
++ Encodes a String into a base 64 String. |
+
+static void |
+main(String[] args)
+
++ |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public Base64()+
+Method Detail | +
---|
+public static String encode(String s)+
+
+
s
- String to encode.
++public static String decode(String s) + throws IllegalArgumentException+
+
+
s
- String to decode.
+IllegalArgumentException
- thrown if the given byte array was not valid com.sun.syndication.io.impl.Base64 encoding.+public static byte[] encode(byte[] dData)+
+
+
dData
- byte array to encode.
++public static byte[] decode(byte[] eData)+
+
+
eData
- byte array to decode.
+IllegalArgumentException
- thrown if the given byte array was not valid com.sun.syndication.io.impl.Base64 encoding.+public static void main(String[] args) + throws Exception+
Exception
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedGenerator ++
public abstract class BaseWireFeedGenerator
+
+Constructor Summary | +|
---|---|
+protected |
+BaseWireFeedGenerator(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected void |
+generateFeedModules(List modules,
+ org.jdom.Element feed)
+
++ |
+
+protected void |
+generateForeignMarkup(org.jdom.Element e,
+ List foreignMarkup)
+
++ |
+
+ void |
+generateItemModules(List modules,
+ org.jdom.Element item)
+
++ |
+
+protected void |
+generateModuleNamespaceDefs(org.jdom.Element root)
+
++ |
+
+ void |
+generatePersonModules(List modules,
+ org.jdom.Element person)
+
++ |
+
+ String |
+getType()
+
++ Returns the type of feed the generator creates. |
+
+protected static void |
+purgeUnusedNamespaceDeclarations(org.jdom.Element root)
+
++ Purging unused declarations is less optimal, performance-wise, than never adding them in the first place. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
Methods inherited from interface com.sun.syndication.io.WireFeedGenerator | +
---|
generate |
+
+Constructor Detail | +
---|
+protected BaseWireFeedGenerator(String type)+
+Method Detail | +
---|
+public String getType()+
WireFeedGenerator
+
+
getType
in interface WireFeedGenerator
for details on the format of this string.
+
+protected void generateModuleNamespaceDefs(org.jdom.Element root)+
+protected void generateFeedModules(List modules, + org.jdom.Element feed)+
+public void generateItemModules(List modules, + org.jdom.Element item)+
+public void generatePersonModules(List modules, + org.jdom.Element person)+
+protected void generateForeignMarkup(org.jdom.Element e, + List foreignMarkup)+
+protected static void purgeUnusedNamespaceDeclarations(org.jdom.Element root)+
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser ++
public abstract class BaseWireFeedParser
+
+Constructor Summary | +|
---|---|
+protected |
+BaseWireFeedParser(String type,
+ org.jdom.Namespace namespace)
+
++ |
+
+Method Summary | +|
---|---|
+protected List |
+extractForeignMarkup(org.jdom.Element e,
+ Extendable ext,
+ org.jdom.Namespace basens)
+
++ |
+
+protected org.jdom.Attribute |
+getAttribute(org.jdom.Element e,
+ String attributeName)
+
++ |
+
+protected String |
+getAttributeValue(org.jdom.Element e,
+ String attributeName)
+
++ |
+
+ String |
+getType()
+
++ Returns the type of feed the parser handles. |
+
+protected List |
+parseFeedModules(org.jdom.Element feedElement)
+
++ |
+
+protected List |
+parseItemModules(org.jdom.Element itemElement)
+
++ |
+
+protected List |
+parsePersonModules(org.jdom.Element itemElement)
+
++ |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
Methods inherited from interface com.sun.syndication.io.WireFeedParser | +
---|
isMyType, parse |
+
+Constructor Detail | +
---|
+protected BaseWireFeedParser(String type, + org.jdom.Namespace namespace)+
+Method Detail | +
---|
+public String getType()+
+
+
getType
in interface WireFeedParser
for details on the format of this string.
+
+protected List parseFeedModules(org.jdom.Element feedElement)+
+protected List parseItemModules(org.jdom.Element itemElement)+
+protected List parsePersonModules(org.jdom.Element itemElement)+
+protected List extractForeignMarkup(org.jdom.Element e, + Extendable ext, + org.jdom.Namespace basens)+
+protected org.jdom.Attribute getAttribute(org.jdom.Element e, + String attributeName)+
+protected String getAttributeValue(org.jdom.Element e, + String attributeName)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.DCModuleGenerator ++
public class DCModuleGenerator
+Feed Generator for DublinCore Module. +
++ +
+
+Constructor Summary | +|
---|---|
DCModuleGenerator()
+
++ |
+
+Method Summary | +|
---|---|
+ void |
+generate(Module module,
+ org.jdom.Element element)
+
++ Populate an element tree with elements for a module. |
+
+protected org.jdom.Element |
+generateSimpleElement(String name,
+ String value)
+
++ Utility method to generate a single element containing a string. |
+
+protected List |
+generateSimpleElementList(String name,
+ List value)
+
++ Utility method to generate a list of simple elements. |
+
+protected org.jdom.Element |
+generateSubjectElement(DCSubject subject)
+
++ Utility method to generate an element for a subject. |
+
+ Set |
+getNamespaces()
+
++ Returns a set with all the URIs (JDOM Namespace elements) this module + generator uses. |
+
+ String |
+getNamespaceUri()
+
++ Returns the namespace URI this generator handles. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public DCModuleGenerator()+
+Method Detail | +
---|
+public final String getNamespaceUri()+
ModuleGenerator
+
+
getNamespaceUri
in interface ModuleGenerator
+public final Set getNamespaces()+
+
getNamespaces
in interface ModuleGenerator
+public final void generate(Module module, + org.jdom.Element element)+
+
+
generate
in interface ModuleGenerator
module
- the module to populate from.element
- the root element to attach child elements to.+protected final org.jdom.Element generateSubjectElement(DCSubject subject)+
+
+
subject
- the subject to generate an element for.
++protected final org.jdom.Element generateSimpleElement(String name, + String value)+
+
+
name
- the name of the elment to generate.value
- the value of the text in the element.
++protected final List generateSimpleElementList(String name, + List value)+
+
+
name
- the name of the element list to generate.value
- the list of values for the elements.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.DCModuleParser ++
public class DCModuleParser
+Parser for the Dublin Core module. +
+ +
+
+Constructor Summary | +|
---|---|
DCModuleParser()
+
++ |
+
+Method Summary | +|
---|---|
+ String |
+getNamespaceUri()
+
++ Returns the namespace URI this parser handles. |
+
+protected String |
+getTaxonomy(org.jdom.Element desc)
+
++ Utility method to parse a taxonomy from an element. |
+
+ Module |
+parse(org.jdom.Element dcRoot)
+
++ Parse an element tree and return the module found in it. |
+
+protected List |
+parseElementList(List eList)
+
++ Utility method to parse a list of strings out of a list of elements. |
+
+protected List |
+parseElementListDate(List eList)
+
++ Utility method to parse a list of dates out of a list of elements. |
+
+protected List |
+parseSubjects(List eList)
+
++ Utility method to parse a list of subjects out of a list of elements. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public DCModuleParser()+
+Method Detail | +
---|
+public final String getNamespaceUri()+
ModuleParser
+
+
getNamespaceUri
in interface ModuleParser
+public Module parse(org.jdom.Element dcRoot)+
+
+
parse
in interface ModuleParser
dcRoot
- the root element containing the module elements.
++protected final String getTaxonomy(org.jdom.Element desc)+
+
+
desc
- the taxonomy description element.
++protected final List parseSubjects(List eList)+
+
+
eList
- the element list to parse.
++protected final List parseElementList(List eList)+
+
+
eList
- the list of elements to parse.
++protected final List parseElementListDate(List eList)+
+
+
eList
- the list of elements to parse.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.DateParser ++
public class DateParser
+A helper class that parses Dates out of Strings with date time in RFC822 and W3CDateTime + formats plus the variants Atom (0.3) and RSS (0.9, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0) + specificators added to those formats. +
+ It uses the JDK java.text.SimpleDateFormat class attemtping the parse using a mask for + each one of the possible formats. + ++ +
+
+Method Summary | +|
---|---|
+static String |
+formatRFC822(Date date)
+
++ create a RFC822 representation of a date. |
+
+static String |
+formatW3CDateTime(Date date)
+
++ create a W3C Date Time representation of a date. |
+
+static Date |
+parseDate(String sDate)
+
++ Parses a Date out of a String with a date in W3C date-time format or + in a RFC822 format. |
+
+static Date |
+parseRFC822(String sDate)
+
++ Parses a Date out of a String with a date in RFC822 format. |
+
+static Date |
+parseW3CDateTime(String sDate)
+
++ Parses a Date out of a String with a date in W3C date-time format. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Method Detail | +
---|
+public static Date parseRFC822(String sDate)+
+
sDate
- string to parse for a date.
++public static Date parseW3CDateTime(String sDate)+
+
sDate
- string to parse for a date.
++public static Date parseDate(String sDate)+
+
+
sDate
- string to parse for a date.
++public static String formatRFC822(Date date)+
+
date
- Date to parse
++public static String formatW3CDateTime(Date date)+
+
date
- Date to parse
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.PluginManager + com.sun.syndication.io.impl.FeedGenerators ++
public class FeedGenerators
+Generates an XML document (JDOM Document) out of a Feed. +
+ It can generate all flavors of RSS (0.90, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0) and + Atom 0.3 feed. +
+ WireFeedGenerator instances are thread safe. +
+ Generators for a specific type must extend this class and register in the generator list. + (Right now registration is hardcoded in the WireFeedGenerator constructor). +
+
+ +
+
+Field Summary | +|
---|---|
+static String |
+FEED_GENERATORS_KEY
+
++ WireFeedGenerator.classes= [className] ... |
+
+Constructor Summary | +|
---|---|
FeedGenerators()
+
++ |
+
+Method Summary | +|
---|---|
+ WireFeedGenerator |
+getGenerator(String feedType)
+
++ |
+
+protected String |
+getKey(Object obj)
+
++ |
+
+ List |
+getSupportedFeedTypes()
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.PluginManager | +
---|
getKeys, getPlugin, getPluginMap, getPlugins |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Field Detail | +
---|
+public static final String FEED_GENERATORS_KEY+
+
+Constructor Detail | +
---|
+public FeedGenerators()+
+Method Detail | +
---|
+public WireFeedGenerator getGenerator(String feedType)+
+protected String getKey(Object obj)+
getKey
in class PluginManager
+public List getSupportedFeedTypes()+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.PluginManager + com.sun.syndication.io.impl.FeedParsers ++
public class FeedParsers
+Parses an XML document (JDOM Document) into a Feed. +
+ 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. +
+ The WireFeedParser is a liberal parser. +
+ WireFeedParser instances are thread safe. +
+ Parsers for a specific type must extend this class and register in the parser list. + (Right now registration is hardcoded in the WireFeedParser constructor). +
+
+ +
+
+Field Summary | +|
---|---|
+static String |
+FEED_PARSERS_KEY
+
++ WireFeedParser.classes= [className] ... |
+
+Constructor Summary | +|
---|---|
FeedParsers()
+
++ Creates a parser instance. |
+
+Method Summary | +|
---|---|
+protected String |
+getKey(Object obj)
+
++ |
+
+ WireFeedParser |
+getParserFor(org.jdom.Document document)
+
++ Finds the real parser type for the given document feed. |
+
+ List |
+getSupportedFeedTypes()
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.PluginManager | +
---|
getKeys, getPlugin, getPluginMap, getPlugins |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Field Detail | +
---|
+public static final String FEED_PARSERS_KEY+
+
+Constructor Detail | +
---|
+public FeedParsers()+
+
+
+Method Detail | +
---|
+public List getSupportedFeedTypes()+
+public WireFeedParser getParserFor(org.jdom.Document document)+
+
+
document
- document feed to find the parser for.
++protected String getKey(Object obj)+
getKey
in class PluginManager
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.PluginManager + com.sun.syndication.io.impl.ModuleGenerators ++
public class ModuleGenerators
+
+Constructor Summary | +|
---|---|
ModuleGenerators(String propertyKey,
+ BaseWireFeedGenerator parentGenerator)
+
++ |
+
+Method Summary | +|
---|---|
+ void |
+generateModules(List modules,
+ org.jdom.Element element)
+
++ |
+
+ Set |
+getAllNamespaces()
+
++ |
+
+ ModuleGenerator |
+getGenerator(String uri)
+
++ |
+
+protected String |
+getKey(Object obj)
+
++ |
+
+ List |
+getModuleNamespaces()
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.PluginManager | +
---|
getKeys, getPlugin, getPluginMap, getPlugins |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ModuleGenerators(String propertyKey, + BaseWireFeedGenerator parentGenerator)+
+Method Detail | +
---|
+public ModuleGenerator getGenerator(String uri)+
+protected String getKey(Object obj)+
getKey
in class PluginManager
+public List getModuleNamespaces()+
+public void generateModules(List modules, + org.jdom.Element element)+
+public Set getAllNamespaces()+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.PluginManager + com.sun.syndication.io.impl.ModuleParsers ++
public class ModuleParsers
+
+Constructor Summary | +|
---|---|
ModuleParsers(String propertyKey,
+ WireFeedParser parentParser)
+
++ |
+
+Method Summary | +|
---|---|
+ String |
+getKey(Object obj)
+
++ |
+
+ List |
+getModuleNamespaces()
+
++ |
+
+ List |
+parseModules(org.jdom.Element root)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.PluginManager | +
---|
getKeys, getPlugin, getPluginMap, getPlugins |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public ModuleParsers(String propertyKey, + WireFeedParser parentParser)+
+Method Detail | +
---|
+public String getKey(Object obj)+
getKey
in class PluginManager
+public List getModuleNamespaces()+
+public List parseModules(org.jdom.Element root)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.NumberParser ++
public class NumberParser
+A helper class that parses Numbers out of Strings in a lenient manner. + +
+ No method will throw any sort of Exception when parsing a string. + All methods accept any Java String or null as legal input, if the + input is non null, whitespace will be trimmed first, and then parsing + will be attempted. +
++ :TODO: Add Integer, Float, and Double methods as needed. +
++ +
+
+Method Summary | +|
---|---|
+static Float |
+parseFloat(String str)
+
++ Parse a Float from a String without exceptions. |
+
+static float |
+parseFloat(String str,
+ float def)
+
++ Parse a float from a String, with a default value |
+
+static Integer |
+parseInt(String str)
+
++ Parse an Integer from a String. |
+
+static Long |
+parseLong(String str)
+
++ Parses a Long out of a string. |
+
+static long |
+parseLong(String str,
+ long def)
+
++ Parses a long out of a string. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Method Detail | +
---|
+public static Long parseLong(String str)+
+
str
- string to parse for a Long.
++public static Integer parseInt(String str)+
+
str
- the String to parse
++public static Float parseFloat(String str)+
+
str
- the String to parse
++public static float parseFloat(String str, + float def)+
+
str
- def
- the value to return if the String cannot be parsed
++public static long parseLong(String str, + long def)+
+
str
- string to parse for a long.def
- default value to return if it is not possible to parse the the string.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.PluginManager ++
public abstract class PluginManager
+
+
+ +
+
+Constructor Summary | +|
---|---|
+protected |
+PluginManager(String propertyKey)
+
++ Creates a PluginManager + |
+
+protected |
+PluginManager(String propertyKey,
+ WireFeedParser parentParser,
+ WireFeedGenerator parentGenerator)
+
++ |
+
+Method Summary | +|
---|---|
+protected abstract String |
+getKey(Object obj)
+
++ |
+
+protected List |
+getKeys()
+
++ |
+
+protected Object |
+getPlugin(String key)
+
++ |
+
+protected Map |
+getPluginMap()
+
++ |
+
+protected List |
+getPlugins()
+
++ |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+protected PluginManager(String propertyKey)+
+
+
propertyKey
- property key defining the plugins classes+protected PluginManager(String propertyKey, + WireFeedParser parentParser, + WireFeedGenerator parentGenerator)+
+Method Detail | +
---|
+protected abstract String getKey(Object obj)+
+protected List getKeys()+
+protected List getPlugins()+
+protected Map getPluginMap()+
+protected Object getPlugin(String key)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.PropertiesLoader ++
public class PropertiesLoader
+Properties loader that aggregates a master properties file and several extra properties files, + all from the current classpath. +
+ The master properties file has to be in a distinct location than the extra properties files. + First the master properties file is loaded, then all the extra properties files in their order + of appearance in the classpath. +
+ Current use cases (plugin manager for parsers/converters/generators for feeds and modules + and date formats) assume properties are list of tokens, that why the only method to get + property values is the getTokenizedProperty(). +
+
+ +
+
+Method Summary | +|
---|---|
+static PropertiesLoader |
+getPropertiesLoader()
+
++ Returns the PropertiesLoader singleton used by ROME to load plugin components. |
+
+ String[] |
+getProperty(String key)
+
++ Returns an array of values stored under a property key in all properties files. |
+
+ String[] |
+getTokenizedProperty(String key,
+ String separator)
+
++ Returns an array of tokenized values stored under a property key in all properties files. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Method Detail | +
---|
+public static PropertiesLoader getPropertiesLoader()+
+
+public String[] getTokenizedProperty(String key, + String separator)+
+
+
key
- property key to retrieve valuesseparator
- String with all separator characters to tokenize from the values in all
+ properties files.
++public String[] getProperty(String key)+
+
+
key
- property key to retrieve values
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedGenerator + com.sun.syndication.io.impl.RSS090Generator ++
public class RSS090Generator
+Feed Generator for RSS 0.90 +
++ +
+
+Constructor Summary | +|
---|---|
+ |
+RSS090Generator()
+
++ |
+
+protected |
+RSS090Generator(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected void |
+addChannel(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+addImage(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+addItem(Item item,
+ org.jdom.Element parent,
+ int index)
+
++ |
+
+protected void |
+addItems(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+addTextInput(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+checkChannelConstraints(org.jdom.Element eChannel)
+
++ |
+
+protected void |
+checkImageConstraints(org.jdom.Element eImage)
+
++ |
+
+protected void |
+checkItemConstraints(org.jdom.Element eItem)
+
++ |
+
+protected void |
+checkItemsConstraints(org.jdom.Element parent)
+
++ |
+
+protected void |
+checkLength(org.jdom.Element parent,
+ String childName,
+ int minLen,
+ int maxLen)
+
++ |
+
+protected void |
+checkNotNullAndLength(org.jdom.Element parent,
+ String childName,
+ int minLen,
+ int maxLen)
+
++ |
+
+protected void |
+checkTextInputConstraints(org.jdom.Element eTextInput)
+
++ |
+
+protected org.jdom.Document |
+createDocument(org.jdom.Element root)
+
++ |
+
+protected org.jdom.Element |
+createRootElement(Channel channel)
+
++ |
+
+ org.jdom.Document |
+generate(WireFeed feed)
+
++ Creates an XML document (JDOM) for the given feed bean. |
+
+protected org.jdom.Element |
+generateSimpleElement(String name,
+ String value)
+
++ |
+
+protected org.jdom.Namespace |
+getContentNamespace()
+
++ |
+
+protected org.jdom.Namespace |
+getFeedNamespace()
+
++ |
+
+protected org.jdom.Namespace |
+getRDFNamespace()
+
++ |
+
+protected String |
+getTextInputLabel()
+
++ |
+
+protected void |
+populateChannel(Channel channel,
+ org.jdom.Element eChannel)
+
++ Populates the given channel with parsed data from the ROME element that holds the + channel data. |
+
+protected void |
+populateFeed(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+populateImage(Image image,
+ org.jdom.Element eImage)
+
++ |
+
+protected void |
+populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
+protected void |
+populateTextInput(TextInput textInput,
+ org.jdom.Element eTextInput)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedGenerator | +
---|
generateFeedModules, generateForeignMarkup, generateItemModules, generateModuleNamespaceDefs, generatePersonModules, getType, purgeUnusedNamespaceDeclarations |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS090Generator()+
+protected RSS090Generator(String type)+
+Method Detail | +
---|
+public org.jdom.Document generate(WireFeed feed) + throws FeedException+
WireFeedGenerator
+
+
feed
- the feed bean to generate the XML document from.
+FeedException
- thrown if the XML Document could not be created.+protected org.jdom.Namespace getFeedNamespace()+
+protected org.jdom.Namespace getRDFNamespace()+
+protected org.jdom.Namespace getContentNamespace()+
+protected org.jdom.Document createDocument(org.jdom.Element root)+
+protected org.jdom.Element createRootElement(Channel channel)+
+protected void populateFeed(Channel channel, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void addChannel(Channel channel, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void populateChannel(Channel channel, + org.jdom.Element eChannel)+
+
channel
- the channel into which parsed data will be added.eChannel
- the XML element that holds the data for the channel.+protected void checkNotNullAndLength(org.jdom.Element parent, + String childName, + int minLen, + int maxLen) + throws FeedException+
FeedException
+protected void checkLength(org.jdom.Element parent, + String childName, + int minLen, + int maxLen) + throws FeedException+
FeedException
+protected void addImage(Channel channel, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void populateImage(Image image, + org.jdom.Element eImage)+
+protected String getTextInputLabel()+
+protected void addTextInput(Channel channel, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void populateTextInput(TextInput textInput, + org.jdom.Element eTextInput)+
+protected void addItems(Channel channel, + org.jdom.Element parent) + throws FeedException+
FeedException
+protected void addItem(Item item, + org.jdom.Element parent, + int index) + throws FeedException+
FeedException
+protected void populateItem(Item item, + org.jdom.Element eItem, + int index)+
+protected org.jdom.Element generateSimpleElement(String name, + String value)+
+protected void checkChannelConstraints(org.jdom.Element eChannel) + throws FeedException+
FeedException
+protected void checkImageConstraints(org.jdom.Element eImage) + throws FeedException+
FeedException
+protected void checkTextInputConstraints(org.jdom.Element eTextInput) + throws FeedException+
FeedException
+protected void checkItemsConstraints(org.jdom.Element parent) + throws FeedException+
FeedException
+protected void checkItemConstraints(org.jdom.Element eItem) + throws FeedException+
FeedException
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser + com.sun.syndication.io.impl.RSS090Parser ++
public class RSS090Parser
+
+Constructor Summary | +|
---|---|
+ |
+RSS090Parser()
+
++ |
+
+protected |
+RSS090Parser(String type,
+ org.jdom.Namespace ns)
+
++ |
+
+Method Summary | +|
---|---|
+protected org.jdom.Namespace |
+getContentNamespace()
+
++ Returns the namespace used by Content Module elements in document. |
+
+protected org.jdom.Element |
+getImage(org.jdom.Element rssRoot)
+
++ This method exists because RSS0.90 and RSS1.0 have the 'image' element under the root elemment. |
+
+protected List |
+getItems(org.jdom.Element rssRoot)
+
++ This method exists because RSS0.90 and RSS1.0 have the 'item' elements under the root elemment. |
+
+protected org.jdom.Namespace |
+getRDFNamespace()
+
++ Returns the namespace used by RDF elements in document of the RSS version the parser supports. |
+
+protected org.jdom.Namespace |
+getRSSNamespace()
+
++ Returns the namespace used by RSS elements in document of the RSS version the parser supports. |
+
+protected org.jdom.Element |
+getTextInput(org.jdom.Element rssRoot)
+
++ This method exists because RSS0.90 and RSS1.0 have the 'textinput' element under the root elemment. |
+
+ boolean |
+isMyType(org.jdom.Document document)
+
++ Inspects an XML Document (JDOM) to check if it can parse it. |
+
+ WireFeed |
+parse(org.jdom.Document document,
+ boolean validate)
+
++ Parses an XML document (JDOM Document) into a feed bean. |
+
+protected WireFeed |
+parseChannel(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document into a Channel bean. |
+
+protected Image |
+parseImage(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document looking for image information. |
+
+protected Item |
+parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ Parses an item element of an RSS document looking for item information. |
+
+protected List |
+parseItems(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document looking for all items information. |
+
+protected TextInput |
+parseTextInput(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document looking for text-input information. |
+
+protected void |
+validateFeed(org.jdom.Document document)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedParser | +
---|
extractForeignMarkup, getAttribute, getAttributeValue, getType, parseFeedModules, parseItemModules, parsePersonModules |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS090Parser()+
+protected RSS090Parser(String type, + org.jdom.Namespace ns)+
+Method Detail | +
---|
+public boolean isMyType(org.jdom.Document document)+
WireFeedParser
+ It checks if the given document if the type of feeds the parser understands. +
+
+
document
- XML Document (JDOM) to check if it can be parsed by this parser.
++public WireFeed parse(org.jdom.Document document, + boolean validate) + throws IllegalArgumentException, + FeedException+
WireFeedParser
+
+
document
- XML document (JDOM) to parse.validate
- indicates if the feed should be strictly validated (NOT YET IMPLEMENTED).
+IllegalArgumentException
- thrown if the parser cannot handle the given feed type.
+FeedException
- thrown if a feed bean cannot be created out of the XML document (JDOM).+protected void validateFeed(org.jdom.Document document) + throws FeedException+
FeedException
+protected org.jdom.Namespace getRSSNamespace()+
+ This implementation returns the EMTPY namespace. +
+
+
+protected org.jdom.Namespace getRDFNamespace()+
+ This implementation returns the EMTPY namespace. +
+
+
+protected org.jdom.Namespace getContentNamespace()+
+ This implementation returns the EMTPY namespace. +
+
+
+protected WireFeed parseChannel(org.jdom.Element rssRoot)+
+
rssRoot
- the root element of the RSS document to parse.
++protected List getItems(org.jdom.Element rssRoot)+
+
+protected org.jdom.Element getImage(org.jdom.Element rssRoot)+
+
+protected org.jdom.Element getTextInput(org.jdom.Element rssRoot)+
+
+protected Image parseImage(org.jdom.Element rssRoot)+
+
rssRoot
- the root element of the RSS document to parse for image information.
++protected List parseItems(org.jdom.Element rssRoot)+
+
rssRoot
- the root element of the RSS document to parse for all items information.
++protected Item parseItem(org.jdom.Element rssRoot, + org.jdom.Element eItem)+
+
rssRoot
- the root element of the RSS document in case it's needed for context.eItem
- the item element to parse.
++protected TextInput parseTextInput(org.jdom.Element rssRoot)+
+
rssRoot
- the root element of the RSS document to parse for text-input information.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedGenerator + com.sun.syndication.io.impl.RSS090Generator + com.sun.syndication.io.impl.RSS091UserlandGenerator + com.sun.syndication.io.impl.RSS091NetscapeGenerator ++
public class RSS091NetscapeGenerator
+Feed Generator for RSS 0.91 +
++ +
+
+Constructor Summary | +|
---|---|
+ |
+RSS091NetscapeGenerator()
+
++ |
+
+protected |
+RSS091NetscapeGenerator(String type,
+ String version)
+
++ |
+
+Method Summary | +|
---|---|
+protected org.jdom.Document |
+createDocument(org.jdom.Element root)
+
++ |
+
+protected String |
+getTextInputLabel()
+
++ |
+
+protected boolean |
+isHourFormat24()
+
++ To be overriden by RSS 0.91 Netscape and RSS 0.94 |
+
Methods inherited from class com.sun.syndication.io.impl.RSS091UserlandGenerator | +
---|
addChannel, checkChannelConstraints, checkImageConstraints, checkItemConstraints, checkTextInputConstraints, createRootElement, generateSkipDaysElement, generateSkipHoursElement, getFeedNamespace, getVersion, populateChannel, populateFeed, populateImage, populateItem |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Generator | +
---|
addImage, addItem, addItems, addTextInput, checkItemsConstraints, checkLength, checkNotNullAndLength, generate, generateSimpleElement, getContentNamespace, getRDFNamespace, populateTextInput |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedGenerator | +
---|
generateFeedModules, generateForeignMarkup, generateItemModules, generateModuleNamespaceDefs, generatePersonModules, getType, purgeUnusedNamespaceDeclarations |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS091NetscapeGenerator()+
+protected RSS091NetscapeGenerator(String type, + String version)+
+Method Detail | +
---|
+protected org.jdom.Document createDocument(org.jdom.Element root)+
createDocument
in class RSS091UserlandGenerator
+protected String getTextInputLabel()+
getTextInputLabel
in class RSS090Generator
+protected boolean isHourFormat24()+
+
isHourFormat24
in class RSS091UserlandGenerator
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser + com.sun.syndication.io.impl.RSS090Parser + com.sun.syndication.io.impl.RSS091UserlandParser + com.sun.syndication.io.impl.RSS091NetscapeParser ++
public class RSS091NetscapeParser
+
+Constructor Summary | +|
---|---|
+ |
+RSS091NetscapeParser()
+
++ |
+
+protected |
+RSS091NetscapeParser(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected String |
+getTextInputLabel()
+
++ To be overriden by RSS 0.91 Netscape parser |
+
+protected boolean |
+isHourFormat24(org.jdom.Element rssRoot)
+
++ To be overriden by RSS 0.91 Netscape and RSS 0.94 |
+
+ boolean |
+isMyType(org.jdom.Document document)
+
++ Inspects an XML Document (JDOM) to check if it can parse it. |
+
Methods inherited from class com.sun.syndication.io.impl.RSS091UserlandParser | +
---|
getImage, getItems, getRSSNamespace, getRSSVersion, getTextInput, parseChannel, parseImage, parseItem, parseItemDescription |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Parser | +
---|
getContentNamespace, getRDFNamespace, parse, parseItems, parseTextInput, validateFeed |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedParser | +
---|
extractForeignMarkup, getAttribute, getAttributeValue, getType, parseFeedModules, parseItemModules, parsePersonModules |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS091NetscapeParser()+
+protected RSS091NetscapeParser(String type)+
+Method Detail | +
---|
+public boolean isMyType(org.jdom.Document document)+
WireFeedParser
+ It checks if the given document if the type of feeds the parser understands. +
+
+
isMyType
in interface WireFeedParser
isMyType
in class RSS091UserlandParser
document
- XML Document (JDOM) to check if it can be parsed by this parser.
++protected boolean isHourFormat24(org.jdom.Element rssRoot)+
RSS091UserlandParser
+
isHourFormat24
in class RSS091UserlandParser
+protected String getTextInputLabel()+
RSS091UserlandParser
+
getTextInputLabel
in class RSS091UserlandParser
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedGenerator + com.sun.syndication.io.impl.RSS090Generator + com.sun.syndication.io.impl.RSS091UserlandGenerator ++
public class RSS091UserlandGenerator
+Feed Generator for RSS 0.91 +
++ +
+
+Constructor Summary | +|
---|---|
+ |
+RSS091UserlandGenerator()
+
++ |
+
+protected |
+RSS091UserlandGenerator(String type,
+ String version)
+
++ |
+
+Method Summary | +|
---|---|
+protected void |
+addChannel(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+checkChannelConstraints(org.jdom.Element eChannel)
+
++ |
+
+protected void |
+checkImageConstraints(org.jdom.Element eImage)
+
++ |
+
+protected void |
+checkItemConstraints(org.jdom.Element eItem)
+
++ |
+
+protected void |
+checkTextInputConstraints(org.jdom.Element eTextInput)
+
++ |
+
+protected org.jdom.Document |
+createDocument(org.jdom.Element root)
+
++ |
+
+protected org.jdom.Element |
+createRootElement(Channel channel)
+
++ |
+
+protected org.jdom.Element |
+generateSkipDaysElement(List days)
+
++ |
+
+protected org.jdom.Element |
+generateSkipHoursElement(List hours)
+
++ |
+
+protected org.jdom.Namespace |
+getFeedNamespace()
+
++ |
+
+protected String |
+getVersion()
+
++ |
+
+protected boolean |
+isHourFormat24()
+
++ To be overriden by RSS 0.91 Netscape and RSS 0.94 |
+
+protected void |
+populateChannel(Channel channel,
+ org.jdom.Element eChannel)
+
++ Populates the given channel with parsed data from the ROME element that holds the + channel data. |
+
+protected void |
+populateFeed(Channel channel,
+ org.jdom.Element parent)
+
++ |
+
+protected void |
+populateImage(Image image,
+ org.jdom.Element eImage)
+
++ |
+
+protected void |
+populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Generator | +
---|
addImage, addItem, addItems, addTextInput, checkItemsConstraints, checkLength, checkNotNullAndLength, generate, generateSimpleElement, getContentNamespace, getRDFNamespace, getTextInputLabel, populateTextInput |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedGenerator | +
---|
generateFeedModules, generateForeignMarkup, generateItemModules, generateModuleNamespaceDefs, generatePersonModules, getType, purgeUnusedNamespaceDeclarations |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS091UserlandGenerator()+
+protected RSS091UserlandGenerator(String type, + String version)+
+Method Detail | +
---|
+protected org.jdom.Namespace getFeedNamespace()+
getFeedNamespace
in class RSS090Generator
+protected boolean isHourFormat24()+
+
+protected String getVersion()+
+protected void addChannel(Channel channel, + org.jdom.Element parent) + throws FeedException+
addChannel
in class RSS090Generator
FeedException
+protected void checkChannelConstraints(org.jdom.Element eChannel) + throws FeedException+
checkChannelConstraints
in class RSS090Generator
FeedException
+protected void checkImageConstraints(org.jdom.Element eImage) + throws FeedException+
checkImageConstraints
in class RSS090Generator
FeedException
+protected void checkItemConstraints(org.jdom.Element eItem) + throws FeedException+
checkItemConstraints
in class RSS090Generator
FeedException
+protected void checkTextInputConstraints(org.jdom.Element eTextInput) + throws FeedException+
checkTextInputConstraints
in class RSS090Generator
FeedException
+protected org.jdom.Document createDocument(org.jdom.Element root)+
createDocument
in class RSS090Generator
+protected org.jdom.Element createRootElement(Channel channel)+
createRootElement
in class RSS090Generator
+protected org.jdom.Element generateSkipDaysElement(List days)+
+protected org.jdom.Element generateSkipHoursElement(List hours)+
+protected void populateChannel(Channel channel, + org.jdom.Element eChannel)+
RSS090Generator
+
populateChannel
in class RSS090Generator
channel
- the channel into which parsed data will be added.eChannel
- the XML element that holds the data for the channel.+protected void populateFeed(Channel channel, + org.jdom.Element parent) + throws FeedException+
populateFeed
in class RSS090Generator
FeedException
+protected void populateImage(Image image, + org.jdom.Element eImage)+
populateImage
in class RSS090Generator
+protected void populateItem(Item item, + org.jdom.Element eItem, + int index)+
populateItem
in class RSS090Generator
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser + com.sun.syndication.io.impl.RSS090Parser + com.sun.syndication.io.impl.RSS091UserlandParser ++
public class RSS091UserlandParser
+
+Constructor Summary | +|
---|---|
+ |
+RSS091UserlandParser()
+
++ |
+
+protected |
+RSS091UserlandParser(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected org.jdom.Element |
+getImage(org.jdom.Element rssRoot)
+
++ It looks for the 'image' elements under the 'channel' elemment. |
+
+protected List |
+getItems(org.jdom.Element rssRoot)
+
++ It looks for the 'item' elements under the 'channel' elemment. |
+
+protected org.jdom.Namespace |
+getRSSNamespace()
+
++ Returns the namespace used by RSS elements in document of the RSS version the parser supports. |
+
+protected String |
+getRSSVersion()
+
++ |
+
+protected org.jdom.Element |
+getTextInput(org.jdom.Element rssRoot)
+
++ It looks for the 'textinput' elements under the 'channel' elemment. |
+
+protected String |
+getTextInputLabel()
+
++ To be overriden by RSS 0.91 Netscape parser |
+
+protected boolean |
+isHourFormat24(org.jdom.Element rssRoot)
+
++ To be overriden by RSS 0.91 Netscape and RSS 0.94 |
+
+ boolean |
+isMyType(org.jdom.Document document)
+
++ Inspects an XML Document (JDOM) to check if it can parse it. |
+
+protected WireFeed |
+parseChannel(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document into a Channel bean. |
+
+protected Image |
+parseImage(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document looking for image information. |
+
+protected Item |
+parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ Parses an item element of an RSS document looking for item information. |
+
+protected Description |
+parseItemDescription(org.jdom.Element rssRoot,
+ org.jdom.Element eDesc)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Parser | +
---|
getContentNamespace, getRDFNamespace, parse, parseItems, parseTextInput, validateFeed |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedParser | +
---|
extractForeignMarkup, getAttribute, getAttributeValue, getType, parseFeedModules, parseItemModules, parsePersonModules |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS091UserlandParser()+
+protected RSS091UserlandParser(String type)+
+Method Detail | +
---|
+public boolean isMyType(org.jdom.Document document)+
WireFeedParser
+ It checks if the given document if the type of feeds the parser understands. +
+
+
isMyType
in interface WireFeedParser
isMyType
in class RSS090Parser
document
- XML Document (JDOM) to check if it can be parsed by this parser.
++protected String getRSSVersion()+
+protected org.jdom.Namespace getRSSNamespace()+
RSS090Parser
+ This implementation returns the EMTPY namespace. +
+
+
getRSSNamespace
in class RSS090Parser
+protected boolean isHourFormat24(org.jdom.Element rssRoot)+
+
+protected WireFeed parseChannel(org.jdom.Element rssRoot)+
+
parseChannel
in class RSS090Parser
rssRoot
- the root element of the RSS document to parse.
++protected Image parseImage(org.jdom.Element rssRoot)+
+
parseImage
in class RSS090Parser
rssRoot
- the root element of the RSS document to parse for image information.
++protected List getItems(org.jdom.Element rssRoot)+
+
getItems
in class RSS090Parser
+protected org.jdom.Element getImage(org.jdom.Element rssRoot)+
+
getImage
in class RSS090Parser
+protected String getTextInputLabel()+
+
+protected org.jdom.Element getTextInput(org.jdom.Element rssRoot)+
+
getTextInput
in class RSS090Parser
+protected Item parseItem(org.jdom.Element rssRoot, + org.jdom.Element eItem)+
+
parseItem
in class RSS090Parser
rssRoot
- the root element of the RSS document in case it's needed for context.eItem
- the item element to parse.
++protected Description parseItemDescription(org.jdom.Element rssRoot, + org.jdom.Element eDesc)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedGenerator + com.sun.syndication.io.impl.RSS090Generator + com.sun.syndication.io.impl.RSS091UserlandGenerator + com.sun.syndication.io.impl.RSS092Generator ++
public class RSS092Generator
+Feed Generator for RSS 0.92 +
++ +
+
+Constructor Summary | +|
---|---|
+ |
+RSS092Generator()
+
++ |
+
+protected |
+RSS092Generator(String type,
+ String version)
+
++ |
+
+Method Summary | +|
---|---|
+protected void |
+checkChannelConstraints(org.jdom.Element eChannel)
+
++ |
+
+protected void |
+checkImageConstraints(org.jdom.Element eImage)
+
++ |
+
+protected void |
+checkItemConstraints(org.jdom.Element eItem)
+
++ |
+
+protected void |
+checkItemsConstraints(org.jdom.Element parent)
+
++ |
+
+protected void |
+checkTextInputConstraints(org.jdom.Element eTextInput)
+
++ |
+
+protected org.jdom.Element |
+generateCategoryElement(Category category)
+
++ |
+
+protected org.jdom.Element |
+generateCloud(Cloud cloud)
+
++ |
+
+protected org.jdom.Element |
+generateEnclosure(Enclosure enclosure)
+
++ |
+
+protected org.jdom.Element |
+generateSourceElement(Source source)
+
++ |
+
+protected int |
+getNumberOfEnclosures(List enclosures)
+
++ |
+
+protected void |
+populateChannel(Channel channel,
+ org.jdom.Element eChannel)
+
++ Populates the given channel with parsed data from the ROME element that holds the + channel data. |
+
+protected void |
+populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.RSS091UserlandGenerator | +
---|
addChannel, createDocument, createRootElement, generateSkipDaysElement, generateSkipHoursElement, getFeedNamespace, getVersion, isHourFormat24, populateFeed, populateImage |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Generator | +
---|
addImage, addItem, addItems, addTextInput, checkLength, checkNotNullAndLength, generate, generateSimpleElement, getContentNamespace, getRDFNamespace, getTextInputLabel, populateTextInput |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedGenerator | +
---|
generateFeedModules, generateForeignMarkup, generateItemModules, generateModuleNamespaceDefs, generatePersonModules, getType, purgeUnusedNamespaceDeclarations |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS092Generator()+
+protected RSS092Generator(String type, + String version)+
+Method Detail | +
---|
+protected void populateChannel(Channel channel, + org.jdom.Element eChannel)+
RSS090Generator
+
populateChannel
in class RSS091UserlandGenerator
channel
- the channel into which parsed data will be added.eChannel
- the XML element that holds the data for the channel.+protected org.jdom.Element generateCloud(Cloud cloud)+
+protected int getNumberOfEnclosures(List enclosures)+
+protected void populateItem(Item item, + org.jdom.Element eItem, + int index)+
populateItem
in class RSS091UserlandGenerator
+protected org.jdom.Element generateSourceElement(Source source)+
+protected org.jdom.Element generateEnclosure(Enclosure enclosure)+
+protected org.jdom.Element generateCategoryElement(Category category)+
+protected void checkChannelConstraints(org.jdom.Element eChannel) + throws FeedException+
checkChannelConstraints
in class RSS091UserlandGenerator
FeedException
+protected void checkImageConstraints(org.jdom.Element eImage) + throws FeedException+
checkImageConstraints
in class RSS091UserlandGenerator
FeedException
+protected void checkTextInputConstraints(org.jdom.Element eTextInput) + throws FeedException+
checkTextInputConstraints
in class RSS091UserlandGenerator
FeedException
+protected void checkItemsConstraints(org.jdom.Element parent) + throws FeedException+
checkItemsConstraints
in class RSS090Generator
FeedException
+protected void checkItemConstraints(org.jdom.Element eItem) + throws FeedException+
checkItemConstraints
in class RSS091UserlandGenerator
FeedException
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser + com.sun.syndication.io.impl.RSS090Parser + com.sun.syndication.io.impl.RSS091UserlandParser + com.sun.syndication.io.impl.RSS092Parser ++
public class RSS092Parser
+
+Constructor Summary | +|
---|---|
+ |
+RSS092Parser()
+
++ |
+
+protected |
+RSS092Parser(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected String |
+getRSSVersion()
+
++ |
+
+protected List |
+parseCategories(List eCats)
+
++ |
+
+protected WireFeed |
+parseChannel(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document into a Channel bean. |
+
+protected Item |
+parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ Parses an item element of an RSS document looking for item information. |
+
+protected Description |
+parseItemDescription(org.jdom.Element rssRoot,
+ org.jdom.Element eDesc)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.RSS091UserlandParser | +
---|
getImage, getItems, getRSSNamespace, getTextInput, getTextInputLabel, isHourFormat24, isMyType, parseImage |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Parser | +
---|
getContentNamespace, getRDFNamespace, parse, parseItems, parseTextInput, validateFeed |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedParser | +
---|
extractForeignMarkup, getAttribute, getAttributeValue, getType, parseFeedModules, parseItemModules, parsePersonModules |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS092Parser()+
+protected RSS092Parser(String type)+
+Method Detail | +
---|
+protected String getRSSVersion()+
getRSSVersion
in class RSS091UserlandParser
+protected WireFeed parseChannel(org.jdom.Element rssRoot)+
RSS091UserlandParser
+
parseChannel
in class RSS091UserlandParser
rssRoot
- the root element of the RSS document to parse.
++protected Item parseItem(org.jdom.Element rssRoot, + org.jdom.Element eItem)+
RSS091UserlandParser
+
parseItem
in class RSS091UserlandParser
rssRoot
- the root element of the RSS document in case it's needed for context.eItem
- the item element to parse.
++protected List parseCategories(List eCats)+
+protected Description parseItemDescription(org.jdom.Element rssRoot, + org.jdom.Element eDesc)+
parseItemDescription
in class RSS091UserlandParser
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedGenerator + com.sun.syndication.io.impl.RSS090Generator + com.sun.syndication.io.impl.RSS091UserlandGenerator + com.sun.syndication.io.impl.RSS092Generator + com.sun.syndication.io.impl.RSS093Generator ++
public class RSS093Generator
+Feed Generator for RSS 0.93 +
++ +
+
+Constructor Summary | +|
---|---|
+ |
+RSS093Generator()
+
++ |
+
+protected |
+RSS093Generator(String feedType,
+ String version)
+
++ |
+
+Method Summary | +|
---|---|
+protected int |
+getNumberOfEnclosures(List enclosures)
+
++ |
+
+protected void |
+populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.RSS092Generator | +
---|
checkChannelConstraints, checkImageConstraints, checkItemConstraints, checkItemsConstraints, checkTextInputConstraints, generateCategoryElement, generateCloud, generateEnclosure, generateSourceElement, populateChannel |
+
Methods inherited from class com.sun.syndication.io.impl.RSS091UserlandGenerator | +
---|
addChannel, createDocument, createRootElement, generateSkipDaysElement, generateSkipHoursElement, getFeedNamespace, getVersion, isHourFormat24, populateFeed, populateImage |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Generator | +
---|
addImage, addItem, addItems, addTextInput, checkLength, checkNotNullAndLength, generate, generateSimpleElement, getContentNamespace, getRDFNamespace, getTextInputLabel, populateTextInput |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedGenerator | +
---|
generateFeedModules, generateForeignMarkup, generateItemModules, generateModuleNamespaceDefs, generatePersonModules, getType, purgeUnusedNamespaceDeclarations |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS093Generator()+
+protected RSS093Generator(String feedType, + String version)+
+Method Detail | +
---|
+protected void populateItem(Item item, + org.jdom.Element eItem, + int index)+
populateItem
in class RSS092Generator
+protected int getNumberOfEnclosures(List enclosures)+
getNumberOfEnclosures
in class RSS092Generator
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser + com.sun.syndication.io.impl.RSS090Parser + com.sun.syndication.io.impl.RSS091UserlandParser + com.sun.syndication.io.impl.RSS092Parser + com.sun.syndication.io.impl.RSS093Parser ++
public class RSS093Parser
+
+Constructor Summary | +|
---|---|
+ |
+RSS093Parser()
+
++ |
+
+protected |
+RSS093Parser(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected String |
+getRSSVersion()
+
++ |
+
+protected Item |
+parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ Parses an item element of an RSS document looking for item information. |
+
Methods inherited from class com.sun.syndication.io.impl.RSS092Parser | +
---|
parseCategories, parseChannel, parseItemDescription |
+
Methods inherited from class com.sun.syndication.io.impl.RSS091UserlandParser | +
---|
getImage, getItems, getRSSNamespace, getTextInput, getTextInputLabel, isHourFormat24, isMyType, parseImage |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Parser | +
---|
getContentNamespace, getRDFNamespace, parse, parseItems, parseTextInput, validateFeed |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedParser | +
---|
extractForeignMarkup, getAttribute, getAttributeValue, getType, parseFeedModules, parseItemModules, parsePersonModules |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS093Parser()+
+protected RSS093Parser(String type)+
+Method Detail | +
---|
+protected String getRSSVersion()+
getRSSVersion
in class RSS092Parser
+protected Item parseItem(org.jdom.Element rssRoot, + org.jdom.Element eItem)+
RSS091UserlandParser
+
parseItem
in class RSS092Parser
rssRoot
- the root element of the RSS document in case it's needed for context.eItem
- the item element to parse.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedGenerator + com.sun.syndication.io.impl.RSS090Generator + com.sun.syndication.io.impl.RSS091UserlandGenerator + com.sun.syndication.io.impl.RSS092Generator + com.sun.syndication.io.impl.RSS093Generator + com.sun.syndication.io.impl.RSS094Generator ++
public class RSS094Generator
+Feed Generator for RSS 0.94 +
++ +
+
+Constructor Summary | +|
---|---|
+ |
+RSS094Generator()
+
++ |
+
+protected |
+RSS094Generator(String feedType,
+ String version)
+
++ |
+
+Method Summary | +|
---|---|
+protected void |
+populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.RSS093Generator | +
---|
getNumberOfEnclosures |
+
Methods inherited from class com.sun.syndication.io.impl.RSS092Generator | +
---|
checkChannelConstraints, checkImageConstraints, checkItemConstraints, checkItemsConstraints, checkTextInputConstraints, generateCategoryElement, generateCloud, generateEnclosure, generateSourceElement, populateChannel |
+
Methods inherited from class com.sun.syndication.io.impl.RSS091UserlandGenerator | +
---|
addChannel, createDocument, createRootElement, generateSkipDaysElement, generateSkipHoursElement, getFeedNamespace, getVersion, isHourFormat24, populateFeed, populateImage |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Generator | +
---|
addImage, addItem, addItems, addTextInput, checkLength, checkNotNullAndLength, generate, generateSimpleElement, getContentNamespace, getRDFNamespace, getTextInputLabel, populateTextInput |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedGenerator | +
---|
generateFeedModules, generateForeignMarkup, generateItemModules, generateModuleNamespaceDefs, generatePersonModules, getType, purgeUnusedNamespaceDeclarations |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS094Generator()+
+protected RSS094Generator(String feedType, + String version)+
+Method Detail | +
---|
+protected void populateItem(Item item, + org.jdom.Element eItem, + int index)+
populateItem
in class RSS093Generator
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser + com.sun.syndication.io.impl.RSS090Parser + com.sun.syndication.io.impl.RSS091UserlandParser + com.sun.syndication.io.impl.RSS092Parser + com.sun.syndication.io.impl.RSS093Parser + com.sun.syndication.io.impl.RSS094Parser ++
public class RSS094Parser
+
+Constructor Summary | +|
---|---|
+ |
+RSS094Parser()
+
++ |
+
+protected |
+RSS094Parser(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected String |
+getRSSVersion()
+
++ |
+
+protected WireFeed |
+parseChannel(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document into a Channel bean. |
+
+ Item |
+parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ Parses an item element of an RSS document looking for item information. |
+
+protected Description |
+parseItemDescription(org.jdom.Element rssRoot,
+ org.jdom.Element eDesc)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.RSS092Parser | +
---|
parseCategories |
+
Methods inherited from class com.sun.syndication.io.impl.RSS091UserlandParser | +
---|
getImage, getItems, getRSSNamespace, getTextInput, getTextInputLabel, isHourFormat24, isMyType, parseImage |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Parser | +
---|
getContentNamespace, getRDFNamespace, parse, parseItems, parseTextInput, validateFeed |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedParser | +
---|
extractForeignMarkup, getAttribute, getAttributeValue, getType, parseFeedModules, parseItemModules, parsePersonModules |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS094Parser()+
+protected RSS094Parser(String type)+
+Method Detail | +
---|
+protected String getRSSVersion()+
getRSSVersion
in class RSS093Parser
+protected WireFeed parseChannel(org.jdom.Element rssRoot)+
RSS091UserlandParser
+
parseChannel
in class RSS092Parser
rssRoot
- the root element of the RSS document to parse.
++public Item parseItem(org.jdom.Element rssRoot, + org.jdom.Element eItem)+
RSS091UserlandParser
+
parseItem
in class RSS093Parser
rssRoot
- the root element of the RSS document in case it's needed for context.eItem
- the item element to parse.
++protected Description parseItemDescription(org.jdom.Element rssRoot, + org.jdom.Element eDesc)+
parseItemDescription
in class RSS092Parser
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedGenerator + com.sun.syndication.io.impl.RSS090Generator + com.sun.syndication.io.impl.RSS10Generator ++
public class RSS10Generator
+Feed Generator for RSS 1.0 +
++ +
+
+Constructor Summary | +|
---|---|
+ |
+RSS10Generator()
+
++ |
+
+protected |
+RSS10Generator(String feedType)
+
++ |
+
+Method Summary | +|
---|---|
+protected void |
+checkChannelConstraints(org.jdom.Element eChannel)
+
++ |
+
+protected void |
+checkImageConstraints(org.jdom.Element eImage)
+
++ |
+
+protected void |
+checkItemConstraints(org.jdom.Element eItem)
+
++ |
+
+protected void |
+checkItemsConstraints(org.jdom.Element parent)
+
++ |
+
+protected void |
+checkTextInputConstraints(org.jdom.Element eTextInput)
+
++ |
+
+protected org.jdom.Namespace |
+getFeedNamespace()
+
++ |
+
+protected void |
+populateChannel(Channel channel,
+ org.jdom.Element eChannel)
+
++ Populates the given channel with parsed data from the ROME element that holds the + channel data. |
+
+protected void |
+populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Generator | +
---|
addChannel, addImage, addItem, addItems, addTextInput, checkLength, checkNotNullAndLength, createDocument, createRootElement, generate, generateSimpleElement, getContentNamespace, getRDFNamespace, getTextInputLabel, populateFeed, populateImage, populateTextInput |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedGenerator | +
---|
generateFeedModules, generateForeignMarkup, generateItemModules, generateModuleNamespaceDefs, generatePersonModules, getType, purgeUnusedNamespaceDeclarations |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS10Generator()+
+protected RSS10Generator(String feedType)+
+Method Detail | +
---|
+protected org.jdom.Namespace getFeedNamespace()+
getFeedNamespace
in class RSS090Generator
+protected void populateChannel(Channel channel, + org.jdom.Element eChannel)+
RSS090Generator
+
populateChannel
in class RSS090Generator
channel
- the channel into which parsed data will be added.eChannel
- the XML element that holds the data for the channel.+protected void populateItem(Item item, + org.jdom.Element eItem, + int index)+
populateItem
in class RSS090Generator
+protected void checkChannelConstraints(org.jdom.Element eChannel) + throws FeedException+
checkChannelConstraints
in class RSS090Generator
FeedException
+protected void checkImageConstraints(org.jdom.Element eImage) + throws FeedException+
checkImageConstraints
in class RSS090Generator
FeedException
+protected void checkTextInputConstraints(org.jdom.Element eTextInput) + throws FeedException+
checkTextInputConstraints
in class RSS090Generator
FeedException
+protected void checkItemsConstraints(org.jdom.Element parent) + throws FeedException+
checkItemsConstraints
in class RSS090Generator
FeedException
+protected void checkItemConstraints(org.jdom.Element eItem) + throws FeedException+
checkItemConstraints
in class RSS090Generator
FeedException
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser + com.sun.syndication.io.impl.RSS090Parser + com.sun.syndication.io.impl.RSS10Parser ++
public class RSS10Parser
+
+Constructor Summary | +|
---|---|
+ |
+RSS10Parser()
+
++ |
+
+protected |
+RSS10Parser(String type,
+ org.jdom.Namespace ns)
+
++ |
+
+Method Summary | +|
---|---|
+protected org.jdom.Namespace |
+getRSSNamespace()
+
++ Returns the namespace used by RSS elements in document of the RSS 1.0 + |
+
+ boolean |
+isMyType(org.jdom.Document document)
+
++ Indicates if a JDom document is an RSS instance that can be parsed with the parser. |
+
+protected WireFeed |
+parseChannel(org.jdom.Element rssRoot)
+
++ Parses the root element of an RSS document into a Channel bean. |
+
+protected Item |
+parseItem(org.jdom.Element rssRoot,
+ org.jdom.Element eItem)
+
++ Parses an item element of an RSS document looking for item information. |
+
+protected Description |
+parseItemDescription(org.jdom.Element rssRoot,
+ org.jdom.Element eDesc)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Parser | +
---|
getContentNamespace, getImage, getItems, getRDFNamespace, getTextInput, parse, parseImage, parseItems, parseTextInput, validateFeed |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedParser | +
---|
extractForeignMarkup, getAttribute, getAttributeValue, getType, parseFeedModules, parseItemModules, parsePersonModules |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS10Parser()+
+protected RSS10Parser(String type, + org.jdom.Namespace ns)+
+Method Detail | +
---|
+public boolean isMyType(org.jdom.Document document)+
+
isMyType
in interface WireFeedParser
isMyType
in class RSS090Parser
document
- document to check if it can be parsed with this parser implementation.
++protected org.jdom.Namespace getRSSNamespace()+
+
+
getRSSNamespace
in class RSS090Parser
+protected Item parseItem(org.jdom.Element rssRoot, + org.jdom.Element eItem)+
+
parseItem
in class RSS090Parser
rssRoot
- the root element of the RSS document in case it's needed for context.eItem
- the item element to parse.
++protected WireFeed parseChannel(org.jdom.Element rssRoot)+
RSS090Parser
+
parseChannel
in class RSS090Parser
rssRoot
- the root element of the RSS document to parse.
++protected Description parseItemDescription(org.jdom.Element rssRoot, + org.jdom.Element eDesc)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedGenerator + com.sun.syndication.io.impl.RSS090Generator + com.sun.syndication.io.impl.RSS091UserlandGenerator + com.sun.syndication.io.impl.RSS092Generator + com.sun.syndication.io.impl.RSS093Generator + com.sun.syndication.io.impl.RSS094Generator + com.sun.syndication.io.impl.RSS20Generator ++
public class RSS20Generator
+Feed Generator for RSS 2.0 +
++ +
+
+Constructor Summary | +|
---|---|
+ |
+RSS20Generator()
+
++ |
+
+protected |
+RSS20Generator(String feedType,
+ String version)
+
++ |
+
+Method Summary | +|
---|---|
+protected void |
+populateChannel(Channel channel,
+ org.jdom.Element eChannel)
+
++ Populates the given channel with parsed data from the ROME element that holds the + channel data. |
+
+ void |
+populateItem(Item item,
+ org.jdom.Element eItem,
+ int index)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.RSS093Generator | +
---|
getNumberOfEnclosures |
+
Methods inherited from class com.sun.syndication.io.impl.RSS092Generator | +
---|
checkChannelConstraints, checkImageConstraints, checkItemConstraints, checkItemsConstraints, checkTextInputConstraints, generateCategoryElement, generateCloud, generateEnclosure, generateSourceElement |
+
Methods inherited from class com.sun.syndication.io.impl.RSS091UserlandGenerator | +
---|
addChannel, createDocument, createRootElement, generateSkipDaysElement, generateSkipHoursElement, getFeedNamespace, getVersion, isHourFormat24, populateFeed, populateImage |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Generator | +
---|
addImage, addItem, addItems, addTextInput, checkLength, checkNotNullAndLength, generate, generateSimpleElement, getContentNamespace, getRDFNamespace, getTextInputLabel, populateTextInput |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedGenerator | +
---|
generateFeedModules, generateForeignMarkup, generateItemModules, generateModuleNamespaceDefs, generatePersonModules, getType, purgeUnusedNamespaceDeclarations |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS20Generator()+
+protected RSS20Generator(String feedType, + String version)+
+Method Detail | +
---|
+protected void populateChannel(Channel channel, + org.jdom.Element eChannel)+
RSS090Generator
+
populateChannel
in class RSS092Generator
channel
- the channel into which parsed data will be added.eChannel
- the XML element that holds the data for the channel.+public void populateItem(Item item, + org.jdom.Element eItem, + int index)+
populateItem
in class RSS094Generator
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser + com.sun.syndication.io.impl.RSS090Parser + com.sun.syndication.io.impl.RSS091UserlandParser + com.sun.syndication.io.impl.RSS092Parser + com.sun.syndication.io.impl.RSS093Parser + com.sun.syndication.io.impl.RSS094Parser + com.sun.syndication.io.impl.RSS20Parser ++
public class RSS20Parser
+
+Constructor Summary | +|
---|---|
+ |
+RSS20Parser()
+
++ |
+
+protected |
+RSS20Parser(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected String |
+getRSSVersion()
+
++ |
+
+protected boolean |
+isHourFormat24(org.jdom.Element rssRoot)
+
++ To be overriden by RSS 0.91 Netscape and RSS 0.94 |
+
+ boolean |
+isMyType(org.jdom.Document document)
+
++ Inspects an XML Document (JDOM) to check if it can parse it. |
+
+protected Description |
+parseItemDescription(org.jdom.Element rssRoot,
+ org.jdom.Element eDesc)
+
++ |
+
Methods inherited from class com.sun.syndication.io.impl.RSS094Parser | +
---|
parseChannel, parseItem |
+
Methods inherited from class com.sun.syndication.io.impl.RSS092Parser | +
---|
parseCategories |
+
Methods inherited from class com.sun.syndication.io.impl.RSS091UserlandParser | +
---|
getImage, getItems, getRSSNamespace, getTextInput, getTextInputLabel, parseImage |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Parser | +
---|
getContentNamespace, getRDFNamespace, parse, parseItems, parseTextInput, validateFeed |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedParser | +
---|
extractForeignMarkup, getAttribute, getAttributeValue, getType, parseFeedModules, parseItemModules, parsePersonModules |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS20Parser()+
+protected RSS20Parser(String type)+
+Method Detail | +
---|
+protected String getRSSVersion()+
getRSSVersion
in class RSS094Parser
+protected boolean isHourFormat24(org.jdom.Element rssRoot)+
RSS091UserlandParser
+
isHourFormat24
in class RSS091UserlandParser
+protected Description parseItemDescription(org.jdom.Element rssRoot, + org.jdom.Element eDesc)+
parseItemDescription
in class RSS094Parser
+public boolean isMyType(org.jdom.Document document)+
WireFeedParser
+ It checks if the given document if the type of feeds the parser understands. +
+
+
isMyType
in interface WireFeedParser
isMyType
in class RSS091UserlandParser
document
- XML Document (JDOM) to check if it can be parsed by this parser.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.BaseWireFeedParser + com.sun.syndication.io.impl.RSS090Parser + com.sun.syndication.io.impl.RSS091UserlandParser + com.sun.syndication.io.impl.RSS092Parser + com.sun.syndication.io.impl.RSS093Parser + com.sun.syndication.io.impl.RSS094Parser + com.sun.syndication.io.impl.RSS20Parser + com.sun.syndication.io.impl.RSS20wNSParser ++
public class RSS20wNSParser
+To address issue with certain feeds (brought up by Charles Miller): + + "During the debacle that was the rollout of RSS2.0, this namespace was tried, + and even appeared in Dave Winer's Scripting News feed for a while. It was + then withdrawn, but the wonderful thing about standards is the moment you + roll one out, even if it's marked as unfinished and subject to change, + someone will end up stuck with it forever." + + Note that there is not counter part on the generator, we only generate the final RSS2 +
+ +
+
+Constructor Summary | +|
---|---|
+ |
+RSS20wNSParser()
+
++ |
+
+protected |
+RSS20wNSParser(String type)
+
++ |
+
+Method Summary | +|
---|---|
+protected org.jdom.Namespace |
+getRSSNamespace()
+
++ Returns the namespace used by RSS elements in document of the RSS version the parser supports. |
+
+ boolean |
+isMyType(org.jdom.Document document)
+
++ Inspects an XML Document (JDOM) to check if it can parse it. |
+
+protected WireFeed |
+parseChannel(org.jdom.Element rssRoot)
+
++ After we parse the feed we put "rss_2.0" in it (so converters and generators work) + this parser is a phantom. |
+
Methods inherited from class com.sun.syndication.io.impl.RSS20Parser | +
---|
getRSSVersion, isHourFormat24, parseItemDescription |
+
Methods inherited from class com.sun.syndication.io.impl.RSS094Parser | +
---|
parseItem |
+
Methods inherited from class com.sun.syndication.io.impl.RSS092Parser | +
---|
parseCategories |
+
Methods inherited from class com.sun.syndication.io.impl.RSS091UserlandParser | +
---|
getImage, getItems, getTextInput, getTextInputLabel, parseImage |
+
Methods inherited from class com.sun.syndication.io.impl.RSS090Parser | +
---|
getContentNamespace, getRDFNamespace, parse, parseItems, parseTextInput, validateFeed |
+
Methods inherited from class com.sun.syndication.io.impl.BaseWireFeedParser | +
---|
extractForeignMarkup, getAttribute, getAttributeValue, getType, parseFeedModules, parseItemModules, parsePersonModules |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public RSS20wNSParser()+
+protected RSS20wNSParser(String type)+
+Method Detail | +
---|
+public boolean isMyType(org.jdom.Document document)+
WireFeedParser
+ It checks if the given document if the type of feeds the parser understands. +
+
+
isMyType
in interface WireFeedParser
isMyType
in class RSS20Parser
document
- XML Document (JDOM) to check if it can be parsed by this parser.
++protected org.jdom.Namespace getRSSNamespace()+
RSS090Parser
+ This implementation returns the EMTPY namespace. +
+
+
getRSSNamespace
in class RSS091UserlandParser
+protected WireFeed parseChannel(org.jdom.Element rssRoot)+
+
parseChannel
in class RSS094Parser
rssRoot
- the root element of the RSS document to parse.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.SyModuleGenerator ++
public class SyModuleGenerator
+Feed Generator for SY ModuleImpl +
++ +
+
+Constructor Summary | +|
---|---|
SyModuleGenerator()
+
++ |
+
+Method Summary | +|
---|---|
+ void |
+generate(Module module,
+ org.jdom.Element element)
+
++ Generates and injects module metadata into an XML node (JDOM element). |
+
+ Set |
+getNamespaces()
+
++ Returns a set with all the URIs (JDOM Namespace elements) this module generator uses. |
+
+ String |
+getNamespaceUri()
+
++ Returns the namespace URI this generator handles. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public SyModuleGenerator()+
+Method Detail | +
---|
+public String getNamespaceUri()+
ModuleGenerator
+
+
getNamespaceUri
in interface ModuleGenerator
+public Set getNamespaces()+
+
getNamespaces
in interface ModuleGenerator
+public void generate(Module module, + org.jdom.Element element)+
ModuleGenerator
+
+
generate
in interface ModuleGenerator
module
- the module to inject into the XML node (JDOM element).element
- the XML node into which module meta-data will be injected.
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + com.sun.syndication.io.impl.SyModuleParser ++
public class SyModuleParser
+
+Constructor Summary | +|
---|---|
SyModuleParser()
+
++ |
+
+Method Summary | +|
---|---|
+ String |
+getNamespaceUri()
+
++ Returns the namespace URI this parser handles. |
+
+ Module |
+parse(org.jdom.Element syndRoot)
+
++ Parses the XML node (JDOM element) extracting module information. |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Constructor Detail | +
---|
+public SyModuleParser()+
+Method Detail | +
---|
+public String getNamespaceUri()+
ModuleParser
+
+
getNamespaceUri
in interface ModuleParser
+public Module parse(org.jdom.Element syndRoot)+
ModuleParser
+
+
parse
in interface ModuleParser
syndRoot
- the XML node (JDOM element) to extract module information from.
+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+java.lang.Object + java.io.Reader + com.sun.syndication.io.impl.XmlFixerReader ++
public class XmlFixerReader
+
+Field Summary | +|
---|---|
+protected Reader |
+in
+
++ |
+
Fields inherited from class java.io.Reader | +
---|
lock |
+
+Constructor Summary | +|
---|---|
XmlFixerReader(Reader in)
+
++ |
+
+Method Summary | +|
---|---|
+ void |
+close()
+
++ |
+
+ void |
+mark(int readAheadLimit)
+
++ |
+
+ boolean |
+markSupported()
+
++ |
+
+ String |
+processHtmlEntities(String s)
+
++ |
+
+ int |
+read()
+
++ |
+
+ int |
+read(char[] buffer,
+ int offset,
+ int len)
+
++ |
+
+ boolean |
+ready()
+
++ |
+
+ void |
+reset()
+
++ |
+
+ long |
+skip(long n)
+
++ |
+
Methods inherited from class java.io.Reader | +
---|
read, read |
+
Methods inherited from class java.lang.Object | +
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
+
+Field Detail | +
---|
+protected Reader in+
+Constructor Detail | +
---|
+public XmlFixerReader(Reader in)+
+Method Detail | +
---|
+public int read() + throws IOException+
read
in class Reader
IOException
+public int read(char[] buffer, + int offset, + int len) + throws IOException+
read
in class Reader
IOException
+public long skip(long n) + throws IOException+
skip
in class Reader
IOException
+public boolean ready() + throws IOException+
ready
in class Reader
IOException
+public boolean markSupported()+
markSupported
in class Reader
+public void mark(int readAheadLimit) + throws IOException+
mark
in class Reader
IOException
+public void reset() + throws IOException+
reset
in class Reader
IOException
+public void close() + throws IOException+
close
in interface Closeable
close
in class Reader
IOException
+public String processHtmlEntities(String s)+
+
+
|
++ + | +|||||||||
+ PREV CLASS + NEXT CLASS | ++ FRAMES + NO FRAMES + + + + + | +|||||||||
+ SUMMARY: NESTED | FIELD | CONSTR | METHOD | ++DETAIL: FIELD | CONSTR | METHOD | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use BaseWireFeedGenerator | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of BaseWireFeedGenerator in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of BaseWireFeedGenerator in com.sun.syndication.io.impl | +|
---|---|
+ class |
+Atom03Generator
+
++ Feed Generator for Atom + |
+
+ class |
+Atom10Generator
+
++ Feed Generator for Atom + |
+
+ class |
+RSS090Generator
+
++ Feed Generator for RSS 0.90 + |
+
+ class |
+RSS091NetscapeGenerator
+
++ Feed Generator for RSS 0.91 + |
+
+ class |
+RSS091UserlandGenerator
+
++ Feed Generator for RSS 0.91 + |
+
+ class |
+RSS092Generator
+
++ Feed Generator for RSS 0.92 + |
+
+ class |
+RSS093Generator
+
++ Feed Generator for RSS 0.93 + |
+
+ class |
+RSS094Generator
+
++ Feed Generator for RSS 0.94 + |
+
+ class |
+RSS10Generator
+
++ Feed Generator for RSS 1.0 + |
+
+ class |
+RSS20Generator
+
++ Feed Generator for RSS 2.0 + |
+
+ +
Constructors in com.sun.syndication.io.impl with parameters of type BaseWireFeedGenerator | +|
---|---|
ModuleGenerators(String propertyKey,
+ BaseWireFeedGenerator parentGenerator)
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use BaseWireFeedParser | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of BaseWireFeedParser in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of BaseWireFeedParser in com.sun.syndication.io.impl | +|
---|---|
+ class |
+Atom03Parser
+
++ |
+
+ class |
+Atom10Parser
+
++ Parser for Atom 1.0 |
+
+ class |
+RSS090Parser
+
++ |
+
+ class |
+RSS091NetscapeParser
+
++ |
+
+ class |
+RSS091UserlandParser
+
++ |
+
+ class |
+RSS092Parser
+
++ |
+
+ class |
+RSS093Parser
+
++ |
+
+ class |
+RSS094Parser
+
++ |
+
+ class |
+RSS10Parser
+
++ |
+
+ class |
+RSS20Parser
+
++ |
+
+ class |
+RSS20wNSParser
+
++ To address issue with certain feeds (brought up by Charles Miller): + + "During the debacle that was the rollout of RSS2.0, this namespace was tried, + and even appeared in Dave Winer's Scripting News feed for a while. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use PluginManager | +|
---|---|
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io.impl | ++ |
+Uses of PluginManager in com.sun.syndication.feed.synd.impl | +
---|
+ +
Subclasses of PluginManager in com.sun.syndication.feed.synd.impl | +|
---|---|
+ class |
+Converters
+
++ Created by IntelliJ IDEA. |
+
+Uses of PluginManager in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of PluginManager in com.sun.syndication.io.impl | +|
---|---|
+ class |
+FeedGenerators
+
++ Generates an XML document (JDOM Document) out of a Feed. |
+
+ class |
+FeedParsers
+
++ Parses an XML document (JDOM Document) into a Feed. |
+
+ class |
+ModuleGenerators
+
++ |
+
+ class |
+ModuleParsers
+
++ |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use PropertiesLoader | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of PropertiesLoader in com.sun.syndication.io.impl | +
---|
+ +
Methods in com.sun.syndication.io.impl that return PropertiesLoader | +|
---|---|
+static PropertiesLoader |
+PropertiesLoader.getPropertiesLoader()
+
++ Returns the PropertiesLoader singleton used by ROME to load plugin components. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use RSS090Generator | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of RSS090Generator in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of RSS090Generator in com.sun.syndication.io.impl | +|
---|---|
+ class |
+RSS091NetscapeGenerator
+
++ Feed Generator for RSS 0.91 + |
+
+ class |
+RSS091UserlandGenerator
+
++ Feed Generator for RSS 0.91 + |
+
+ class |
+RSS092Generator
+
++ Feed Generator for RSS 0.92 + |
+
+ class |
+RSS093Generator
+
++ Feed Generator for RSS 0.93 + |
+
+ class |
+RSS094Generator
+
++ Feed Generator for RSS 0.94 + |
+
+ class |
+RSS10Generator
+
++ Feed Generator for RSS 1.0 + |
+
+ class |
+RSS20Generator
+
++ Feed Generator for RSS 2.0 + |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use RSS090Parser | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of RSS090Parser in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of RSS090Parser in com.sun.syndication.io.impl | +|
---|---|
+ class |
+RSS091NetscapeParser
+
++ |
+
+ class |
+RSS091UserlandParser
+
++ |
+
+ class |
+RSS092Parser
+
++ |
+
+ class |
+RSS093Parser
+
++ |
+
+ class |
+RSS094Parser
+
++ |
+
+ class |
+RSS10Parser
+
++ |
+
+ class |
+RSS20Parser
+
++ |
+
+ class |
+RSS20wNSParser
+
++ To address issue with certain feeds (brought up by Charles Miller): + + "During the debacle that was the rollout of RSS2.0, this namespace was tried, + and even appeared in Dave Winer's Scripting News feed for a while. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use RSS091UserlandGenerator | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of RSS091UserlandGenerator in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of RSS091UserlandGenerator in com.sun.syndication.io.impl | +|
---|---|
+ class |
+RSS091NetscapeGenerator
+
++ Feed Generator for RSS 0.91 + |
+
+ class |
+RSS092Generator
+
++ Feed Generator for RSS 0.92 + |
+
+ class |
+RSS093Generator
+
++ Feed Generator for RSS 0.93 + |
+
+ class |
+RSS094Generator
+
++ Feed Generator for RSS 0.94 + |
+
+ class |
+RSS20Generator
+
++ Feed Generator for RSS 2.0 + |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use RSS091UserlandParser | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of RSS091UserlandParser in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of RSS091UserlandParser in com.sun.syndication.io.impl | +|
---|---|
+ class |
+RSS091NetscapeParser
+
++ |
+
+ class |
+RSS092Parser
+
++ |
+
+ class |
+RSS093Parser
+
++ |
+
+ class |
+RSS094Parser
+
++ |
+
+ class |
+RSS20Parser
+
++ |
+
+ class |
+RSS20wNSParser
+
++ To address issue with certain feeds (brought up by Charles Miller): + + "During the debacle that was the rollout of RSS2.0, this namespace was tried, + and even appeared in Dave Winer's Scripting News feed for a while. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use RSS092Generator | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of RSS092Generator in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of RSS092Generator in com.sun.syndication.io.impl | +|
---|---|
+ class |
+RSS093Generator
+
++ Feed Generator for RSS 0.93 + |
+
+ class |
+RSS094Generator
+
++ Feed Generator for RSS 0.94 + |
+
+ class |
+RSS20Generator
+
++ Feed Generator for RSS 2.0 + |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use RSS092Parser | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of RSS092Parser in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of RSS092Parser in com.sun.syndication.io.impl | +|
---|---|
+ class |
+RSS093Parser
+
++ |
+
+ class |
+RSS094Parser
+
++ |
+
+ class |
+RSS20Parser
+
++ |
+
+ class |
+RSS20wNSParser
+
++ To address issue with certain feeds (brought up by Charles Miller): + + "During the debacle that was the rollout of RSS2.0, this namespace was tried, + and even appeared in Dave Winer's Scripting News feed for a while. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use RSS093Generator | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of RSS093Generator in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of RSS093Generator in com.sun.syndication.io.impl | +|
---|---|
+ class |
+RSS094Generator
+
++ Feed Generator for RSS 0.94 + |
+
+ class |
+RSS20Generator
+
++ Feed Generator for RSS 2.0 + |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use RSS093Parser | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of RSS093Parser in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of RSS093Parser in com.sun.syndication.io.impl | +|
---|---|
+ class |
+RSS094Parser
+
++ |
+
+ class |
+RSS20Parser
+
++ |
+
+ class |
+RSS20wNSParser
+
++ To address issue with certain feeds (brought up by Charles Miller): + + "During the debacle that was the rollout of RSS2.0, this namespace was tried, + and even appeared in Dave Winer's Scripting News feed for a while. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use RSS094Generator | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of RSS094Generator in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of RSS094Generator in com.sun.syndication.io.impl | +|
---|---|
+ class |
+RSS20Generator
+
++ Feed Generator for RSS 2.0 + |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use RSS094Parser | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of RSS094Parser in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of RSS094Parser in com.sun.syndication.io.impl | +|
---|---|
+ class |
+RSS20Parser
+
++ |
+
+ class |
+RSS20wNSParser
+
++ To address issue with certain feeds (brought up by Charles Miller): + + "During the debacle that was the rollout of RSS2.0, this namespace was tried, + and even appeared in Dave Winer's Scripting News feed for a while. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use RSS20Parser | +|
---|---|
com.sun.syndication.io.impl | ++ |
+Uses of RSS20Parser in com.sun.syndication.io.impl | +
---|
+ +
Subclasses of RSS20Parser in com.sun.syndication.io.impl | +|
---|---|
+ class |
+RSS20wNSParser
+
++ To address issue with certain feeds (brought up by Charles Miller): + + "During the debacle that was the rollout of RSS2.0, this namespace was tried, + and even appeared in Dave Winer's Scripting News feed for a while. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Classes
+
+ +Atom03Generator + +Atom03Parser + +Atom10Generator + +Atom10Parser + +Base64 + +BaseWireFeedGenerator + +BaseWireFeedParser + +DateParser + +DCModuleGenerator + +DCModuleParser + +FeedGenerators + +FeedParsers + +ModuleGenerators + +ModuleParsers + +NumberParser + +PluginManager + +PropertiesLoader + +RSS090Generator + +RSS090Parser + +RSS091NetscapeGenerator + +RSS091NetscapeParser + +RSS091UserlandGenerator + +RSS091UserlandParser + +RSS092Generator + +RSS092Parser + +RSS093Generator + +RSS093Parser + +RSS094Generator + +RSS094Parser + +RSS10Generator + +RSS10Parser + +RSS20Generator + +RSS20Parser + +RSS20wNSParser + +SyModuleGenerator + +SyModuleParser + +XmlFixerReader |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+Class Summary | +|
---|---|
Atom03Generator | +Feed Generator for Atom + | +
Atom03Parser | ++ |
Atom10Generator | +Feed Generator for Atom + | +
Atom10Parser | +Parser for Atom 1.0 | +
Base64 | +Encodes/decodes byte arrays and Strings into/from a base 64 String. | +
BaseWireFeedGenerator | ++ |
BaseWireFeedParser | ++ |
DateParser | +A helper class that parses Dates out of Strings with date time in RFC822 and W3CDateTime + formats plus the variants Atom (0.3) and RSS (0.9, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0) + specificators added to those formats. | +
DCModuleGenerator | +Feed Generator for DublinCore Module. | +
DCModuleParser | +Parser for the Dublin Core module. | +
FeedGenerators | +Generates an XML document (JDOM Document) out of a Feed. | +
FeedParsers | +Parses an XML document (JDOM Document) into a Feed. | +
ModuleGenerators | ++ |
ModuleParsers | ++ |
NumberParser | +A helper class that parses Numbers out of Strings in a lenient manner. | +
PluginManager | ++ |
PropertiesLoader | +Properties loader that aggregates a master properties file and several extra properties files, + all from the current classpath. | +
RSS090Generator | +Feed Generator for RSS 0.90 + | +
RSS090Parser | ++ |
RSS091NetscapeGenerator | +Feed Generator for RSS 0.91 + | +
RSS091NetscapeParser | ++ |
RSS091UserlandGenerator | +Feed Generator for RSS 0.91 + | +
RSS091UserlandParser | ++ |
RSS092Generator | +Feed Generator for RSS 0.92 + | +
RSS092Parser | ++ |
RSS093Generator | +Feed Generator for RSS 0.93 + | +
RSS093Parser | ++ |
RSS094Generator | +Feed Generator for RSS 0.94 + | +
RSS094Parser | ++ |
RSS10Generator | +Feed Generator for RSS 1.0 + | +
RSS10Parser | ++ |
RSS20Generator | +Feed Generator for RSS 2.0 + | +
RSS20Parser | ++ |
RSS20wNSParser | +To address issue with certain feeds (brought up by Charles Miller): + + "During the debacle that was the rollout of RSS2.0, this namespace was tried, + and even appeared in Dave Winer's Scripting News feed for a while. | +
SyModuleGenerator | +Feed Generator for SY ModuleImpl + | +
SyModuleParser | ++ |
XmlFixerReader | ++ |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use com.sun.syndication.io.impl | +|
---|---|
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io.impl | ++ |
+Classes in com.sun.syndication.io.impl used by com.sun.syndication.feed.synd.impl | +|
---|---|
PluginManager
+
+ + |
+
+Classes in com.sun.syndication.io.impl used by com.sun.syndication.io.impl | +|
---|---|
BaseWireFeedGenerator
+
+ + |
+|
BaseWireFeedParser
+
+ + |
+|
PluginManager
+
+ + |
+|
PropertiesLoader
+
+ + Properties loader that aggregates a master properties file and several extra properties files, + all from the current classpath. |
+|
RSS090Generator
+
+ + Feed Generator for RSS 0.90 + |
+|
RSS090Parser
+
+ + |
+|
RSS091UserlandGenerator
+
+ + Feed Generator for RSS 0.91 + |
+|
RSS091UserlandParser
+
+ + |
+|
RSS092Generator
+
+ + Feed Generator for RSS 0.92 + |
+|
RSS092Parser
+
+ + |
+|
RSS093Generator
+
+ + Feed Generator for RSS 0.93 + |
+|
RSS093Parser
+
+ + |
+|
RSS094Generator
+
+ + Feed Generator for RSS 0.94 + |
+|
RSS094Parser
+
+ + |
+|
RSS20Parser
+
+ + |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Interfaces
+
+ +DelegatingModuleGenerator + +DelegatingModuleParser + +ModuleGenerator + +ModuleParser + +WireFeedGenerator + +WireFeedParser |
+
+Classes
+
+ +SAXBuilder + +SyndFeedInput + +SyndFeedOutput + +WireFeedInput + +WireFeedOutput + +XmlReader |
+
+Exceptions
+
+ +FeedException + +ParsingFeedException + +XmlReaderException |
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+Interface Summary | +|
---|---|
DelegatingModuleGenerator | +Adds the ability to give a direct wire feed generator reference to plugin + modules that need to call back to their wire feed to complete + generation of their particular namespace. | +
DelegatingModuleParser | +Adds the ability to give a direct wire feed reference to plugin + modules that need to call back to their wire feed to complete + parsing of their particular namespace. | +
ModuleGenerator | +Injects module metadata into a XML node (JDOM element). | +
ModuleParser | +Parses module metadata from a XML node (JDOM element). | +
WireFeedGenerator | +Generates an XML document (JDOM) out of a feed for a specific real feed type. | +
WireFeedParser | +Parses an XML document (JDOM) into a feed bean. | +
+ +
+Class Summary | +|
---|---|
SAXBuilder | ++ |
SyndFeedInput | +Parses an XML document (File, InputStream, Reader, W3C SAX InputSource, W3C DOM Document or JDom DOcument) + into an SyndFeedImpl. | +
SyndFeedOutput | +Generates an XML document (String, File, OutputStream, Writer, W3C DOM document or JDOM document) + out of an SyndFeedImpl.. | +
WireFeedInput | +Parses an XML document (File, InputStream, Reader, W3C SAX InputSource, W3C DOM Document or JDom DOcument) + into an WireFeed (RSS/Atom). | +
WireFeedOutput | +Generates an XML document (String, File, OutputStream, Writer, W3C DOM document or JDOM document) + out of an WireFeed (RSS/Atom). | +
XmlReader | +Character stream that handles (or at least attemtps to) all the necessary Voodo to figure out + the charset encoding of the XML document within the stream. | +
+ +
+Exception Summary | +|
---|---|
FeedException | +Exception thrown by WireFeedInput, WireFeedOutput, WireFeedParser and WireFeedGenerator instances if they + can not parse or generate a feed. | +
ParsingFeedException | +Exception thrown by WireFeedInput instance if it can not parse a feed. | +
XmlReaderException | +The XmlReaderException is thrown by the XmlReader constructors if the charset encoding + can not be determined according to the XML 1.0 specification and RFC 3023. | +
+
+
+
|
++ + | +|||||||||
+ PREV PACKAGE + NEXT PACKAGE | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages that use com.sun.syndication.io | +|
---|---|
com.sun.syndication.io | ++ |
com.sun.syndication.io.impl | ++ |
+Classes in com.sun.syndication.io used by com.sun.syndication.io | +|
---|---|
FeedException
+
+ + Exception thrown by WireFeedInput, WireFeedOutput, WireFeedParser and WireFeedGenerator instances if they + can not parse or generate a feed. |
+|
ModuleGenerator
+
+ + Injects module metadata into a XML node (JDOM element). |
+|
ModuleParser
+
+ + Parses module metadata from a XML node (JDOM element). |
+|
SAXBuilder
+
+ + |
+|
WireFeedGenerator
+
+ + Generates an XML document (JDOM) out of a feed for a specific real feed type. |
+|
WireFeedParser
+
+ + Parses an XML document (JDOM) into a feed bean. |
+|
XmlReaderException
+
+ + The XmlReaderException is thrown by the XmlReader constructors if the charset encoding + can not be determined according to the XML 1.0 specification and RFC 3023. |
+
+Classes in com.sun.syndication.io used by com.sun.syndication.io.impl | +|
---|---|
FeedException
+
+ + Exception thrown by WireFeedInput, WireFeedOutput, WireFeedParser and WireFeedGenerator instances if they + can not parse or generate a feed. |
+|
ModuleGenerator
+
+ + Injects module metadata into a XML node (JDOM element). |
+|
ModuleParser
+
+ + Parses module metadata from a XML node (JDOM element). |
+|
WireFeedGenerator
+
+ + Generates an XML document (JDOM) out of a feed for a specific real feed type. |
+|
WireFeedParser
+
+ + Parses an XML document (JDOM) into a feed bean. |
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+com.sun.* | +
---|
+ +
com.sun.syndication.feed.atom.Content | +||
---|---|---|
+public static final String |
+BASE64 |
+"base64" |
+
+public static final String |
+ESCAPED |
+"escaped" |
+
+public static final String |
+HTML |
+"html" |
+
+public static final String |
+TEXT |
+"text" |
+
+public static final String |
+XHTML |
+"xhtml" |
+
+public static final String |
+XML |
+"xml" |
+
+ +
+ +
com.sun.syndication.feed.module.DCModule | +||
---|---|---|
+public static final String |
+URI |
+"http://purl.org/dc/elements/1.1/" |
+
+ +
+ +
com.sun.syndication.feed.module.SyModule | +||
---|---|---|
+public static final String |
+DAILY |
+"daily" |
+
+public static final String |
+HOURLY |
+"hourly" |
+
+public static final String |
+MONTHLY |
+"monthly" |
+
+public static final String |
+URI |
+"http://purl.org/rss/1.0/modules/syndication/" |
+
+public static final String |
+WEEKLY |
+"weekly" |
+
+public static final String |
+YEARLY |
+"yearly" |
+
+ +
+ +
com.sun.syndication.feed.rss.Channel | +||
---|---|---|
+public static final String |
+FRIDAY |
+"friday" |
+
+public static final String |
+MONDAY |
+"monday" |
+
+public static final String |
+SATURDAY |
+"saturday" |
+
+public static final String |
+SUNDAY |
+"sunday" |
+
+public static final String |
+THURSDAY |
+"thursday" |
+
+public static final String |
+TUESDAY |
+"tuesday" |
+
+public static final String |
+WEDNESDAY |
+"wednesday" |
+
+ +
+ +
com.sun.syndication.feed.rss.Content | +||
---|---|---|
+public static final String |
+HTML |
+"html" |
+
+public static final String |
+TEXT |
+"text" |
+
+ +
+ +
com.sun.syndication.feed.synd.impl.Converters | +||
---|---|---|
+public static final String |
+CONVERTERS_KEY |
+"Converter.classes" |
+
+ +
+ +
com.sun.syndication.io.impl.FeedGenerators | +||
---|---|---|
+public static final String |
+FEED_GENERATORS_KEY |
+"WireFeedGenerator.classes" |
+
+ +
+ +
com.sun.syndication.io.impl.FeedParsers | +||
---|---|---|
+public static final String |
+FEED_PARSERS_KEY |
+"WireFeedParser.classes" |
+
+ +
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+ +++The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.
+ +++Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:
+
+- Interfaces (italic)
- Classes
- Enums
- Exceptions
- Errors
- Annotation Types
+ ++ ++Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:
+
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.- Class inheritance diagram
- Direct Subclasses
- All Known Subinterfaces
- All Known Implementing Classes
- Class/interface declaration
- Class/interface description +
+
- Nested Class Summary
- Field Summary
- Constructor Summary
- Method Summary +
+
- Field Detail
- Constructor Detail
- Method Detail
+ ++ ++Each annotation type has its own separate page with the following sections:
+
+- Annotation Type declaration
- Annotation Type description
- Required Element Summary
- Optional Element Summary
- Element Detail
+ +++Each enum has its own separate page with the following sections:
+
+- Enum declaration
- Enum description
- Enum Constant Summary
- Enum Constant Detail
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.+
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with+java.lang.Object
. The interfaces do not inherit fromjava.lang.Object
.+
+- When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
- When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.+
+
+
+
+
+This help file applies to API documentation generated using the standard doclet.
+
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
Feed.getRights()
).
+Entry.getPublished()
).
+Entry.getUpdated()
).
+Feed.getUpdated()
).
+Feed.getSubtitle()
).
+Person.getUri()
)
+
+Feed.setRights(java.lang.String)
).
+Entry.setPublished(java.util.Date)
).
+Entry.setUpdated(java.util.Date)
).
+Feed.setUpdated(java.util.Date)
).
+Feed.setSubtitle(com.sun.syndication.feed.atom.Content)
).
+Person.setUri(java.lang.String)
)
+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+ | +
---|
+ + + \ No newline at end of file diff --git a/apidocs/overview-summary.html b/apidocs/overview-summary.html new file mode 100644 index 0000000..a7b1ed7 --- /dev/null +++ b/apidocs/overview-summary.html @@ -0,0 +1,193 @@ + + + +
+ + +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Packages | +|
---|---|
com.sun.syndication.feed | ++ |
com.sun.syndication.feed.atom | ++ |
com.sun.syndication.feed.impl | ++ |
com.sun.syndication.feed.module | ++ |
com.sun.syndication.feed.module.impl | ++ |
com.sun.syndication.feed.rss | ++ |
com.sun.syndication.feed.synd | ++ |
com.sun.syndication.feed.synd.impl | ++ |
com.sun.syndication.io | ++ |
com.sun.syndication.io.impl | ++ |
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
+Package com.sun.syndication.feed | +
---|
+Class com.sun.syndication.feed.WireFeed extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _feedType+
+String _encoding+
+List<E> _modules+
+List<E> _foreignMarkup+
+Package com.sun.syndication.feed.atom | +
---|
+Class com.sun.syndication.feed.atom.Category extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _term+
+String _scheme+
+String _schemeResolved+
+String _label+
+Class com.sun.syndication.feed.atom.Content extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _type+
+String _value+
+String _src+
+String _mode+
+Class com.sun.syndication.feed.atom.Entry extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+Content _summary+
+Content _title+
+Date _created+
+Date _published+
+Date _updated+
+Feed _source+
+List<E> _alternateLinks+
+List<E> _authors+
+List<E> _categories+
+List<E> _contents+
+List<E> _contributors+
+List<E> _foreignMarkup+
+List<E> _modules+
+List<E> _otherLinks+
+ObjectBean _objBean+
+String _id+
+String _rights+
+String _xmlBase+
+Class com.sun.syndication.feed.atom.Feed extends WireFeed implements Serializable | +
---|
+Serialized Fields | +
---|
+String _xmlBase+
+List<E> _categories+
+List<E> _authors+
+List<E> _contributors+
+Generator _generator+
+String _icon+
+String _id+
+String _logo+
+String _rights+
+Content _subtitle+
+Content _title+
+Date _updated+
+List<E> _alternateLinks+
+List<E> _otherLinks+
+List<E> _entries+
+List<E> _modules+
+Content _info+
+String _language+
+Class com.sun.syndication.feed.atom.Generator extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _url+
+String _version+
+String _value+
+Class com.sun.syndication.feed.atom.Link extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _href+
+String _hrefResolved+
+String _rel+
+String _type+
+String _hreflang+
+String _title+
+long _length+
+Class com.sun.syndication.feed.atom.Person extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _name+
+String _uri+
+String _uriResolved+
+String _email+
+List<E> _modules+
+Package com.sun.syndication.feed.impl | +
---|
+Class com.sun.syndication.feed.impl.CloneableBean extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+Object _obj+
+Set<E> _ignoreProperties+
+Class com.sun.syndication.feed.impl.EqualsBean extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+Class<T> _beanClass+
+Object _obj+
+Class com.sun.syndication.feed.impl.ObjectBean extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+EqualsBean _equalsBean+
+ToStringBean _toStringBean+
+CloneableBean _cloneableBean+
+Class com.sun.syndication.feed.impl.ToStringBean extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+Class<T> _beanClass+
+Object _obj+
+Package com.sun.syndication.feed.module | +
---|
+Class com.sun.syndication.feed.module.DCModuleImpl extends ModuleImpl implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+List<E> _title+
+List<E> _creator+
+List<E> _subject+
+List<E> _description+
+List<E> _publisher+
+List<E> _contributors+
+List<E> _date+
+List<E> _type+
+List<E> _format+
+List<E> _identifier+
+List<E> _source+
+List<E> _language+
+List<E> _relation+
+List<E> _coverage+
+List<E> _rights+
+Class com.sun.syndication.feed.module.DCSubjectImpl extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _taxonomyUri+
+String _value+
+Class com.sun.syndication.feed.module.ModuleImpl extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _uri+
+Class com.sun.syndication.feed.module.SyModuleImpl extends ModuleImpl implements Serializable | +
---|
+Serialized Fields | +
---|
+String _updatePeriod+
+int _updateFrequency+
+Date _updateBase+
+Package com.sun.syndication.feed.rss | +
---|
+Class com.sun.syndication.feed.rss.Category extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _domain+
+String _value+
+Class com.sun.syndication.feed.rss.Channel extends WireFeed implements Serializable | +
---|
+Serialized Fields | +
---|
+String _title+
+String _description+
+String _link+
+String _uri+
+Image _image+
+List<E> _items+
+TextInput _textInput+
+String _language+
+String _rating+
+String _copyright+
+Date _pubDate+
+Date _lastBuildDate+
+String _docs+
+String _managingEditor+
+String _webMaster+
+List<E> _skipHours+
+List<E> _skipDays+
+Cloud _cloud+
+List<E> _categories+
+String _generator+
+int _ttl+
+List<E> _modules+
+Class com.sun.syndication.feed.rss.Cloud extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _domain+
+int _port+
+String _path+
+String _registerProcedure+
+String _protocol+
+Class com.sun.syndication.feed.rss.Content extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _type+
+String _value+
+Class com.sun.syndication.feed.rss.Description extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _type+
+String _value+
+Class com.sun.syndication.feed.rss.Enclosure extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _url+
+long _length+
+String _type+
+Class com.sun.syndication.feed.rss.Guid extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+boolean _permaLink+
+String _value+
+Class com.sun.syndication.feed.rss.Image extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _title+
+String _url+
+String _link+
+Integer _width+
+Integer _height+
+String _description+
+Class com.sun.syndication.feed.rss.Item extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _title+
+String _link+
+String _uri+
+Description _description+
+Content _content+
+Source _source+
+List<E> _enclosures+
+List<E> _categories+
+Guid _guid+
+String _comments+
+String _author+
+Date _pubDate+
+Date _expirationDate+
+List<E> _modules+
+List<E> _foreignMarkup+
+Class com.sun.syndication.feed.rss.Source extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _url+
+String _value+
+Class com.sun.syndication.feed.rss.TextInput extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _title+
+String _description+
+String _name+
+String _link+
+Package com.sun.syndication.feed.synd | +
---|
+Class com.sun.syndication.feed.synd.SyndCategoryImpl extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+DCSubject _subject+
+Class com.sun.syndication.feed.synd.SyndContentImpl extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _type+
+String _value+
+String _mode+
+Class com.sun.syndication.feed.synd.SyndEnclosureImpl extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _url+
+String _type+
+long _length+
+Class com.sun.syndication.feed.synd.SyndEntryImpl extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _uri+
+String _link+
+Date _updatedDate+
+SyndContent _title+
+SyndContent _description+
+List<E> _links+
+List<E> _contents+
+List<E> _modules+
+List<E> _enclosures+
+List<E> _authors+
+List<E> _contributors+
+SyndFeed _source+
+List<E> _foreignMarkup+
+Object wireEntry+
+List<E> _categories+
+Class com.sun.syndication.feed.synd.SyndFeedImpl extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _encoding+
+String _uri+
+SyndContent _title+
+SyndContent _description+
+String _feedType+
+String _link+
+List<E> _links+
+SyndImage _image+
+List<E> _entries+
+List<E> _modules+
+List<E> _authors+
+List<E> _contributors+
+List<E> _foreignMarkup+
+WireFeed wireFeed+
+boolean preserveWireFeed+
+Class com.sun.syndication.feed.synd.SyndImageImpl extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _title+
+String _url+
+String _link+
+String _description+
+Class com.sun.syndication.feed.synd.SyndLinkImpl extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _href+
+String _rel+
+String _type+
+String _hreflang+
+String _title+
+long _length+
+Class com.sun.syndication.feed.synd.SyndPersonImpl extends Object implements Serializable | +
---|
+Serialized Fields | +
---|
+ObjectBean _objBean+
+String _name+
+String _uri+
+String _email+
+List<E> _modules+
+Package com.sun.syndication.io | +
---|
+Class com.sun.syndication.io.FeedException extends Exception implements Serializable | +
---|
+ +
+Class com.sun.syndication.io.ParsingFeedException extends FeedException implements Serializable | +
---|
+ +
+Class com.sun.syndication.io.XmlReaderException extends IOException implements Serializable | +
---|
+Serialized Fields | +
---|
+String _bomEncoding+
+String _xmlGuessEncoding+
+String _xmlEncoding+
+String _contentTypeMime+
+String _contentTypeEncoding+
+InputStream _is+
+
+
+
|
++ + | +|||||||||
+ PREV + NEXT | ++ FRAMES + NO FRAMES + + + + + | +
The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:
+GroupId | +ArtifactId | +Version | +Type | +License |
---|---|---|---|---|
org.jdom | +jdom | +1.1.1 | +jar | +- |
The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:
+GroupId | +ArtifactId | +Version | +Type | +License |
---|---|---|---|---|
junit | +junit | +3.8.1 | +jar | +Common Public License Version 1.0 |
Apache 2: ROME, RSS and atOM utilitiEs for Java
+Unknown: jdom
+Common Public License Version 1.0: JUnit
Filename | +Size | +Entries | +Classes | +Packages | +JDK Rev | +Debug |
---|---|---|---|---|---|---|
junit-3.8.1.jar | +118.23 kB | +119 | +100 | +6 | +1.1 | +debug |
jdom-1.1.1.jar | +149.22 kB | +89 | +76 | +8 | +1.2 | +debug |
Total | +Size | +Entries | +Classes | +Packages | +JDK Rev | +Debug |
2 | +267.45 kB | +208 | +176 | +14 | +1.2 | +2 |
compile: 1 | +compile: 149.22 kB | +compile: 89 | +compile: 76 | +compile: 8 | +- | +compile: 1 |
test: 1 | +test: 118.23 kB | +test: 119 | +test: 100 | +test: 6 | +- | +test: 1 |
Repo ID | +URL | +Release | +Snapshot |
---|---|---|---|
rome.internal | +https://rometools.jira.com/svn/ROME/repo/ | +Yes | +Yes |
subshell | +http://maven-extern.subshell.com/repo-maven2 | +Yes | +Yes |
central | +http://repo1.maven.org/maven2 | +Yes | +- |
Repository locations for each of the Dependencies.
+Artifact | +rome.internal | +subshell | +central |
---|---|---|---|
junit:junit:jar:3.8.1 | +- | +- | +|
org.jdom:jdom:jar:1.1.1 | ++ | - | +- |
Total | +rome.internal | +subshell | +central |
2 (compile: 1, test: 1) | +1 | +0 | +1 |
<dependency> + <groupId>org.rometools</groupId> + <artifactId>rome</artifactId> + <version>1.1-SNAPSHOT</version> +</dependency>
This automatic page generator is the easiest way to create beautiful pages for all of your projects. Author your page content here using GitHub Flavored Markdown, select a template crafted by a designer, and publish. After your page is generated, you can check out the new branch:
- -$ cd your_repo_root/repo_name
-$ git fetch origin
-$ git checkout gh-pages
-
-
-If you're using the GitHub for Mac, simply sync your repository and you'll see the new branch.
- -We've crafted some handsome templates for you to use. Go ahead and continue to layouts to browse through them. You can easily go back to edit your page before publishing. After publishing your page, you can revisit the page generator and switch to another theme. Your Page content will be preserved if it remained markdown format.
- -If you prefer to not use the automatic generator, push a branch named gh-pages
to your repository to create a page manually. In addition to supporting regular HTML content, GitHub Pages support Jekyll, a simple, blog aware static site generator written by our own Tom Preston-Werner. Jekyll makes it easy to create site-wide headers and footers without having to copy them across every page. It also offers intelligent blog support and other advanced templating features.
You can @mention a GitHub username to generate a link to their profile. The resulting <a>
element will link to the contributor's GitHub Profile. For example: In 2007, Chris Wanstrath (@defunkt), PJ Hyett (@pjhyett), and Tom Preston-Werner (@mojombo) founded GitHub.
Having trouble with Pages? Check out the documentation at http://help.github.com/pages or contact support@github.com and we’ll help you sort it out.
-