public class FixedStringSearchInterpolator extends java.lang.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.
The 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
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_END_EXPR |
static java.lang.String |
DEFAULT_START_EXPR |
private java.lang.String |
endExpr |
private java.lang.String |
escapeString |
private InterpolationPostProcessor |
postProcessor |
private java.lang.String |
startExpr |
private FixedValueSource[] |
valueSources |
Modifier | Constructor and Description |
---|---|
private |
FixedStringSearchInterpolator(java.lang.String startExpr,
java.lang.String endExpr,
java.lang.String escapeString,
InterpolationPostProcessor postProcessor,
FixedValueSource... valueSources) |
private final FixedValueSource[] valueSources
private final InterpolationPostProcessor postProcessor
public static final java.lang.String DEFAULT_START_EXPR
public static final java.lang.String DEFAULT_END_EXPR
private final java.lang.String startExpr
private final java.lang.String endExpr
private final java.lang.String escapeString
private FixedStringSearchInterpolator(java.lang.String startExpr, java.lang.String endExpr, java.lang.String escapeString, InterpolationPostProcessor postProcessor, FixedValueSource... valueSources)
public static FixedStringSearchInterpolator create(java.lang.String startExpr, java.lang.String endExpr, FixedValueSource... valueSources)
public static FixedStringSearchInterpolator create(FixedValueSource... valueSources)
public static FixedStringSearchInterpolator createWithPermittedNulls(FixedValueSource... valueSources)
public FixedStringSearchInterpolator withExpressionMarkers(java.lang.String startExpr, java.lang.String endExpr)
public FixedStringSearchInterpolator withPostProcessor(InterpolationPostProcessor postProcessor)
public FixedStringSearchInterpolator withEscapeString(java.lang.String escapeString)
public java.lang.String interpolate(java.lang.String input) throws InterpolationCycleException
InterpolationCycleException
public static FixedStringSearchInterpolator empty()
public java.lang.Object getValue(java.lang.String realExpr, InterpolationState interpolationState)
getValue
in interface FixedValueSource
realExpr
- The expression.interpolationState
- InterpolationState
.public BasicInterpolator asBasicInterpolator()
public java.lang.String interpolate(java.lang.String input, InterpolationState interpolationState) throws InterpolationCycleException
InterpolationCycleException