01: package org.drools.rule.builder.dialect.java;
02:
03: import java.util.List;
04: import java.util.Map;
05:
06: import org.drools.lang.descr.ReturnValueRestrictionDescr;
07: import org.drools.rule.Declaration;
08: import org.drools.rule.ReturnValueRestriction;
09: import org.drools.rule.builder.ReturnValueBuilder;
10: import org.drools.rule.builder.RuleBuildContext;
11:
12: public class JavaReturnValueBuilder extends AbstractJavaBuilder
13: implements ReturnValueBuilder {
14: public void build(
15: final RuleBuildContext context,
16: final List[] usedIdentifiers,
17: final Declaration[] previousDeclarations,
18: final Declaration[] localDeclarations,
19: final ReturnValueRestriction returnValueRestriction,
20: final ReturnValueRestrictionDescr returnValueRestrictionDescr) {
21: final String className = "returnValue" + context.getNextId();
22: returnValueRestrictionDescr.setClassMethodName(className);
23:
24: final Map map = createVariableContext(className,
25: (String) returnValueRestrictionDescr.getContent(),
26: context, previousDeclarations, localDeclarations,
27: (String[]) usedIdentifiers[1]
28: .toArray(new String[usedIdentifiers[1].size()]));
29:
30: generatTemplates("returnValueMethod", "returnValueInvoker",
31: context, className, map, returnValueRestriction,
32: returnValueRestrictionDescr);
33: }
34: }
|