org.apache.commons.digester3.substitution
Class VariableSubstitutor

java.lang.Object
  extended by org.apache.commons.digester3.Substitutor
      extended by org.apache.commons.digester3.substitution.VariableSubstitutor

public class VariableSubstitutor
extends Substitutor

Substitutor implementation that support variable replacement for both attributes and body text. The actual expansion of variables into text is delegated to VariableExpander implementations. Supports setting an expander just for body text or just for attributes. Also supported is setting no expanders for body text and for attributes.

Since:
1.6

Constructor Summary
VariableSubstitutor(VariableExpander expander)
          Constructs a Substitutor which uses the same VariableExpander for both body text and attibutes.
VariableSubstitutor(VariableExpander attributesExpander, VariableExpander bodyTextExpander)
          Constructs a Substitutor.
 
Method Summary
 Attributes substitute(Attributes attributes)
           Substitutes the attributes (before they are passed to the Rule implementations's).
 String substitute(String bodyText)
          Substitutes for the body text.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VariableSubstitutor

public VariableSubstitutor(VariableExpander expander)
Constructs a Substitutor which uses the same VariableExpander for both body text and attibutes.

Parameters:
expander - VariableExpander implementation, null if no substitutions are to be performed

VariableSubstitutor

public VariableSubstitutor(VariableExpander attributesExpander,
                           VariableExpander bodyTextExpander)
Constructs a Substitutor.

Parameters:
attributesExpander - VariableExpander implementation to be used for attributes, null if no attribute substitutions are to be performed
bodyTextExpander - VariableExpander implementation to be used for bodyTextExpander, null if no attribute substitutions are to be performed
Method Detail

substitute

public Attributes substitute(Attributes attributes)

Substitutes the attributes (before they are passed to the Rule implementations's).

Digester will only call this method a second time once the original Attributes instance can be safely reused. The implementation is therefore free to reuse the same Attributes instance for all calls.

Specified by:
substitute in class Substitutor
Parameters:
attributes - the Attributes passed into Digester by the SAX parser, not null (but may be empty)
Returns:
Attributes to be passed to the Rule implementations. This method may pass back the Attributes passed in. Not null but possibly empty.

substitute

public String substitute(String bodyText)
Substitutes for the body text. This method may substitute values into the body text of the elements that Digester parses.

Specified by:
substitute in class Substitutor
Parameters:
bodyText - the body text (as passed to Digester)
Returns:
the body text to be passed to the Rule implementations


Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.