⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 invokergenerator.java

📁 drools 一个开放源码的规则引擎
💻 JAVA
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -