package org.drools.rule.builder.dialect.java; import java.util.List; import java.util.Map; import org.drools.lang.descr.ReturnValueRestrictionDescr; import org.drools.rule.Declaration; import org.drools.rule.ReturnValueRestriction; import org.drools.rule.builder.ReturnValueBuilder; import org.drools.rule.builder.RuleBuildContext; public class JavaReturnValueBuilder extends AbstractJavaRuleBuilder implements ReturnValueBuilder { public void build(final RuleBuildContext context, final List[] usedIdentifiers, final Declaration[] previousDeclarations, final Declaration[] localDeclarations, final ReturnValueRestriction returnValueRestriction, final ReturnValueRestrictionDescr returnValueRestrictionDescr) { final String className = "returnValue" + context.getNextId(); returnValueRestrictionDescr.setClassMethodName( className ); final Map map = createVariableContext( className, (String) returnValueRestrictionDescr.getContent(), context, previousDeclarations, localDeclarations, (String[]) usedIdentifiers[1].toArray( new String[usedIdentifiers[1].size()] ) ); map.put( "readLocalsFromTuple", Boolean.FALSE ); generatTemplates( "returnValueMethod", "returnValueInvoker", context, className, map, returnValueRestriction, returnValueRestrictionDescr ); } }