@Override public void visitFreeFormLine(FreeFormLine ffl) { StringBuffer interpolatedResult = new StringBuffer(); final Matcher matcherTemplateKey = patternTemplateKey.matcher( ffl.text ); while ( matcherTemplateKey.find() ) { String varName = matcherTemplateKey.group( 1 ); matcherTemplateKey.appendReplacement( interpolatedResult, rowDataProvider.getTemplateKeyValue( varName ) ); } matcherTemplateKey.appendTail( interpolatedResult ); //Don't update the original FreeFormLine object FreeFormLine fflClone = new FreeFormLine(); fflClone.text = interpolatedResult.toString(); super.visitFreeFormLine( fflClone ); }
@Override public void visitFreeFormLine(FreeFormLine ffl) { StringBuffer interpolatedResult = new StringBuffer(); final Matcher matcherTemplateKey = patternTemplateKey.matcher( ffl.text ); while ( matcherTemplateKey.find() ) { String varName = matcherTemplateKey.group( 1 ); matcherTemplateKey.appendReplacement( interpolatedResult, rowDataProvider.getTemplateKeyValue( varName ) ); } matcherTemplateKey.appendTail( interpolatedResult ); //Don't update the original FreeFormLine object FreeFormLine fflClone = new FreeFormLine(); fflClone.text = interpolatedResult.toString(); super.visitFreeFormLine( fflClone ); }
isSubPattern ); } else if ( pattern.getRightPattern() instanceof FreeFormLine ) { visitFreeFormLine( (FreeFormLine) pattern.getRightPattern() ); } else { throw new IllegalArgumentException( "Unsupported pattern " + pattern.getRightPattern() + " for FROM COLLECT" );
isSubPattern ); } else if ( pattern.getRightPattern() instanceof FreeFormLine ) { visitFreeFormLine( (FreeFormLine) pattern.getRightPattern() ); } else { throw new IllegalArgumentException( "Unsupported pattern " + pattern.getRightPattern() + " for FROM COLLECT" );