The hybrid package provides implementation of a rendering pipeline that can be configured with arbitrary, disparate component types (i.e. sax and string components).
{@link org.jasig.portal.rendering.hybrid.CompositePipelineComponentManager} forms such pipelines by connecting adjacent components with the help of the {@link org.jasig.portal.rendering.hybrid.IComponentConnector} classes ({@link org.jasig.portal.rendering.hybrid.SaxComponentConnector} and {@link org.jasig.portal.rendering.hybrid.StringComponentConnector} are concrete implementations). Similarly, {@link org.jasig.portal.rendering.hybrid.CompositePipelineCacheManager} makes use of type-specific cache managers (such as {@link org.jasig.portal.rendering.string.StringPipelineCacheManager}) to manage disparate types of rendering caches.

{@link org.jasig.portal.rendering.hybrid.SaxToStringCacheFilter} is an example of a cross-type component that can be used to connect SAX-only and String-only stretches of the rendering pipeline: it serializes the incoming SAX content before caching it, and replays the cache to the downstream string-pipeline components.