Package org.ametys.plugins.syndication
Class FeedGenerator
- java.lang.Object
-
- org.apache.avalon.framework.logger.AbstractLogEnabled
-
- org.apache.cocoon.xml.AbstractXMLProducer
-
- org.apache.cocoon.generation.AbstractGenerator
-
- org.apache.cocoon.generation.ServiceableGenerator
-
- org.ametys.plugins.syndication.FeedGenerator
-
- All Implemented Interfaces:
Poolable
,Recyclable
,Disposable
,Component
,LogEnabled
,Serviceable
,Generator
,SitemapModelComponent
,XMLProducer
public class FeedGenerator extends ServiceableGenerator
Generates the contents of an external RSS of Atom feed.
This implementation is based on the ROME API.
-
-
Field Summary
Fields Modifier and Type Field Description protected FeedCache
_feedCache
The feed cacheprotected RenderingContextHandler
_renderingContext
The rendering context handler.-
Fields inherited from class org.apache.cocoon.generation.ServiceableGenerator
manager
-
Fields inherited from class org.apache.cocoon.generation.AbstractGenerator
objectModel, parameters, resolver, source
-
Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer
contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumer
-
-
Constructor Summary
Constructors Constructor Description FeedGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
_addAttribute(AttributesImpl atts, String name, Object value)
private boolean
_checkForInfiniteLoop(String src)
private String
_enclosureName(String url)
private void
_saxEnclosures(com.rometools.rome.feed.synd.SyndEntry entry)
private void
_saxErrorFeed(String errorName, String url, String name, String messageError)
private void
_saxFeeds(com.rometools.rome.feed.synd.SyndFeed feed, long length, String url, Boolean isCustom, Boolean isSelected)
private void
_saxLength(long length)
private void
_saxMediaContent(com.rometools.modules.mediarss.types.MediaContent content, boolean inGroup)
private void
_saxMediaRSS(com.rometools.rome.feed.synd.SyndEntry entry)
void
generate()
private void
saxMediaMetadata(com.rometools.modules.mediarss.types.Metadata metadata)
void
service(ServiceManager serviceManager)
-
Methods inherited from class org.apache.cocoon.generation.ServiceableGenerator
dispose
-
Methods inherited from class org.apache.cocoon.generation.AbstractGenerator
recycle, setup
-
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer
setConsumer, setContentHandler, setLexicalHandler
-
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.cocoon.xml.XMLProducer
setConsumer
-
-
-
-
Field Detail
-
_feedCache
protected FeedCache _feedCache
The feed cache
-
_renderingContext
protected RenderingContextHandler _renderingContext
The rendering context handler.
-
-
Constructor Detail
-
FeedGenerator
public FeedGenerator()
-
-
Method Detail
-
service
public void service(ServiceManager serviceManager) throws ServiceException
- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classServiceableGenerator
- Throws:
ServiceException
-
generate
public void generate() throws IOException, SAXException, ProcessingException
-
_saxErrorFeed
private void _saxErrorFeed(String errorName, String url, String name, String messageError) throws SAXException
- Throws:
SAXException
-
_saxFeeds
private void _saxFeeds(com.rometools.rome.feed.synd.SyndFeed feed, long length, String url, Boolean isCustom, Boolean isSelected) throws SAXException
- Throws:
SAXException
-
_saxEnclosures
private void _saxEnclosures(com.rometools.rome.feed.synd.SyndEntry entry) throws SAXException
- Throws:
SAXException
-
_saxMediaRSS
private void _saxMediaRSS(com.rometools.rome.feed.synd.SyndEntry entry) throws SAXException
- Throws:
SAXException
-
_saxMediaContent
private void _saxMediaContent(com.rometools.modules.mediarss.types.MediaContent content, boolean inGroup) throws SAXException
- Throws:
SAXException
-
saxMediaMetadata
private void saxMediaMetadata(com.rometools.modules.mediarss.types.Metadata metadata) throws SAXException
- Throws:
SAXException
-
_checkForInfiniteLoop
private boolean _checkForInfiniteLoop(String src)
-
_enclosureName
private String _enclosureName(String url)
-
_addAttribute
private void _addAttribute(AttributesImpl atts, String name, Object value)
-
_saxLength
private void _saxLength(long length) throws SAXException
- Throws:
SAXException
-
-