图形化系统开发组件X-Series(二)——XrossUnit入门使用

1、从github上下载源码

git clone https://github.com/hejiehui/xUnit

2、通过import一个maven项目导入eclipse,xunit项目是源码,xunit-sample是官方的例子。xunit基本的使用方式可以跟着例子慢慢学。editor是图形界面的编辑器,需要自行编译后放到eclipse的插件中。

3、新建一个普通的maven项目。使用xunit时一般是在资源文件夹里新建一个xunit文件,然后往图中添加各种单元。

4、新建MyContext类,实现Context接口,这个类是用于传参给xunit单元进行处理的

package com.sadoshi.xunit;

import com.xrosstools.xunit.Context;

public class MyContext implements Context {
	private String label;

	public String getLabel() {
		return label;
	}

	public void setLabel(String label) {
		this.label = label;
	}
}

这里只设置一个label字段。实际开发中可设置更多字段,以及某些函数调用

5、新建一个MyProcessor类,实现Processor接口。这个类将是xunit中实际进行处理业务的类。

package com.sadoshi.xunit;

import java.util.Map;

import com.xrosstools.xunit.Context;
import com.xrosstools.xunit.Processor;
import com.xrosstools.xunit.UnitPropertiesAware;


public class MyProcessor implements Processor{

	@Override
	public void process(Context ctx) {
		MyContext mc = (MyContext)ctx;
		System.out.println(mc.getLabel());
	}
}

这个例子仅仅是输出label的值

6、新建一个new_xross_xunit.xunit文件,新建一个Processor,改名为firstProcessor,并指定其类为MyProcessor。不指定的话则使用默认DefaultUnitImpl类。

7、新建Application类进行调用

package com.sadoshi.xunit;

import com.xrosstools.xunit.Processor;
import com.xrosstools.xunit.XunitFactory;

public class Application {
	
	private void useMyProcess(XunitFactory f) throws Exception {
		Processor p = f.getProcessor("firstProcessor");
		MyContext ctx = new MyContext();
		ctx.setLabel("abc");
		p.process(ctx);
	}

	public static void main(String[] args) throws Exception {
		XunitFactory f = XunitFactory.load("new_xross_unit.xunit");
		Application app = new Application();
		app.useMyProcess(f);
	}
}

程序首先通过XunitFactory.load加载xunit文件,然后通过刚才processor的命名获取对应Processor,这里获取名为firstProcessor的processor,之后设置MyContext的label值并作为参数传入MyProcessor的process方法中。

最终运行Application输出了label的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值