View Javadoc
1   package org.codehaus.plexus.interpolation;
2   
3   import java.util.List;
4   
5   import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
6   import org.codehaus.plexus.interpolation.fixed.InterpolationState;
7   
8   /**
9    * A value source that allows a fixed interpolator to be injected into
10   * a regular interpolator. This value source encapsulates state, so even though
11   * the fixed interpolator can be used as a singleton, a single FixedInterpolatorValueSource
12   * can only belong to one interpolator any given time.
13   */
14  public class FixedInterpolatorValueSource implements ValueSource {
15  
16      private final FixedStringSearchInterpolator fixedStringSearchInterpolator;
17      private final InterpolationState errorCollector = new InterpolationState();
18  
19      public FixedInterpolatorValueSource(FixedStringSearchInterpolator fixedStringSearchInterpolator) {
20          this.fixedStringSearchInterpolator = fixedStringSearchInterpolator;
21      }
22  
23      public Object getValue(String expression) {
24          return fixedStringSearchInterpolator.getValue(expression, errorCollector);
25      }
26  
27      public List getFeedback() {
28          return errorCollector.asList();
29      }
30  
31      public void clearFeedback() {
32          errorCollector.clear();
33      }
34  }