org.inria.ns.reflex.processor.xcl
Class FilterAction

java.lang.Object
  extended by org.inria.ns.reflex.processor.core.AbstractAction
      extended by org.inria.ns.reflex.processor.core.AbstractSetAction
          extended by org.inria.ns.reflex.processor.xcl.AbstractFilterAction
              extended by org.inria.ns.reflex.processor.xcl.FilterAction
All Implemented Interfaces:
Computable, Executable, Presentable, NamespaceContextFactory

public class FilterAction
extends AbstractFilterAction

A <xcl:filter> element filters XML input with rules (XPath patterns).

A filter can be either a connected filter or a filter definition. The definition of a filter must be connected to be usable. The definition of a filter can be parsed with <xcl:parse-filter>.

Author:
Philippe Poulard
See Also:
XPathFilter, RuleAction, ParseFilterAction

Nested Class Summary
 
Nested classes/interfaces inherited from class org.inria.ns.reflex.processor.core.AbstractAction
AbstractAction.ParameterAdapter, AbstractAction.UselessAction
 
Field Summary
 
Fields inherited from class org.inria.ns.reflex.processor.core.AbstractSetAction
NO_VALUE
 
Fields inherited from class org.inria.ns.reflex.processor.core.AbstractAction
actions, parent, processorInstance
 
Constructor Summary
FilterAction(Expression source, boolean normalize, Element element, AbstractAction parent)
          Create a new FilterAction.
 
Method Summary
 void addAction(AbstractAction action)
          Register a rule to this filter, or send the action to the upper class.
 Filter getFilter(XPathVariableResolver variableResolver)
          Return the filter def to apply.
 
Methods inherited from class org.inria.ns.reflex.processor.xcl.AbstractFilterAction
getComputedValue, setGuard, unmarshal
 
Methods inherited from class org.inria.ns.reflex.processor.core.AbstractSetAction
addProperty, getComputedName, getName, getValue, runAction, scope, unmarshalScope
 
Methods inherited from class org.inria.ns.reflex.processor.core.AbstractAction
addFallbackAction, createContext, getCanonicalPath, getFallbackAction, getLocalFallbackAction, getLogger, getNamespaceContext, getNode, getParent, recover, recover, removeFallbackAction, reorganize, run, runActions, toPrettyString, toPrettyString, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FilterAction

public FilterAction(Expression source,
                    boolean normalize,
                    Element element,
                    AbstractAction parent)
             throws XMLException
Create a new FilterAction.

Parameters:
source - The source to filter : a DOM node, a SAX reader, or a file, or null. null means : process the current object.
normalize - The default value for normalization. true if the text nodes within the node that matches must be merged, false otherwise. Can be override by each rule.
node - The node from which the action has been unmarshalled. Used for namespace prefix resolution when performing XPath expressions.
parent - The action depending from.
Throws:
XMLException
Method Detail

addAction

public void addAction(AbstractAction action)
Register a rule to this filter, or send the action to the upper class.

Overrides:
addAction in class AbstractAction
Parameters:
action - A rule is register to this filter.
See Also:
Rule, AbstractAction.addAction(org.inria.ns.reflex.processor.core.AbstractAction)

getFilter

public Filter getFilter(XPathVariableResolver variableResolver)
                 throws XPathException
Return the filter def to apply.

Parameters:
variableResolver - Not used.
Returns:
A filter def.
Throws:
XPathException - When an XPath error occurs.