`
Mr-zhang
  • 浏览: 18407 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

Visual Rules Solution Java集成接口<10>—Java类中的List<E>类和VisualRules中的List<list>

阅读更多
本案例的需求是:
规则包:新建一个学生录入规则包,此规则包接受一系列参数(编号,姓名,性别,年龄,年级,备注),将数据全部插入到内存表中,在定义一个list<list>查询内存表数据。
Java类调用(可调用不同版本):在Eclipse中制作一个Test10类,main中接收对象,将对象传给规则执行,查询执行结果,可执行选择版本,执行不同版本下的规则文件。从上面例子都能看出来,从规则调用过来的学生表中数据都是list<list>类型的,在此希望是一list<Student>型式的数据。

修改规则包
点击内存表“学生表”的“学生表操作”选项卡,点击 图标,如下图:






勾选上方法getHeaderList(),如下图:





点击确定,如下图:




修改规则“查询学生信息”,如下图:





修改操作如下图:
`



替换后显示如下图:




点击保存 图标,导出规则编译文件,如下图:




添加java类
在java工程中添加一个java类,名为StudentInfo.java,其内容编辑如下:
package com.flagleader;
import java.util.ArrayList;
import java.util.List;
public class StudentInfo {
private Student student;
private List<Student> studentList = new ArrayList<Student>();
public StudentInfo() {
student = new Student(1, "李丽", 12, '男', "六年级", "无");
}
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
public List<Student> getStudentList() {
return studentList;
}
public void setStudentList(List<Student> studentList) {
this.studentList = studentList;
}
}
在java工程中添加一个java类,名为Test10.java,其内容编辑如下:
package com.flagleader;

import java.io.File;
import java.util.List;

import com.flagleader.engine.RuleEngine;
import com.flagleader.engine.RuleEngineException;
import com.flagleader.engine.RuleEngineFactory;
import com.flagleader.engine.RuleEngineManager;

/**
* 调用指定目录下默认文件下的编译文件
* 使用的是RuleEngine,该接口只能用于本地调用
* 可以指定目录下,执行哪个版本下的编译文件。
* 如RuleEngineFactory.getInstance("1.1").getRuleEngine();
* @author Administrator
*
*/
public class Test10 {
public static void main(String[] args) {
try {
// 编译文件指定目录,默认版本目录是指定目录下的default
RuleEngineManager.getInstance().init(new File("e:\\rscfile"));
// 工厂模式,该接口只能用于本地调用,getInstance("1.1")中的1.1是指定目录下的文件名
RuleEngine engine = RuleEngineFactory.getInstance("1.3").getRuleEngine();
// 以dto形式为规则传参
StudentInfo studentInfo = new StudentInfo();
// 执行规则,其中"student.add"为规则全名,student为传入参数
engine.executeBeans("student.add", studentInfo.getStudent(),studentInfo);
// 执行完规则后,获取数据,"studentList"必须和规则中取内存表数据的变量名一致
List<Student> list=studentInfo.getStudentList();
for (Student student : list) {
System.out.println(student.toString());
}
} catch (RuleEngineException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
执行java测试类
点击执行后,可以看到如下结果:




说明已经调用了student.add规则包,并且根据传入的参数,返回处理结果以list<list>形式展示。
同理,任何的其他java类,只需加入上述的代码,即可完成调用规则包的工作。
同理,上述例子都可以这样使用。

  • 大小: 168 KB
  • 大小: 145.4 KB
  • 大小: 147.1 KB
  • 大小: 125.5 KB
  • 大小: 139.3 KB
  • 大小: 126.7 KB
  • 大小: 196 KB
  • 大小: 141.6 KB
分享到:
评论

相关推荐

    水木清华站∶Java版精华区 含jsp及js等集合.chm

    Java版精华区 &lt;br&gt;含java jsp及js等精华帖子合集&lt;br&gt;适合收藏 查询&lt;br&gt;&lt;br&gt;序号 精华区主题 &lt;br&gt;--------------------------------&lt;br&gt; 1. [目录]Java教程 &lt;br&gt; 1. [目录]Java语言教程 &lt;br&gt; 2. [目录]来自java的传说...

    C# ObservableCollection与List

    在.NET框架中,C#提供了多种数据集合类用于存储和管理对象,其中`ObservableCollection`和`List&lt;T&gt;`是两种常见的类型。它们都是用于创建可变列表,但有着不同的应用场景和特性。 首先,我们来详细了解`List&lt;T&gt;`。`...

    Visual.Assist.X10.0.1246.0

    Express Editions)&lt;br&gt;&lt;br&gt;Microsoft Visual Studio .NET 2003 &lt;br&gt;...Visual C++ 5.0&lt;br&gt;Microsoft Visual Studio 97&lt;br&gt;Microsoft eMbedded Visual Tools 4.0&lt;br&gt;Microsoft eMbedded Visual Tools 3.0&lt;br&gt;&lt;br&gt;

    Visual.Assist.X10.5.1727.0

    Express Editions)&lt;br&gt;&lt;br&gt;Microsoft Visual Studio .NET 2003 &lt;br&gt;...Visual C++ 5.0&lt;br&gt;Microsoft Visual Studio 97&lt;br&gt;Microsoft eMbedded Visual Tools 4.0&lt;br&gt;Microsoft eMbedded Visual Tools 3.0&lt;br&gt;&lt;br&gt;...

    JSP訳文--工具--Java

    &lt;br&gt;UltraEdit 7.2&lt;br&gt;WebGain Studio 4 with VisualCafe&lt;br&gt;Forte for Java开发指南&lt;br&gt;Dreamweaver UltraDev&lt;br&gt;IBM NetObjects ScriptBuilder3.0&lt;br&gt;使用HomeSite加速JSP的开发&lt;br&gt;Java2的安全新特性下的Applet...

    C#深入浅出全接触

    &lt;br&gt;二、Java与C#&lt;br&gt;三、C#的主要特征&lt;br&gt;四、安装运行环境&lt;br&gt;五、C#编辑器&lt;br&gt;六、C#的程序结构&lt;br&gt;七、C#和名称空间&lt;br&gt;八、C#中一个经典例程的编写与编译&lt;br&gt;九、C#编程实战演习ABC&lt;br&gt; 1、使用Visual Studio ...

    Visual C++深入编程内幕.rar

    走进Visual C++ *&lt;br&gt;&lt;br&gt;1 理解VC工程 *&lt;br&gt;&lt;br&gt;2 MFC编程特点 *&lt;br&gt;&lt;br&gt;3使用Wizard *&lt;br&gt;&lt;br&gt;二 MFC程序结构分析 *&lt;br&gt;&lt;br&gt;1 WINDOWS程序工作原理 *&lt;br&gt;&lt;br&gt;2 建立应用程序 *&lt;br&gt;&lt;br&gt;3 程序结构剖析 *&lt;br&gt;&lt;br&gt;...

    Visual C++ 编程资源大全(英文控件)

    1,01.zip&lt;br&gt;Toolbar - Custom status messages and tooltips&lt;br&gt;用户状态信息与工具提示(3KB)&lt;END&gt;&lt;br&gt;2,02.zip&lt;br&gt;Remove system menu from floating toolbar&lt;br&gt;从浮动工具条中去除系统菜单(2KB)&lt;END&gt;&lt;br&gt;3,03....

    visual C++编程技巧.chm

    如何自定义消息 &lt;br&gt;&lt;br&gt;&lt;br&gt;Visual C++编程技巧之三 &lt;br&gt;&lt;br&gt;17、如何创建一个字回绕的CEditView &lt;br&gt;&lt;br&gt;18、通用控件的显示窗口 &lt;br&gt;&lt;br&gt;19、移动窗口 &lt;br&gt;&lt;br&gt;20、重置窗口的大小 &lt;br&gt;&lt;br&gt;21、如何单击除了窗口...

    JAVA编辑器

    本人不想使用庞大的Visual &lt;br&gt;Studio,但为了能编辑和使用&lt;br&gt;java,不得不开发了这一款小工具&lt;br&gt;,可以编译java程序,但是必须&lt;br&gt;安装好Java环境.&lt;br&gt;&lt;br&gt; 本编辑器有如下功能或者是&lt;br&gt;如下优点:&lt;br&gt; 1,关键字...

    office vba编程手册

    Microsoft Access Visual Basic参考.chm&lt;br&gt;Microsoft Excel Visual Basic参考.chm&lt;br&gt;Microsoft FrontPage(Page对象模型) Visual Basic参考.chm&lt;br&gt;Microsoft FrontPage(Web对象模型) Visual Basic参考.CHM&lt;br&gt;...

    Visual C++ 编程资源大全(英文源码 其它)

    40.zip&lt;br&gt;Getting rid of Window List from MDI applications&lt;br&gt;在MDI应用中去掉窗口列表(5KB)&lt;END&gt;&lt;br&gt;41,41.zip&lt;br&gt;Save and Restore&lt;br&gt;存储和恢复(7KB)&lt;END&gt;&lt;br&gt;42,42.zip&lt;br&gt;A Quick Start&lt;br&gt;使用微软本地化...

    Visual C++ 编程资源大全(源码 窗体)

    anicon2.zip&lt;br&gt;在窗口的标题条上显示动画图标(2KB)&lt;END&gt;&lt;br&gt;10,simple.zip&lt;br&gt;一般用途的分隔器类(43KB)&lt;END&gt;&lt;br&gt;11,outlook.zip&lt;br&gt;OutLook风格的分隔条(59KB)&lt;END&gt;&lt;br&gt;12,appbar1.zip&lt;br&gt;实现桌面的工具条...

    Visual C++ 编程资源大全(英文源码 ActiveX)

    26.zip&lt;br&gt;ActiveX Control Property Page Container&lt;br&gt;ActiveX控制属性页容器(6KB)&lt;END&gt;&lt;br&gt;27,27.zip&lt;br&gt;a popup list box like that in Visual C++ 6.0&lt;br&gt;一个具备VC6.0风格的弹出式列表框(6KB)&lt;END&gt;&lt;br&gt;28,28....

    Visual C++ 编程资源大全(英文源码 网络)

    15.zip&lt;br&gt;Internet Mail Look&lt;br&gt;网络邮件浏览(4KB)&lt;END&gt;&lt;br&gt;93,16.zip&lt;br&gt;E-Mail file attachment using MIME&lt;br&gt;使用MINE实现邮件附带文件(10KB)&lt;END&gt;&lt;br&gt;94,17.zip&lt;br&gt;A simple web browser using the IE4 ...

    实体类的简单基础应用 List 与 JSON 互相转换

    当我们谈论LINQ(Language Integrated Query)时,它是C#中用于查询数据的强大工具,可以与List&lt;T&gt;完美配合。例如,如果你想找出所有年龄大于18岁的学生,你可以这样做: ```csharp var adults = students.Where(s ...

    C#编程经验技巧宝典

    8&lt;br&gt;&lt;br&gt;0018 有效利用Visual Studio 2005附带程序 8&lt;br&gt;&lt;br&gt;0019 有效使用MSDN帮助 9&lt;br&gt;&lt;br&gt;0020 如何设置MSDN帮助 9&lt;br&gt;&lt;br&gt;1.4 其他 10&lt;br&gt;&lt;br&gt;0021 如何添加项目引用 10&lt;br&gt;&lt;br&gt;0022 如何添加Web...

    MSDN杂志 2008年第二期

    PIAB 与 WCF: 将 Policy Injection Application Block 与 WCF 服务集成&lt;br&gt;&lt;br&gt;• WF 操作指导: 使用 Windows Workflow Foundation 构建状态机&lt;br&gt;&lt;br&gt;• CLR 完全介绍: 动态语言和 Silverlight&lt;br&gt;&lt;br&gt;• 基本技术:...

    Visual C++网络通信编程实用案例精选_7

    &lt;br&gt;&lt;br&gt;目录介绍&lt;br&gt;第1章 Visual C++网络通信编程基础 1&lt;br&gt;1.1 Winsock1.1编程技术 1&lt;br&gt;1.1.1 Winsock的基本概念 1&lt;br&gt;1.1.2 Winsock的编程特点 2&lt;br&gt;1.1.3 Winsock基本的API 2&lt;br&gt;1.1.4 Winsock的...

    SQL2005入门到精通(27)

    第27章 Visual Basic.NET和SQL Server开发应用程序 539&lt;br&gt;27.1 Visual Basic.NET连接数据库 539&lt;br&gt;27.1.1 熟悉VB.NET集成开发环境 539&lt;br&gt;27.1.2 通过ADO.NET连接数据库 541&lt;br&gt;27.2 Visual Basic.NET开发学生档案...

Global site tag (gtag.js) - Google Analytics