Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.digester3.substitution
Class VariableSubstitutor

    java.lang.Object
      org.apache.commons.digester3.Substitutor
          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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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