org.apache.cocoon.transformation
Class RoleFilterTransformer
java.lang.Object
|
+--org.apache.avalon.framework.logger.AbstractLoggable
|
+--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:
- Cacheable, org.apache.avalon.framework.component.Component, org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler, org.apache.avalon.framework.logger.Loggable, org.apache.avalon.excalibur.pool.Poolable, org.apache.avalon.excalibur.pool.Recyclable, SitemapModelComponent, Transformer, XMLConsumer, XMLPipe, XMLProducer
- public class RoleFilterTransformer
- extends FilterTransformer
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.
- Version:
- CVS $Id: RoleFilterTransformer.java,v 1.6 2002/02/22 07:03:56 cziegeler Exp $
- Author:
- Berin Loritsch
Fields inherited from interface org.apache.cocoon.transformation.Transformer |
ROLE |
Method Summary |
void |
endElement(java.lang.String uri,
java.lang.String loc,
java.lang.String raw)
Receive notification of the end of an element. |
long |
generateKey()
Disable caching |
void |
recycle()
Recycle the producer by removing references |
void |
setup(SourceResolver resolver,
java.util.Map objectModel,
java.lang.String src,
org.apache.avalon.framework.parameters.Parameters params)
BEGIN SitemapComponent methods |
void |
startElement(java.lang.String uri,
java.lang.String loc,
java.lang.String raw,
org.xml.sax.Attributes a)
BEGIN SAX ContentHandler handlers |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLoggable |
getLogger, setLogger, 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.xml.sax.ContentHandler |
endDocument, endPrefixMapping, ignorableWhitespace, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping |
Methods inherited from interface org.xml.sax.ext.LexicalHandler |
endDTD, startDTD |
RoleFilterTransformer
public RoleFilterTransformer()
setup
public final void setup(SourceResolver resolver,
java.util.Map objectModel,
java.lang.String src,
org.apache.avalon.framework.parameters.Parameters params)
throws ProcessingException,
org.xml.sax.SAXException,
java.io.IOException
- Description copied from class:
FilterTransformer
- BEGIN SitemapComponent methods
- Overrides:
setup
in class FilterTransformer
generateKey
public long generateKey()
- Disable caching
- Overrides:
generateKey
in class FilterTransformer
- Following copied from class:
org.apache.cocoon.transformation.FilterTransformer
- Returns:
- The generated key or
0
if the component
is currently not cacheable.
startElement
public final void startElement(java.lang.String uri,
java.lang.String loc,
java.lang.String raw,
org.xml.sax.Attributes a)
throws org.xml.sax.SAXException
- Description copied from class:
FilterTransformer
- BEGIN SAX ContentHandler handlers
- Overrides:
startElement
in class FilterTransformer
- Following copied from class:
org.apache.cocoon.xml.AbstractXMLPipe
- Parameters:
uri
- The Namespace URI, or the empty string if the element has no
Namespace URI or if Namespace
processing is not being performed.loc
- The local name (without prefix), or the empty string if
Namespace processing is not being performed.raw
- The raw XML 1.0 name (with prefix), or the empty string if
raw names are not available.a
- The attributes attached to the element. If there are no
attributes, it shall be an empty Attributes object.
endElement
public final void endElement(java.lang.String uri,
java.lang.String loc,
java.lang.String raw)
throws org.xml.sax.SAXException
- Description copied from class:
AbstractXMLPipe
- Receive notification of the end of an element.
- Overrides:
endElement
in class FilterTransformer
- Following copied from class:
org.apache.cocoon.xml.AbstractXMLPipe
- Parameters:
uri
- The Namespace URI, or the empty string if the element has no
Namespace URI or if Namespace
processing is not being performed.loc
- The local name (without prefix), or the empty string if
Namespace processing is not being performed.raw
- The raw XML 1.0 name (with prefix), or the empty string if
raw names are not available.
recycle
public void recycle()
- Description copied from class:
AbstractXMLProducer
- Recycle the producer by removing references
- Overrides:
recycle
in class AbstractXMLProducer
Copyright © 1999-2002 Apache Software Foundation. All Rights Reserved.