org.codehaus.plexus.interpolation.fixed

## Class FixedStringSearchInterpolator

- java.lang.Object
- - org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator

All Implemented Interfaces:
  FixedValueSource

    public class FixedStringSearchInterpolator
    extends Object
    implements FixedValueSource

A fixed string search interpolator is permanently bound to a given set of value sources, an is totally fixed and stateless over these value sources.

The fixed interpolator is also a #StatelessValueSource and can be used as a source for a different fixed interpolator, creating a scope chain.

Once constructed, this interpolator will always point to the same set of objects (value sources), in such a way that if the underlying object is fixed, expressions will always evaluate to the same result.

Th fixed interpolator can be shared among different clients and is thread safe to the extent the underlying value sources can be accessed safely. Since interpolation expressions cannot modify the objects, thread safety concerns this will normally be limited to safe publication and memory model visibility of underlying objects.

The fixed interpolator can be a valuesource

### Field Summary

Fields
`static String` `DEFAULT_END_EXPR`
`static String` `DEFAULT_START_EXPR`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`BasicInterpolator` `asBasicInterpolator()`
`static FixedStringSearchInterpolator` `create(FixedValueSource... valueSources)`
`static FixedStringSearchInterpolator` `create(String startExpr, String endExpr, FixedValueSource... valueSources)`
`static FixedStringSearchInterpolator` `createWithPermittedNulls(FixedValueSource... valueSources)`
`static FixedStringSearchInterpolator` `empty()`
`Object` `getValue(String realExpr, InterpolationState interpolationState)`
`String` `interpolate(String input)`
`String` `interpolate(String input, InterpolationState interpolationState)`
`FixedStringSearchInterpolator` `withEscapeString(String escapeString)`
`FixedStringSearchInterpolator` `withExpressionMarkers(String startExpr, String endExpr)`
`FixedStringSearchInterpolator` `withPostProcessor(InterpolationPostProcessor postProcessor)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DEFAULT_START_EXPR

    public static final String DEFAULT_START_EXPR

See Also:
  Constant Field Values

#### DEFAULT_END_EXPR

    public static final String DEFAULT_END_EXPR

See Also:
  Constant Field Values

### Method Detail

#### create

    public static FixedStringSearchInterpolator create(String startExpr,
                                                       String endExpr,
                                                       FixedValueSource... valueSources)

#### create

    public static FixedStringSearchInterpolator create(FixedValueSource... valueSources)

#### createWithPermittedNulls

    public static FixedStringSearchInterpolator createWithPermittedNulls(FixedValueSource... valueSources)

#### withExpressionMarkers

    public FixedStringSearchInterpolator withExpressionMarkers(String startExpr,
                                                               String endExpr)

#### withPostProcessor

    public FixedStringSearchInterpolator withPostProcessor(InterpolationPostProcessor postProcessor)

#### withEscapeString

    public FixedStringSearchInterpolator withEscapeString(String escapeString)

#### interpolate

    public String interpolate(String input)
                       throws InterpolationCycleException

Throws:
  `InterpolationCycleException`

#### empty

    public static FixedStringSearchInterpolator empty()

#### getValue

    public Object getValue(String realExpr,
                           InterpolationState interpolationState)

Specified by:
  `getValue` in interface `FixedValueSource`
Returns:
  the value related to the expression, or null if not found (not available from this source)

#### asBasicInterpolator

    public BasicInterpolator asBasicInterpolator()

#### interpolate

    public String interpolate(String input,
                              InterpolationState interpolationState)
                       throws InterpolationCycleException

Throws:
  `InterpolationCycleException`