顺序是一个设置(settings)的有序集合。顺序的每一个入口都有一个索引。
顺序的关键点是设置的顺序可以被保存,跨越多个不同属性之间的设置也可以被保存。因此,如果属性A被更新了,接着属性B被更新,最后属性A又被更新,则一个顺序可以反映这个过程。
每一个设置都是一个属性和值对。对于SDO文本属性,具有一个使用文本的快捷方式。
使用SDO文本属性,非结构化的文本可以被添加入顺序。add(String text)方法使用SDO文本属性添加一个新的入口到顺序的末尾。add(int index, String text)方法使用SDO文本属性将一个新的入口添加到顺序中指定索引的位置。
顺序经常用在处理半结构化业务数据时,例如混有文本的XML元素。假定一个顺序有两个多值属性,分别为numbers(整型属性)和letters(字符串型属性)。同时,假定顺序被如下初始化:
则初始化结束后,顺序包含如下设置:
{, , , , }
numbers属性被设置为{1, 2},letters属性将被设置为{“A”, ”B”},,但是如果只是使用访问器(accessors)而不使用顺序的话,则将无法获得跨越numbers属性和letters属性的设置顺序。
数据对象跟踪属性和值的顺序的方式与顺序(Sequence)使用的跟踪方式很不同。
数据对象是不保存添加到其之中的不同属性之间的顺序的。在一个多值属性的情况下,添加到该属性的不同值之间的顺序是可以保存的,但是当值被加入到两个不同的属性时,就没有办法知道哪一个属性被先设置了。在一个顺序内,对于多个属性的设置顺序是可以被保存的。
顺序(Sequence)内出现的相同属性同样可以通过数据对象获得,但是数据对象没有保存多个属性设置的顺序(order)。
注意如果数据对象的类型是一个顺序类型(即getType().isSequenced()返回值为true),那么该数据对象将有一个顺序(Sequence)。
顺序的方法:
为了在顺序的末尾创建数据对象,可以使用数据对象的create()方法。
public interface Sequence
{
int size();
Property getProperty(int index);
Object getValue(int index);
Object setValue(int index, Object value);
boolean add(String propertyName, Object value);
boolean add(int propertyIndex, Object value);
boolean add(Property property, Object value);
void add(int index, String propertyName, Object value);
void add(int index, int propertyIndex, Object value);
void add(int index, Property property, Object value);
void add(int index, String text);
void add(String text);
void remove(int index);
void move(int toIndex, int fromIndex);
}来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8042616/viewspace-907248/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8042616/viewspace-907248/