Package example

Source Code of example.ExampleCode

package example;

import java.io.Serializable;

import org.soybeanMilk.core.Executor;
import org.soybeanMilk.core.DefaultExecutor;
import org.soybeanMilk.core.bean.DefaultGenericConverter;
import org.soybeanMilk.core.config.Configuration;
import org.soybeanMilk.core.exe.Action;
import org.soybeanMilk.core.exe.Invoke;
import org.soybeanMilk.core.exe.Invoke.Arg;
import org.soybeanMilk.core.os.ConvertableObjectSource;
import org.soybeanMilk.core.os.HashMapObjectSource;
import org.soybeanMilk.core.resolver.DefaultResolverFactory;
import org.soybeanMilk.core.resolver.FactoryResolverProvider;

import example.resolver.HelloResolver;

public class ExampleCode
{
  public static void main(String[] args) throws Exception
  {
    Serializable resolverId="helloResolver";
   
    String actionName="helloAction";
   
    Serializable resultKey_hello="helloResult";
    Serializable argKey_hello_to="helloTo";
    Serializable argKey_hello_repeat="helloRepeat";
   
    //定义解决对象工厂
    DefaultResolverFactory rf=new DefaultResolverFactory();
    rf.addResolver(resolverId, new HelloResolver());
   
    //创建配置
    Configuration cfg=new Configuration(rf);
   
    //创建动作
    Action action=new Action(actionName);
   
    {
      Invoke invoke=new Invoke(
          null,
          "hello",
          new Arg[]{new Arg(argKey_hello_to), new Arg(argKey_hello_repeat)},
          resultKey_hello,
          new FactoryResolverProvider(rf, resolverId));
     
      action.addExecutable(invoke);
    }
    {
      Invoke invoke=new Invoke(
          null,
          "printObject",
          new Arg[]{new Arg(resultKey_hello)},
          null,
          HelloResolver.class);
     
      action.addExecutable(invoke);
    }
   
    cfg.addExecutable(action);
   
    //创建执行器
    Executor executor=new DefaultExecutor(cfg);
   
    ConvertableObjectSource os = new HashMapObjectSource(new DefaultGenericConverter());
   
    //设置参数
    os.set(argKey_hello_to, "mars");
    os.set(argKey_hello_repeat, 3);
   
    //执行
    executor.execute(actionName, os);
  }
}
TOP

Related Classes of example.ExampleCode

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.