Class MultiVariableExpander

java.lang.Object
org.apache.commons.digester.substitution.MultiVariableExpander
All Implemented Interfaces:
VariableExpander

public class MultiVariableExpander extends Object implements VariableExpander

Expands variable references from multiple sources.

Since:
1.6
  • Field Details

    • nEntries

      private int nEntries
    • markers

      private ArrayList markers
    • sources

      private ArrayList sources
  • Constructor Details

    • MultiVariableExpander

      public MultiVariableExpander()
  • Method Details

    • addSource

      public void addSource(String marker, Map source)
    • expand

      public String expand(String param)
      Description copied from interface: VariableExpander
      Return the input string with any variables replaced by their corresponding value. If there are no variables in the string, then the input parameter is returned unaltered.
      Specified by:
      expand in interface VariableExpander
    • expand

      public String expand(String str, String marker, Map source)
      Replace any occurrences within the string of the form "marker{key}" with the value from source[key].

      Commonly, the variable marker is "$", in which case variables are indicated by ${key} in the string.

      Returns the string after performing all substitutions.

      If no substitutions were made, the input string object is returned (not a copy).

      Throws:
      IllegalArgumentException - if the input param references a variable which is not known to the specified source.