# 02 任务内置对象
# com.seeyon.v3x.dee
# Document
简要描述:
- com.seeyon.v3x.dee.Document
- Document是DEE任务中数据流转对象
- 每次DEE任务执行都会有一个内置的document变量贯穿始终
- 在脚本适配器中可以直接使用document变量
Document格式
<root>
<table1 count=4 totalCount=4>
<row>
<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
</row>
<row>
<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
</row>
</table1>
<table2 count=4 totalCount=4>
<row>
<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
</row>
<row>
<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
</row>
</table2>
</root>
注:如上table1和table2中的属性count值表示实际行数,totalCount是总行数。
例子
document.getRootElement();//获取document根元素
方法列表
方法名称 | 方法简介 |
---|---|
Element getRootElement() | 获取Document对象的根元素 |
Element createElement(String name) | 通过指定名称创建Element对象 |
Element createElement(String name, String value) | 通过指定名称创建Element并且设置Element的值 |
TransformContext getContext() | 获取当前DEE任务的上下文 |
方法签名:
Element getRootElement()
简要描述:
- 获取Document对象的根元素
参数:
参数名 | 类型 | 说明 |
---|---|---|
无 |
返回值说明
类型 | 说明 |
---|---|
com.seeyon.v3x.dee.Document.Element | Element对象 |
使用例子
Element root = document.getRootElement();//获取document根元素
备注
- 无
方法签名:
Element createElement(String name)
简要描述:
- 通过指定名称创建Element对象
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | Element名称 |
返回值说明
类型 | 说明 |
---|---|
com.seeyon.v3x.dee.Document.Element | Element对象 |
使用例子
Element table1 = document.createElement("table1");//创建名称为“table1”的元素
table1.setAttribute("count",3); //添加实际条数**count**属性
table1.setAttribute("totalCount",500);//添加总条数totalCount属性
备注
- 无
方法签名:
Element createElement(String name, String value)
简要描述:
- 通过指定名称创建Element并且设置Element的值
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | Element名称 |
value | String | Element值 |
返回值说明
类型 | 说明 |
---|---|
com.seeyon.v3x.dee.Document.Element | Element对象 |
使用例子
Element table1 = document.createElement("table1","hello world");//创建名称为“table1”的元素,并且将元素的值设置为“hello world”
创建后此时将table1节点的xml内容:
备注
- 无
方法签名:
TransformContext getContext()
简要描述:
- 获取当前DEE任务的上下文
参数:
参数名 | 类型 | 说明 |
---|---|---|
无 |
返回值说明
类型 | 说明 |
---|---|
com.seeyon.v3x.dee.TransformContext | 上下文 |
使用例子
document.getContext()//获取当前DEE任务的上下文
备注
- 通过上述例子,就可以获取到当前任务的上下文,从而获取/设置上下文中的数据
# Document.Element
简要描述:
- com.seeyon.v3x.dee.Document.Element
- Element是Document的元素
- 一级元素为Document根元素,只有唯一一个,名称为“root”
- 二级元素为“root”的子元素,定义为表名称,名称自定义但不允许重复,可以有多个
- 三级元素为表元素的子元素,定义为表中行记录,名称固定为“row”,可以有多个
- 四级元素为“row”的子元素,定义为字段,名称自定义但不允许重复,可以有多个,字段的值为数据值
格式如下:
<root>
<table1 count=4 totalCount=4>
<row>
<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
</row>
<row>
<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
</row>
</table1>
<table2 count=4 totalCount=4>
<row>
<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
</row>
<row>
<field1>value</field1><field2>value</field2><fieldN>value</fieldN>
</row>
</table2>
</root>
方法列表:
方法名称 | 方法简介 |
---|---|
String getName() | 获取当前元素的名称 |
Object getValue() | 获取当前元素的值 |
void setValue(Object value) | 设置当前元素的值 |
ListgetChildren() | 获取当前元素的所有直接子元素 |
ListgetChildren(String name) | 根据指定名称获取元素的直接子元素 |
ListgetAttributes() | 获取当前元素的所有属性 |
Attribute getAttribute(String name) | 根据指定名称获取当前元素的属性 |
Attribute setAttribute(String name, Object value) | 设置当前元素的属性 |
Element getChild(String name) | 根据名称获取当前元素的子元素 |
Element addChild(String name) | 为当前元素增加指定名称的子元素 |
Element addChild(Element element) | 为当前元素增加子元素 |
void removeChild(String name) | 根据指定元素名称删除当前元素的子元素 |
方法签名:
String getName()
简要描述:
- 获取当前元素的名称
参数:
参数名 | 类型 | 说明 |
---|---|---|
无 |
返回值说明
类型 | 说明 |
---|---|
String | 元素名称 |
使用例子
document.getRootElement().getName();//可以获取root元素的名称
备注
- 无
方法签名:
Object getValue();
简要描述:
- 获取当前元素的值
参数:
参数名 | 类型 | 说明 |
---|---|---|
无 |
返回值说明
类型 | 说明 |
---|---|
Object | 元素的值 |
使用例子
List<Element> list = document.getRootElement().getChild("table1").getChildren();//先获取table1的所有**row**元素
list.**get**(0).getChild("field1").getValue();//获取第一个**row**元素的子元素field1元素的值
备注
- 无
方法签名:
void setValue(Object value)
简要描述:
- 设置当前元素的值
参数:
参数名 | 类型 | 说明 |
---|---|---|
value | Object | 元素的值 |
返回值说明
类型 | 说明 |
---|---|
void | 没有返回值 |
使用例子
List<Element> list = document.getRootElement().getChild("table1").getChildren();//先获取table1的所有**row**元素
list.**get**(0).getChild("field1").setValue("hello world");//获取第一个**row**元素的子元素field1,并且设置field1元素的值为"hello world"
备注
- 无
方法签名:
List getChildren()
简要描述:
- 获取当前元素的所有直接子元素
参数:
参数名 | 类型 | 说明 |
---|---|---|
无 |
返回值说明
类型 | 说明 |
---|---|
List | 所有直接子节点Element对象的集合 |
使用例子
document.getRootElement().getChildren();//可获取root节点下所有直接子节点(即表节点)
备注
- 无
方法签名:
List getChildren(String name)
简要描述:
- 根据指定名称获取元素的直接子元素
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | 子节点名称 |
返回值说明
类型 | 说明 |
---|---|
List | 所有名称为name的直接子节点Element对象的集合 |
使用例子
document.getRootElement().getChild("table1").getChildren("row");//可获取表table1节点下的所有**row**节点的集合
备注
- 无
方法签名:
List getAttributes()
简要描述:
- 获取当前元素的所有属性
参数:
参数名 | 类型 | 说明 |
---|---|---|
无 |
返回值说明
类型 | 说明 |
---|---|
List | 元素所有属性的集合 |
使用例子
document.getRootElement().getChild("table1").getAttributes();//获取表节点table1的所有属性
备注
- 无
方法签名:
Attribute getAttribute(String name)
简要描述:
- 根据指定名称获取当前元素的属性
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | 属性名称 |
返回值说明
类型 | 说明 |
---|---|
com.seeyon.v3x.dee.Document.Attribute | 元素属性对象 |
使用例子
document.getRootElement().getChild("table1").getAttribute("totalCount");//获取表节点table1的“totalCount”属性
备注
- 无
方法签名:
Attribute setAttribute(String name, Object value)
简要描述:
- 设置当前元素的属性
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | 属性名称 |
value | Object | 属性值 |
返回值说明
类型 | 说明 |
---|---|
com.seeyon.v3x.dee.Document.Attribute | 设置到元素的属性对象 |
使用例子
document.getRootElement().getChild("table1").setAttribute("id","888");//设置元素table1的属性id的值为“888”,如果元素table1没有属性“id”,那么会新建属性名称为“id”,值为“888”,并且设置给元素
备注
备注
- 无
方法签名:
Element getChild(String name)
简要描述:
- 根据名称获取当前元素的子元素
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | 子元素名称 |
返回值说明
类型 | 说明 |
---|---|
com.seeyon.v3x.dee.Document.Element | 子元素对象 |
使用例子
document.getRootElement().getChild("table1");//获取根元素下的名称为table1的表元素
备注
- 无
方法签名:
Element addChild(String name)
简要描述:
- 为当前元素增加指定名称的子元素
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | 子元素名称 |
返回值说明
类型 | 说明 |
---|---|
com.seeyon.v3x.dee.Document.Element | 子元素对象 |
使用例子
document.getRootElement().addChild("table2");//增加根元素的子元素,名称为“table2”
备注
- 无
方法签名:
Element addChild(Element element)
简要描述:
- 为当前元素增加子元素
参数:
参数名 | 类型 | 说明 |
---|---|---|
element | com.seeyon.v3x.dee.Document.Element | 子元素Element对象 |
返回值说明
类型 | 说明 |
---|---|
com.seeyon.v3x.dee.Document.Element | 子元素对象 |
使用例子
Element table3 = document.createElement("table3");//创建名称为“table3”的元素
document.getRootElement().addChild(table3);//将“table3”元素插入根元素下,作为根元素的子元素
备注
- 无
方法签名:
void removeChild(String name)
简要描述:
- 根据指定元素名称删除当前元素的子元素
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | 子元素名称 |
返回值说明
类型 | 说明 |
---|---|
void | 没有返回值 |
使用例子
document.getRootElement().removeChild("table1");//删除根元素下名称为“table1”的子元素
备注
- 无
# Document.Attribute
简要描述:
- com.seeyon.v3x.dee.Document.Attribute
- Attribute是Element元素上的属性
- 如何获取Attribute
document.getRootElement().getChild("table").getAttribute("totalCount");//可以获取**table**元素的名称为“totalCount”的Attribute对象
方法列表
方法名称 | 方法简介 |
---|---|
String getName() | 获取Attribute对象的名称 |
Object getValue() | 获取当前Attribute对象的值 |
void setValue(Object value) | 给当前Attribute对象设置值 |
方法签名:
String getName()
简要描述:
- 获取Attribute对象的名称
参数:
参数名 | 类型 | 说明 |
---|---|---|
无 |
返回值说明
类型 | 说明 |
---|---|
String | Attribute对象的名称 |
使用例子
List<Attribute> list = document.getRootElement().getChild("table").getAttributes()*;*
**for** (Attribute attribute:list){
attribute.getName()*;*
}//可以获取table元素的所有属性的名称
备注
- 无
方法签名:
Object getValue()
简要描述:
- 获取当前Attribute对象的值
参数:
参数名 | 类型 | 说明 |
---|---|---|
无 |
返回值说明
类型 | 说明 |
---|---|
Object | Attribute对象的值,类型为Object |
使用例子
document.getRootElement().getChild("table").getAttribute("totalCount").getValue();//可以获取**table**元素的名称为“totalCount”的Attribute对象的值
备注
- 无
方法签名:
void setValue(Object value)
简要描述:
- 给当前Attribute对象设置值
参数:
参数名 | 类型 | 说明 |
---|---|---|
value | Object | Attribute对象的值 |
返回值说明
类型 | 说明 |
---|---|
void | 没有返回值 |
使用例子
document.getRootElement().getChild("table").getAttribute("totalCount").setValue("500");//将**table**元素的名称为“totalCount”的属性的值设置为“500”
备注
- 无
# TransformContext
简要描述:
- com.seeyon.v3x.dee.TransformContext
- 转换上下文
- 用于整个DEE任务生命周期中传递数据
如何获取上下文,例子:
document.getContext();//可以获取当前DEE任务的转换上下文
方法列表
方法名称 | 方法简介 |
---|---|
void setAttribute(String name, Object object) | 向当前DEE任务的转换上下文中添加属性 |
Object getAttribute(String name) | 根据名称获取当前DEE任务转换上下文中的属性值 |
Parameters getParameters() | 获取当前DEE任务的参数容器 |
方法签名:
void setAttribute(String name, Object object)
简要描述:
- 向当前DEE任务的转换上下文中添加属性
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | 属性名称 |
object | Object | 属性值 |
返回值说明
类型 | 说明 |
---|---|
void | 没有返回值 |
使用例子
document.getContext().setAttribute("MyData","hello world");//向当前任务的转换上下文中添加了一个名称为“MyData”的属性,值为“hello world”
备注
- 无
方法签名:
Object getAttribute(String name)
简要描述:
- 根据名称获取当前DEE任务转换上下文中的属性值
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | 属性名称 |
返回值说明
类型 | 说明 |
---|---|
Object | 属性值 |
使用例子
document.getContext().getAttribute("MyData");//获取当前DEE任务的转换上下文中名称为“MyData”的属性的值
备注
- 无
方法签名:
Parameters getParameters()
简要描述:
- 获取当前DEE任务的参数容器
参数:
参数名 | 类型 | 说明 |
---|---|---|
无 |
返回值说明
类型 | 说明 |
---|---|
com.seeyon.v3x.dee.Parameters | 参数容器,当前DEE任务的所有参数都在该容器中 |
使用例子
document.getContext().getParameters();//获取当前DEE任务的参数容器
备注
- 无
# Parameters
简要描述:
- com.seeyon.v3x.dee.Parameters
- Parameters是当前DEE任务的参数容器
如何获取Parameters
document.getContext().getParameters();//可以获取当前DEE任务的参数容器
方法列表
方法名称 | 方法简介 |
---|---|
public Parameters add(String name, Object value) | 向参数容器中添加参数 |
public Object getValue(String name) | 获取指定名称的参数值 |
方法签名:
public Parameters add(String name, Object value)
简要描述:
- 向参数容器中添加参数
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | 参数名称 |
value | Object | 参数值 |
返回值说明
类型 | 说明 |
---|---|
com.seeyon.v3x.dee.Parameters | 参数容器 |
使用例子
document.getContext().getParameters().**add**("myData","hello world");//向当前DEE任务的参数容器中添加名称为“myData”的参数,值为“hello world”
备注
- 无
方法签名:
public Object getValue(String name)
简要描述:
- 获取指定名称的参数值
参数:
参数名 | 类型 | 说明 |
---|---|---|
name | String | 参数名称 |
返回值说明
类型 | 说明 |
---|---|
Object | 参数值 |
使用例子
document.getContext().getParameters().**add**("myData","hello world");
document.getContext().getParameters().getValue("myData");//获取名称为myData的参数值
备注
- 无