Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.lenya.cms.cocoon.transformation
Class LinkRewritingTransformer  view LinkRewritingTransformer download LinkRewritingTransformer.java

java.lang.Object
  extended byAbstractLoggable
      extended byorg.apache.cocoon.xml.AbstractXMLProducer
          extended byorg.apache.cocoon.xml.AbstractXMLPipe
              extended byorg.apache.cocoon.transformation.AbstractTransformer
                  extended byorg.apache.cocoon.transformation.AbstractSAXTransformer
                      extended byorg.apache.lenya.cms.cocoon.transformation.LinkRewritingTransformer
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, org.apache.cocoon.sitemap.SitemapModelComponent, org.apache.cocoon.transformation.Transformer, org.apache.cocoon.xml.XMLConsumer, org.apache.cocoon.xml.XMLPipe, org.apache.cocoon.xml.XMLProducer

public class LinkRewritingTransformer
extends org.apache.cocoon.transformation.AbstractSAXTransformer

Link rewriting transformer.

This transformer is applied to an XHMTL document. It processes <xhtml:a href="..."> attributes of the following form:

{context-prefix}/{publication-id}/{area}{document-url}

These links are rewritten using the following rules:

$Id: LinkRewritingTransformer.java,v 1.7 2004/03/16 11:12:16 gregor


Field Summary
private  org.apache.lenya.ac.AccreditableManager accreditableManager
           
private  org.apache.lenya.ac.AccessControllerResolver acResolver
           
static java.lang.String ATTRIBUTE_HREF
          The local name of the HTML <a> href attribute.
private  org.apache.lenya.cms.publication.Document currentDocument
           
private  boolean ignoreAElement
           
private  java.lang.String indent
           
private  org.apache.lenya.ac.PolicyManager policyManager
           
private  ServiceSelector serviceSelector
           
 
Fields inherited from class org.apache.cocoon.transformation.AbstractSAXTransformer
context, defaultNamespaceURI, emptyAttributes, ignoreEmptyCharacters, ignoreEventsCount, ignoreHooksCount, ignoreWhitespaces, manager, namespaceURI, objectModel, parameters, recorderStack, request, resolver, response, source, stack
 
Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer
contentHandler, lexicalHandler, xmlConsumer
 
Fields inherited from interface org.apache.cocoon.transformation.Transformer
ROLE
 
Constructor Summary
LinkRewritingTransformer()
           
 
Method Summary
 void dispose()
           
 void endElement(java.lang.String uri, java.lang.String name, java.lang.String qname)
          (non-Javadoc)
protected  org.apache.lenya.cms.publication.Document getCurrentDocument()
          Returns the currently processed document.
protected  boolean isIgnoreAElement()
           
protected  boolean lookingAtAElement(java.lang.String name)
           
protected  boolean lookingAtLinkElement(java.lang.String name)
          Check if we are looking at a link element
 void recycle()
          (non-Javadoc)
protected  void rewriteLink(org.xml.sax.helpers.AttributesImpl newAttrs, org.apache.lenya.cms.publication.Document targetDocument, java.lang.String anchor, java.lang.String queryString)
          Rewrites a link.
protected  void setHrefAttribute(org.xml.sax.helpers.AttributesImpl attr, java.lang.String value)
          Sets the value of the href attribute.
protected  void setIgnoreAElement(boolean ignoreAElement)
           
 void setup(org.apache.cocoon.environment.SourceResolver resolver, java.util.Map objectModel, java.lang.String source, Parameters parameters)
          Setup the next round.
 void startElement(java.lang.String uri, java.lang.String name, java.lang.String qname, org.xml.sax.Attributes attrs)
          (non-Javadoc)
 
Methods inherited from class org.apache.cocoon.transformation.AbstractSAXTransformer
addRecorder, characters, comment, compose, configure, endCDATA, endDocument, endDTD, endEntity, endParametersRecording, endPrefixMapping, endRecording, endSerializedXMLRecording, endTextRecording, endTransformingElement, ignorableWhitespace, processingInstruction, removeRecorder, sendEndElementEvent, sendEndPrefixMapping, sendEvents, sendParametersEvents, sendStartElementEvent, sendStartElementEvent, sendStartPrefixMapping, sendTextEvent, setDocumentLocator, setupTransforming, skippedEntity, startCDATA, startDocument, startDTD, startEntity, startParametersRecording, startPrefixMapping, startRecording, startSerializedXMLRecording, startTextRecording, startTransformingElement
 
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer
setConsumer, setContentHandler, setLexicalHandler
 
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

ignoreAElement

private boolean ignoreAElement

serviceSelector

private ServiceSelector serviceSelector

policyManager

private org.apache.lenya.ac.PolicyManager policyManager

acResolver

private org.apache.lenya.ac.AccessControllerResolver acResolver

accreditableManager

private org.apache.lenya.ac.AccreditableManager accreditableManager

currentDocument

private org.apache.lenya.cms.publication.Document currentDocument

ATTRIBUTE_HREF

public static final java.lang.String ATTRIBUTE_HREF
The local name of the HTML <a> href attribute.

See Also:
Constant Field Values

indent

private java.lang.String indent
Constructor Detail

LinkRewritingTransformer

public LinkRewritingTransformer()
Method Detail

setup

public void setup(org.apache.cocoon.environment.SourceResolver resolver,
                  java.util.Map objectModel,
                  java.lang.String source,
                  Parameters parameters)
           throws org.apache.cocoon.ProcessingException,
                  org.xml.sax.SAXException,
                  java.io.IOException
Description copied from class: org.apache.cocoon.transformation.AbstractSAXTransformer
Setup the next round. The instance variables are initialised.


getCurrentDocument

protected org.apache.lenya.cms.publication.Document getCurrentDocument()
Returns the currently processed document.


startElement

public void startElement(java.lang.String uri,
                         java.lang.String name,
                         java.lang.String qname,
                         org.xml.sax.Attributes attrs)
                  throws org.xml.sax.SAXException
(non-Javadoc)


rewriteLink

protected void rewriteLink(org.xml.sax.helpers.AttributesImpl newAttrs,
                           org.apache.lenya.cms.publication.Document targetDocument,
                           java.lang.String anchor,
                           java.lang.String queryString)
                    throws org.apache.lenya.ac.AccessControlException,
                           org.apache.lenya.cms.publication.PublicationException
Rewrites a link.


setHrefAttribute

protected void setHrefAttribute(org.xml.sax.helpers.AttributesImpl attr,
                                java.lang.String value)
Sets the value of the href attribute.


endElement

public void endElement(java.lang.String uri,
                       java.lang.String name,
                       java.lang.String qname)
                throws org.xml.sax.SAXException
(non-Javadoc)


lookingAtLinkElement

protected boolean lookingAtLinkElement(java.lang.String name)
Check if we are looking at a link element


lookingAtAElement

protected boolean lookingAtAElement(java.lang.String name)

dispose

public void dispose()

recycle

public void recycle()
(non-Javadoc)


isIgnoreAElement

protected boolean isIgnoreAElement()

setIgnoreAElement

protected void setIgnoreAElement(boolean ignoreAElement)