invokergenerator.java
来自「drools 一个开放源码的规则引擎」· Java 代码 · 共 66 行
JAVA
66 行
package org.drools.semantics.java;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import org.drools.rule.Declaration;
public class InvokerGenerator
{
public String generate(String methodName,
String returnType,
Map applicationData,
Set usedApplicationData,
Declaration[] declarations)
{
StringBuffer buffer = new StringBuffer();
buffer.append( "package org.drools;\n" );
buffer.append( "public " );
buffer.append( returnType );
buffer.append( " " );
buffer.append( methodName );
buffer.append( "(" );
/*
* values[i] = new DefaultKnowledgeHelper( rule, tuple ); i++;
*/
String identifier = null;
Class clazz = null;
Iterator it = usedApplicationData.iterator();
while ( it.hasNext() )
{
identifier = (String) it.next();
clazz = (Class) applicationData.get( identifier );
buffer.append( clazz.getName() );
buffer.append( " " );
buffer.append( identifier );
buffer.append( " " );
buffer.append( "applicationData.get(\"" );
buffer.append( identifier );
buffer.append( "\");\n" );
}
Declaration declaration = null;
for ( int i = 0; i < declarations.length; i++ )
{
declaration = declarations[i];
identifier = declaration.getIdentifier();
clazz = declaration.getClass();
buffer.append( clazz.getName() );
buffer.append( " " );
buffer.append( identifier );
buffer.append( " " );
buffer.append( "tuple.get(\"" );
buffer.append( identifier );
buffer.append( "\");\n" );
}
return buffer.toString();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?