Technologies
- StAX (XML Streaming (XML Pull ParsingAPIs)
Pipeline Ordering Overview
- User Layout Store
- outputs XMLEventReader
- Attribute Incorporation Filter (Structure)
- outputs XMLEventReader
- XSLT (Structure)
- uses XSLT Parameter Provider to help setup the Transformer
- outputs XMLEventReader
- Portlet Rendering Initiator
- Uses Portlet Renderer API to initiate async portlet rendering
- outputs XMLEventReader
- Attribute Incorporation Filter (Theme)
- outputs XMLEventReader
- XSLT (Theme)
- uses XSLT Parameter Provider to help setup the Transformer
- outputs XMLEventReader
- Serializer
- Uses XMLOutputFactory to convert from XMLEventReader to Character data
- outputs CharacterEventReader
- Portlet Incorporation Filter
- Portlet Renderer API to retrieve portlet rendering results
- outputs CharacterEventReader
- Output Writer
- Writes to response Writer
Pipeline Component API
Code Block | ||||
---|---|---|---|---|
| ||||
interface PipelineComponent {
CompositeCacheKey getCacheKey(HttpServletRequest, HttpServletResponse);
}
interface StAXPipelineComponent {
XMLEventReader getEventReader(HttpServletRequest, HttpServletResponse);
}
interface CharacterPipelineComponent {
CharacterEventReader getEventReader(HttpServletRequest, HttpServletResponse);
}
|
Pipeline Caching Flow
- Caching will be applied via additional filters in the chain, either a StAXCachingFilter or a CharacterCachingFilter.
- The filter will use the following steps when getEventReader is called
key = parentComponent.getCacheKey(req, res)
eventRender = cache.get(key)
- If
eventReader
is not null return it - If
eventReader
is null callparentComponent.getEventReader(req, res)
- The caches that will be used will be chaining caches meaning they will be wired together in parallel to the rendering pipeline allowing parent expiration state checking.