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
- Specified by:
setup
in interface SitemapModelComponent
- Overrides:
setup
in class FilterTransformer
ProcessingException
org.xml.sax.SAXException
java.io.IOException
generateKey
public long generateKey()
- Disable caching
- Specified by:
generateKey
in interface Cacheable
- Overrides:
generateKey
in class 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
- Specified by:
startElement
in interface org.xml.sax.ContentHandler
- Overrides:
startElement
in class FilterTransformer
- 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.
org.xml.sax.SAXException
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.
- Specified by:
endElement
in interface org.xml.sax.ContentHandler
- Overrides:
endElement
in class FilterTransformer
- 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.
org.xml.sax.SAXException
recycle
public void recycle()
- Description copied from class:
AbstractXMLProducer
- Recycle the producer by removing references
- Specified by:
recycle
in interface org.apache.avalon.excalibur.pool.Recyclable
- Overrides:
recycle
in class AbstractXMLProducer
Copyright © 1999-2002 Apache Software Foundation. All Rights Reserved.