this.supportMultiLineFiltering = supportMultiLineFiltering;
}
public Reader getReader( Reader reader )
{
MultiDelimiterStringSearchInterpolator interpolator = new MultiDelimiterStringSearchInterpolator();
interpolator.setDelimiterSpecs( delimiters );
RecursionInterceptor ri = null;
if ( projectStartExpressions != null && !projectStartExpressions.isEmpty() )
{
ri = new PrefixAwareRecursionInterceptor( projectStartExpressions, true );
}
else
{
ri = new SimpleRecursionInterceptor();
}
interpolator.addValueSource( propertiesValueSource );
if ( project != null )
{
interpolator.addValueSource( new PrefixedObjectValueSource( projectStartExpressions, project, true ) );
}
if ( mavenSession != null )
{
interpolator.addValueSource( new PrefixedObjectValueSource( "session", mavenSession ) );
final Settings settings = mavenSession.getSettings();
if ( settings != null )
{
interpolator.addValueSource( new PrefixedObjectValueSource( "settings", settings ) );
interpolator.addValueSource( new SingleResponseValueSource( "localRepository",
settings.getLocalRepository() ) );
}
}
interpolator.setEscapeString( escapeString );
if ( escapeWindowsPaths )
{
interpolator.addPostProcessor( new InterpolationPostProcessor()
{
public Object execute( String expression, Object value )
{
if ( value instanceof String )
{