org.apache.cocoon.transformation
Class RoleFilterTransformer
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.cocoon.xml.AbstractXMLProducer
org.apache.cocoon.xml.AbstractXMLPipe
org.apache.cocoon.transformation.AbstractTransformer
org.apache.cocoon.transformation.FilterTransformer
org.apache.cocoon.transformation.RoleFilterTransformer
- All Implemented Interfaces:
- CacheableProcessingComponent, ContentHandler, LexicalHandler, LogEnabled, Poolable, Recyclable, SitemapModelComponent, Transformer, XMLConsumer, XMLConsumer, XMLPipe, XMLProducer
- public class RoleFilterTransformer
- extends FilterTransformer
- Version:
- CVS $Id: RoleFilterTransformer.java 30941 2004-07-29 19:56:58Z vgritsenko $
- Author:
- Berin Loritsch
- Cocoon.sitemap.component.documentation:
- Filter XML fragments based on a user's role. This will help in
the development of smart forms that must only show information to
people who are logged in and have the correct role. The Role is
specified by the Request semantics. You can specify multiple roles
by using comma delimiting.
- Cocoon.sitemap.component.logger:
- sitemap.transformer.role-filter
Filter XML fragments based on a user's role. This will help in
the development of smart forms that must only show information to
people who are logged in and have the correct role. The Role is
specified by the Request semantics. You can specify multiple roles
by using comma delimiting.
<root xmlns:roles="http://apache.org/cocoon/role-filter/1.0">
<textbox name="identifier" roles:restricted="admin,boss"/>
<textbox name="name" roles:read-only="admin,boss"/>
</root>
The previous example will only show the "identifier" textbox for the
roles "admin" and "boss". It will pass role:read-only="" if the
roles "admin" or "boss" are accessing the page. That way you can
specify any special processing by testing for the read-only attribute.
This filter does not care about the prefix, only the namespace URI.
That means you can reassign the namespace to another prefix and all
will work as expected.
- Cocoon.sitemap.component.name:
- role-filter
Fields inherited from interface org.apache.cocoon.transformation.Transformer |
ROLE |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RoleFilterTransformer
public RoleFilterTransformer()
setup
public final void setup(SourceResolver resolver,
Map objectModel,
String src,
Parameters params)
throws ProcessingException,
SAXException,
IOException
- Description copied from class:
FilterTransformer
- BEGIN SitemapComponent methods
- Specified by:
setup
in interface SitemapModelComponent
- Overrides:
setup
in class FilterTransformer
- Throws:
ProcessingException
SAXException
IOException
getKey
public Serializable getKey()
- Disable caching
- Specified by:
getKey
in interface CacheableProcessingComponent
- Overrides:
getKey
in class FilterTransformer
- Returns:
- The generated key or
0
if the component
is currently not cacheable.
startElement
public final void startElement(String uri,
String loc,
String raw,
Attributes a)
throws SAXException
- Description copied from class:
FilterTransformer
- BEGIN SAX ContentHandler handlers
- Specified by:
startElement
in interface ContentHandler
- Overrides:
startElement
in class FilterTransformer
- Throws:
SAXException
endElement
public final void endElement(String uri,
String loc,
String raw)
throws SAXException
- Description copied from class:
AbstractXMLPipe
- Receive notification of the end of an element.
- Specified by:
endElement
in interface ContentHandler
- Overrides:
endElement
in class FilterTransformer
- Throws:
SAXException
recycle
public void recycle()
- Description copied from class:
AbstractXMLProducer
- Recycle the producer by removing references, and resetting handlers to
null (empty) implementations.
- Specified by:
recycle
in interface Recyclable
- Overrides:
recycle
in class AbstractXMLProducer
Copyright ? 1999-2005 The Apache Software Foundation. All Rights Reserved.