com.sun.syndication.io.impl
Class BaseWireFeedGenerator

java.lang.Object
  extended by com.sun.syndication.io.impl.BaseWireFeedGenerator
All Implemented Interfaces:
WireFeedGenerator
Direct Known Subclasses:
Atom03Generator, Atom10Generator, RSS090Generator

public abstract class BaseWireFeedGenerator
extends Object
implements WireFeedGenerator

Author:
Alejandro Abdelnur

Constructor Summary
protected BaseWireFeedGenerator(String type)
           
 
Method Summary
protected  void generateFeedModules(List<Module> modules, org.jdom2.Element feed)
           
protected  void generateForeignMarkup(org.jdom2.Element e, List<org.jdom2.Element> foreignMarkup)
           
 void generateItemModules(List<Module> modules, org.jdom2.Element item)
           
protected  void generateModuleNamespaceDefs(org.jdom2.Element root)
           
 void generatePersonModules(List<Module> modules, org.jdom2.Element person)
           
 String getType()
          Returns the type of feed the generator creates.
protected static void purgeUnusedNamespaceDeclarations(org.jdom2.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

BaseWireFeedGenerator

protected BaseWireFeedGenerator(String type)
Method Detail

getType

public String getType()
Description copied from interface: WireFeedGenerator
Returns the type of feed the generator creates.

Specified by:
getType in interface WireFeedGenerator
Returns:
the type of feed the generator creates.
See Also:
for details on the format of this string.


generateModuleNamespaceDefs

protected void generateModuleNamespaceDefs(org.jdom2.Element root)

generateFeedModules

protected void generateFeedModules(List<Module> modules,
                                   org.jdom2.Element feed)

generateItemModules

public void generateItemModules(List<Module> modules,
                                org.jdom2.Element item)

generatePersonModules

public void generatePersonModules(List<Module> modules,
                                  org.jdom2.Element person)

generateForeignMarkup

protected void generateForeignMarkup(org.jdom2.Element e,
                                     List<org.jdom2.Element> foreignMarkup)

purgeUnusedNamespaceDeclarations

protected static void purgeUnusedNamespaceDeclarations(org.jdom2.Element root)
Purging unused declarations is less optimal, performance-wise, than never adding them in the first place. So, we should still ask the ROME guys to fix their code (not adding dozens of unnecessary module declarations). Having said that: purging them here, before XML generation, is more efficient than parsing and re-molding the XML after ROME generates it.

Note that the calling app could still add declarations/modules to the Feed tree after this. Which is fine. But those modules are then responsible for crawling to the root of the tree, at generate() time, to make sure their namespace declarations are present.



Copyright © 2004–2013 ROME Project. All rights reserved.