org.xworker
类 Thing

java.lang.Object
  继承者 org.xworker.Thing
直接已知子类:
MetaThing

public class Thing
extends java.lang.Object

事物指客观的一切物体和现象。

事物有状态和行为,可以通过set和get、getxx方法来设置和获取事物的状态,可以通过doAction(String actionName) 或doAction(String actionName, ActionContext actionContext)方法来执行事物。

事物之间有描述和继承关系,一个事物可以继承它的描述者行为以及继承继承者的属性和行为。

作者:
zyx

字段摘要
protected  Action action
          每一个事物都有动作的形态
protected  java.util.Map<java.lang.String,LinkedThingEntry> actionCaches
          动作事物的缓存
static java.lang.String ATTRIBUTE
          属性的名字
protected  java.util.Map<java.lang.String,java.lang.Object> attributes
          事物的属性集合。
protected  java.util.List<Thing> childs
          子事物列表
static java.lang.String DESCRIPTION
          描述属性的名字
static java.lang.String DESCRIPTORS
          描述者属性的名字
protected  ThingEntry[] descriptorsCaches
          描述者列表的缓存
static java.lang.String EXTENDS
          继承者属性的名字
protected  ThingEntry[] extendsCaches
          继承列表的缓存
protected  boolean isTransient
          是否是瞬态的事物
static java.lang.String LABEL
          标签的名字
private static org.apache.commons.logging.Log log
          日志
protected  ThingMetadata metadata
          事物的元数据,用于存放此事物在系统中的一些属性。
static java.lang.String NAME
          名字的名字
protected  Thing parent
          父事物,包含此事物的父事物。
static java.lang.String THING
          事物的名字
protected  java.util.List<java.lang.String> thingNames
          事物的名称(类名)的缓存列表
private static java.util.Map<java.lang.Thread,java.util.Stack<java.lang.Thread>> updatingThreads
          正在更新的线程
 
构造方法摘要
Thing()
          默认构造函数,构造一个空的瞬态事物。
Thing(java.lang.String descriptorPath)
          通过描述者的路径来构造一个瞬态事物。
Thing(java.lang.String name, java.lang.String label)
          通过名称和标签创建一个瞬态事物。
Thing(java.lang.String name, java.lang.String label, java.lang.String descriptorPath)
          通过名称、标签和描述者的路径来构造一个瞬态事物。
Thing(java.lang.String name, java.lang.String label, java.lang.String descriptorPath, boolean isTransient)
          指定名称、标签、描述者和是否是瞬态的来构造一个事物。
 
方法摘要
 void addChild(Thing childThing)
          添加一个子事物。
 void addChild(Thing childThing, boolean changeParen)
           
 void addChild(Thing childThing, int index)
           
 void addChild(Thing childThing, int index, boolean changeParent)
          在指定的索引位置添加一个子事物。
 void addDescriptor(int index, Thing descriptor)
          在指定位置添加一个描述者。
private  void addDetachedChild(Thing thing, Thing forDetachedChild, boolean detachToTransient)
          添加需要分离的子事物。
 void addExtend(int index, Thing extendThing)
          在指定位置添加一个继承事物。
private  void addToSourceByName(java.util.List<Thing> srcs, Thing forAdd)
           
 void beginModify()
          beginBigModifiy必须和endBigModify成对出现。
 void changeChildIndex(Thing child, int index, int moveStep)
          改变一个子事物的位置索引。
private  void changeChildLastModified(Thing child, java.util.Map<Thing,java.lang.Object> context, long lastModified)
           
 void cognize(java.util.Map adata)
          从一个Map数据认知并把认知结果保存到自身。
 void cognize(java.lang.String xmlData)
          从一个XML数据认知并把认知结果保存到自身。
 void cognize(Thing thing)
          认知另一事物并把认知结果作为自己的一部分。
 Thing detach(boolean detachToTransient)
          创建一个新的克隆的事物。
 java.lang.Object doAction(java.lang.String name)
          执行一个动作。
 java.lang.Object doAction(java.lang.String name, ActionContext context)
          给定变量容器执行一个动作。
 java.lang.Object doAction(java.lang.String name, ActionContext context, java.util.Map<java.lang.String,java.lang.Object> parameters)
          给定变量容器和参数执行一个动作。
 java.lang.Object doAction(java.lang.String name, ActionContext context, java.util.Map<java.lang.String,java.lang.Object> parameters, boolean isSubAction)
           
 void endModify(boolean change)
           
 java.lang.Object get(java.lang.String path)
          通过路径获得事物的属性或者子事物,可返回属性值、子事物或者子事物列表。
 Action getAction()
           
 java.util.List<Thing> getActionsThings()
           
 Thing getActionThing(java.lang.String name)
          获得指定动作的事物定义。
private  Thing getActionThing(java.lang.String name, boolean isSuperAction, LinkedThingEntry linkedThingEntry)
           
private  Thing getActionThing(Thing thing, java.lang.String name, java.util.Map<Thing,java.lang.Object> context, LinkedThingEntry linkedThingEntry)
           
 java.util.List<Thing> getActionThings()
          返回本事物的所有的动作定义,包括自身定义的、描述者定义的和继承定义的。
 java.util.List<Thing> getAllAttributesDescriptors()
          取本事物的所有描述者所定义属性描述列表。
 java.util.List<Thing> getAllChilds()
          获得所有的直接第一级子事物,包括继承的事物的子事物。
 java.util.List<Thing> getAllChilds(java.lang.String thingName)
          根据描述者的名称来获取所有符合的子事物,包括继承的子事物。
 java.util.List<Thing> getAllChildsDescriptors()
          获取子事物的描述者列表,返回本事物的所有描述者所定义的子事物的描述列表。
 java.util.List<Thing> getAllDescriptors()
          返回本事物所有的描述者列表,包括描述者继承的事物。
 java.util.List<Thing> getAllExtends()
          返回事物的所有继承事物列表,包括继承的继承...。
private  void getAllExtends(Thing thing, java.util.List<Thing> extendList, java.util.Map<Thing,java.lang.Object> context, java.util.Map<Thing,java.lang.Object> extendCache)
           
 java.lang.Object getAttribute(java.lang.String name)
          获得属性值。
private  Thing getAttributeDescriptor(java.util.Map<Thing,java.lang.Object> context, java.lang.String name)
           
 Thing getAttributeDescriptor(java.lang.String name)
          根据指定的属性名称获取该属性的描述者。
 java.util.Map<java.lang.String,java.lang.Object> getAttributes()
          获得属性集合。
 java.util.List<Thing> getAttributesDescriptors()
          根获取事物属性描述列表,只返回第一个描述者的属性描述列表。
 java.math.BigDecimal getBigDecimal(java.lang.String name)
           
 java.math.BigDecimal getBigDecimal(java.lang.String name, java.math.BigDecimal defaultValue)
           
 java.math.BigInteger getBigInteger(java.lang.String name)
           
 java.math.BigInteger getBigInteger(java.lang.String name, java.math.BigInteger defaultValue)
           
 boolean getBoolean(java.lang.String name)
           
 boolean getBoolean(java.lang.String name, boolean defaultValue)
           
 byte getByte(java.lang.String name)
           
 byte getByte(java.lang.String name, byte defaultValue)
           
 byte[] getBytes(java.lang.String name)
           
 byte[] getBytes(java.lang.String name, byte[] defaultValue)
           
 char getChar(java.lang.String name)
           
 char getChar(java.lang.String name, char defaultValue)
           
 java.util.List<Thing> getChilds()
          返回本事物的直接子事物,不包含继承的子事物。
 java.util.List<Thing> getChilds(java.lang.String thingName)
          根据描述者的名称来获取所有符合的子事物,不包括继承的子事物。
 java.util.List<Thing> getChildsDescriptors()
          获取子事物的描述者列表,只返回第一个描述者所定义的子事物的描述列表。
 java.util.Iterator<Thing> getChildsIterator()
          返回遍历所有的子节点遍历器。
 java.util.Date getDate(java.lang.String name)
           
 java.util.Date getDate(java.lang.String name, java.util.Date defaultValue)
           
 java.util.List<Thing> getDescriptors()
          返回本事物定义的的所有描述者的列表。
 double getDouble(java.lang.String name)
           
 double getDouble(java.lang.String name, double defaultValue)
           
private  Thing getExtendActionThing(Thing thing, java.lang.String name, java.util.Map<Thing,java.lang.Object> context, java.util.Map<Thing,java.lang.Object> extendContext, LinkedThingEntry linkedThingEntry)
           
 java.util.List<Thing> getExtends()
          返回本事物的继承事物列表。
 float getFloat(java.lang.String name)
           
 float getFloat(java.lang.String name, float defaultValue)
           
 int getInt(java.lang.String name)
           
 int getInt(java.lang.String name, int defaultValue)
           
 long getLong(java.lang.String name)
           
 long getLong(java.lang.String name, long defaultValue)
           
 ThingMetadata getMetadata()
          获得本事物的元数据。
private  java.lang.Object getNullReturn(java.lang.String path)
           
 Thing getParent()
          返回本事物的父事物。
 Thing getRoot()
          返回本事物的最根级(顶层)父事物,如果当前事物已经是根事物,那么返回自身。
 short getShort(java.lang.String name)
           
 short getShort(java.lang.String name, short defaultValue)
           
 java.lang.String getString(java.lang.String name)
           
 java.lang.String getString(java.lang.String name, java.lang.String defaultValue)
           
 Thing getThing(java.lang.String childThingPath)
          通过指定的子事物的路径获取一个子事物。
 java.lang.String getThingName()
          返回事物的事物名,相当于Java对象的类名。
 java.util.List<java.lang.String> getThingNames()
          返回事物的所有事物名。
protected  void initChildMetadata(Thing child)
          初始化子事物的元数据。
 void initDefaultValue()
          初始化默认值。
private  void initDescriptors()
           
private  void initExtends()
           
private  void initThingNames()
           
private  boolean isThing(java.util.Map<Thing,java.lang.Object> context, Thing descriptor)
           
 boolean isThing(java.lang.String descriptorPath)
          根据指定的描述者来判断该事物是否是这个指定描述者的所描述的事物。
 boolean isThing(Thing descriptor)
          根据指定的描述者来判断该事物是否这个指定描述者所描述的事物。
 boolean isThingByName(java.lang.String descriptorName)
          根据描述者的名称返回当前事物是否是指定的事物,此判定方法并非严格。
 boolean isTransient()
          返回本事物是否是瞬态的。
 java.lang.Object put(java.lang.Object name, java.lang.Object value)
          设置属性的值。
 boolean remove()
          删除调用自身的事物管理者删除自己,设置自身的状态为已删除。
 void removeChild(Thing child)
          删除指定的子事物。
 void removeDescriptor(Thing descriptor)
          从本事物的描述者列表中移除指定的描述者。
private  void removeDescriptorsCache(int index)
           
 void removeExtend(Thing extend)
          从本事物的继承列表中移除指定的继承事物。
private  void removeExtendsCache(int index)
           
 boolean save()
          保存自己,通常是调用事物所在的事物管理者来保存。
 void set(java.lang.Object name, java.lang.Object value)
          设置属性。
 void setParent(Thing parent)
           
private  void updateLastModified()
           
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

log

private static org.apache.commons.logging.Log log
日志


THING

public static final java.lang.String THING
事物的名字

另请参见:
常量字段值

ATTRIBUTE

public static final java.lang.String ATTRIBUTE
属性的名字

另请参见:
常量字段值

NAME

public static final java.lang.String NAME
名字的名字

另请参见:
常量字段值

LABEL

public static final java.lang.String LABEL
标签的名字

另请参见:
常量字段值

DESCRIPTORS

public static final java.lang.String DESCRIPTORS
描述者属性的名字

另请参见:
常量字段值

EXTENDS

public static final java.lang.String EXTENDS
继承者属性的名字

另请参见:
常量字段值

DESCRIPTION

public static final java.lang.String DESCRIPTION
描述属性的名字

另请参见:
常量字段值

attributes

protected java.util.Map<java.lang.String,java.lang.Object> attributes
事物的属性集合。


parent

protected Thing parent
父事物,包含此事物的父事物。


metadata

protected ThingMetadata metadata
事物的元数据,用于存放此事物在系统中的一些属性。


childs

protected java.util.List<Thing> childs
子事物列表


thingNames

protected java.util.List<java.lang.String> thingNames
事物的名称(类名)的缓存列表


extendsCaches

protected ThingEntry[] extendsCaches
继承列表的缓存


descriptorsCaches

protected ThingEntry[] descriptorsCaches
描述者列表的缓存


actionCaches

protected java.util.Map<java.lang.String,LinkedThingEntry> actionCaches
动作事物的缓存


updatingThreads

private static java.util.Map<java.lang.Thread,java.util.Stack<java.lang.Thread>> updatingThreads
正在更新的线程


isTransient

protected boolean isTransient
是否是瞬态的事物


action

protected Action action
每一个事物都有动作的形态

构造方法详细信息

Thing

public Thing()
默认构造函数,构造一个空的瞬态事物。


Thing

public Thing(java.lang.String descriptorPath)
通过描述者的路径来构造一个瞬态事物。

参数:
descriptorPath - 描述者的路径

Thing

public Thing(java.lang.String name,
             java.lang.String label)
通过名称和标签创建一个瞬态事物。

参数:
name - 事物的名称
label - 事物的标签

Thing

public Thing(java.lang.String name,
             java.lang.String label,
             java.lang.String descriptorPath)
通过名称、标签和描述者的路径来构造一个瞬态事物。

参数:
name - 事物的名称
label - 事物的标签
descriptorPath - 事物的路径

Thing

public Thing(java.lang.String name,
             java.lang.String label,
             java.lang.String descriptorPath,
             boolean isTransient)
指定名称、标签、描述者和是否是瞬态的来构造一个事物。 非瞬态的事物一般有事物管理者创建。

参数:
name - 事物的名称
label - 事物的标签
descriptorPath - 事物的描述者
isTransient - 是否是瞬态的
方法详细信息

addChild

public void addChild(Thing childThing)
添加一个子事物。

参数:
childThing -

addChild

public void addChild(Thing childThing,
                     int index)

addChild

public void addChild(Thing childThing,
                     boolean changeParen)

addChild

public void addChild(Thing childThing,
                     int index,
                     boolean changeParent)
在指定的索引位置添加一个子事物。 如果指定索引不存在,那么尽量添加在最后面。

参数:
childThing - 子事物
index - 位置索引
changeParent - 是否改变子事物的父事物为本事物

addDescriptor

public void addDescriptor(int index,
                          Thing descriptor)
在指定位置添加一个描述者。

如果描述者已经存在且位置不同,那么会切换到新的位置,如果index为-1那么添加至结尾。

参数:
index - 描述者的位置
descriptor - 描述者

addDetachedChild

private void addDetachedChild(Thing thing,
                              Thing forDetachedChild,
                              boolean detachToTransient)
添加需要分离的子事物。

参数:
forDetachedChild - 需要分离的子事物
detachToTransient - 是否克隆成瞬态事物

addExtend

public void addExtend(int index,
                      Thing extendThing)
在指定位置添加一个继承事物。

如果继承已经存在且位置不同,那么会切换到新的位置,如果index为-1那么添加至结尾。

参数:
extendThing - 要继承的事物

changeChildIndex

public void changeChildIndex(Thing child,
                             int index,
                             int moveStep)
改变一个子事物的位置索引。

参数:
child - 子事物
index - 要移动的位置,如果为-1,那么通过moveStep来上移或下移
moveSetep - 小于0表示上移,大于0表示下移,步伐为其绝对值

cognize

public void cognize(java.util.Map adata)
从一个Map数据认知并把认知结果保存到自身。

参数:
adata - 一个Map数据

cognize

public void cognize(java.lang.String xmlData)
             throws javax.xml.parsers.ParserConfigurationException,
                    org.xml.sax.SAXException,
                    java.io.IOException
从一个XML数据认知并把认知结果保存到自身。

参数:
xmlData - 一个XML数据(字符串)
抛出:
java.io.IOException
org.xml.sax.SAXException
javax.xml.parsers.ParserConfigurationException

cognize

public void cognize(Thing thing)
认知另一事物并把认知结果作为自己的一部分。

认识另一事物和认识非事物的对象的区别是,认识其他事物是把另一事物的所有内容保存到自身,而认识 非事物物时是根据自身的描述者所描述的属性和子事物去从认知对象上取值的。

参数:
athing - 另一事物

detach

public Thing detach(boolean detachToTransient)
创建一个新的克隆的事物。

如果不指定分离到瞬态事物中,那么此克隆事物是分离在当前的世界之外的,如果不把它添加到具体的事物或者 事物管理者下,那么有些功能就无法使用,比如不能执行动作。

参数:
detachToTransient - 是否克隆成瞬态事物
返回:
克隆后的事物

doAction

public java.lang.Object doAction(java.lang.String name)
执行一个动作。

参数:
name - 动作名称
返回:
执行后的返回结果

doAction

public java.lang.Object doAction(java.lang.String name,
                                 ActionContext context)
给定变量容器执行一个动作。

参数:
name - 动作名称
bindings - 变量容器
返回:
执行后的返回结果

doAction

public java.lang.Object doAction(java.lang.String name,
                                 ActionContext context,
                                 java.util.Map<java.lang.String,java.lang.Object> parameters)
给定变量容器和参数执行一个动作。

参数:
name - 动作名称
bindings - 变量容器
paraments - 参数
返回:
执行后的返回结果

doAction

public java.lang.Object doAction(java.lang.String name,
                                 ActionContext context,
                                 java.util.Map<java.lang.String,java.lang.Object> parameters,
                                 boolean isSubAction)

get

public java.lang.Object get(java.lang.String path)
通过路径获得事物的属性或者子事物,可返回属性值、子事物或者子事物列表。

路径遵从事物的路径规则。

参数:
path -
返回:

getActionThing

private Thing getActionThing(Thing thing,
                             java.lang.String name,
                             java.util.Map<Thing,java.lang.Object> context,
                             LinkedThingEntry linkedThingEntry)

getExtendActionThing

private Thing getExtendActionThing(Thing thing,
                                   java.lang.String name,
                                   java.util.Map<Thing,java.lang.Object> context,
                                   java.util.Map<Thing,java.lang.Object> extendContext,
                                   LinkedThingEntry linkedThingEntry)

getActionThing

public Thing getActionThing(java.lang.String name)
获得指定动作的事物定义。

搜寻事物动作的规则是: 如果不是super的动作,那么先搜寻事物本身定义的动作。 依次搜寻描述者和描述者的继承定义的动作。 依次搜索事物的描述者的继承者定义的动作。

参数:
name - 动作名称
返回:
动作事物,如果不存在返回null

getActionThing

private Thing getActionThing(java.lang.String name,
                             boolean isSuperAction,
                             LinkedThingEntry linkedThingEntry)

addToSourceByName

private void addToSourceByName(java.util.List<Thing> srcs,
                               Thing forAdd)

getAction

public Action getAction()

getActionsThings

public java.util.List<Thing> getActionsThings()

getActionThings

public java.util.List<Thing> getActionThings()
返回本事物的所有的动作定义,包括自身定义的、描述者定义的和继承定义的。

返回:
动作定义列表

getAllAttributesDescriptors

public java.util.List<Thing> getAllAttributesDescriptors()
取本事物的所有描述者所定义属性描述列表。

返回:
属性描述列表

getAllChilds

public java.util.List<Thing> getAllChilds()
获得所有的直接第一级子事物,包括继承的事物的子事物。

返回:
所有的子事物

getAllChilds

public java.util.List<Thing> getAllChilds(java.lang.String thingName)
根据描述者的名称来获取所有符合的子事物,包括继承的子事物。

注:这里是描述者的名,不是描述者的路径。

参数:
thingName - 描述者的名称
返回:
描述者的名称为指定名称的子事物

getAllChildsDescriptors

public java.util.List<Thing> getAllChildsDescriptors()
获取子事物的描述者列表,返回本事物的所有描述者所定义的子事物的描述列表。

返回:

getAllExtends

public java.util.List<Thing> getAllExtends()
返回事物的所有继承事物列表,包括继承的继承...。

返回:
所有继承的事物列表

getAllExtends

private void getAllExtends(Thing thing,
                           java.util.List<Thing> extendList,
                           java.util.Map<Thing,java.lang.Object> context,
                           java.util.Map<Thing,java.lang.Object> extendCache)

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
获得属性值。

参数:
name - 属性名称
返回:
属性的值。

getAttributeDescriptor

private Thing getAttributeDescriptor(java.util.Map<Thing,java.lang.Object> context,
                                     java.lang.String name)

getAttributeDescriptor

public Thing getAttributeDescriptor(java.lang.String name)
根据指定的属性名称获取该属性的描述者。

参数:
name - 属性名称
返回:
属性的描述者

getAttributes

public java.util.Map<java.lang.String,java.lang.Object> getAttributes()
获得属性集合。

返回:
属性集合

getAttributesDescriptors

public java.util.List<Thing> getAttributesDescriptors()
根获取事物属性描述列表,只返回第一个描述者的属性描述列表。

返回:
事物的属性描述列表

getBigDecimal

public java.math.BigDecimal getBigDecimal(java.lang.String name)

getBigDecimal

public java.math.BigDecimal getBigDecimal(java.lang.String name,
                                          java.math.BigDecimal defaultValue)

getBigInteger

public java.math.BigInteger getBigInteger(java.lang.String name)

getBigInteger

public java.math.BigInteger getBigInteger(java.lang.String name,
                                          java.math.BigInteger defaultValue)

getBoolean

public boolean getBoolean(java.lang.String name)

getBoolean

public boolean getBoolean(java.lang.String name,
                          boolean defaultValue)

getByte

public byte getByte(java.lang.String name)

getByte

public byte getByte(java.lang.String name,
                    byte defaultValue)

getBytes

public byte[] getBytes(java.lang.String name)

getBytes

public byte[] getBytes(java.lang.String name,
                       byte[] defaultValue)

getChar

public char getChar(java.lang.String name)

getChar

public char getChar(java.lang.String name,
                    char defaultValue)

getChilds

public java.util.List<Thing> getChilds()
返回本事物的直接子事物,不包含继承的子事物。

返回:
本事物的直接子事物

getChilds

public java.util.List<Thing> getChilds(java.lang.String thingName)
根据描述者的名称来获取所有符合的子事物,不包括继承的子事物。

参数:
descriptorName - 描述者的名称
返回:
描述者的名称为指定名称的子事物

getChildsDescriptors

public java.util.List<Thing> getChildsDescriptors()
获取子事物的描述者列表,只返回第一个描述者所定义的子事物的描述列表。

返回:
子事物的描述者列表

getDate

public java.util.Date getDate(java.lang.String name)

getDate

public java.util.Date getDate(java.lang.String name,
                              java.util.Date defaultValue)

getDescriptors

public java.util.List<Thing> getDescriptors()
返回本事物定义的的所有描述者的列表。

一个事物的描述者列表是在属性descriptors里定义的,如果有多个那么之间用,号隔开。另外元事物是所有的 事物的基本描述,一般在描述者列表中元事物被放到了列表的末端

如果事物的一个描述者继承了其他事物,那么继承的其他事物也是这个事物的描述者,这样的描述者在此方法里 不能获得,如想取得事物的所有包含描述者继承的描述者,那么可以是用getAllDescriptors()方法。

返回:
本事物的所有描述者的列表
另请参见:
getAllDescriptors

getAllDescriptors

public java.util.List<Thing> getAllDescriptors()
返回本事物所有的描述者列表,包括描述者继承的事物。

与getDescriptors方法不同的是getDescriptors方法只返回自身定义的描述者的列表。

返回:
包含描述者继承的事物所有的描述者列表
另请参见:
getDescriptors

getDouble

public double getDouble(java.lang.String name)

getDouble

public double getDouble(java.lang.String name,
                        double defaultValue)

getExtends

public java.util.List<Thing> getExtends()
返回本事物的继承事物列表。

返回:
继承事物列表

getFloat

public float getFloat(java.lang.String name)

getFloat

public float getFloat(java.lang.String name,
                      float defaultValue)

getInt

public int getInt(java.lang.String name)

getInt

public int getInt(java.lang.String name,
                  int defaultValue)

getLong

public long getLong(java.lang.String name)

getLong

public long getLong(java.lang.String name,
                    long defaultValue)

getMetadata

public ThingMetadata getMetadata()
获得本事物的元数据。

返回:
当前事物的元数据

getNullReturn

private java.lang.Object getNullReturn(java.lang.String path)

getParent

public Thing getParent()
返回本事物的父事物。

返回:
父事物,如果没有返回null

getRoot

public Thing getRoot()
返回本事物的最根级(顶层)父事物,如果当前事物已经是根事物,那么返回自身。

返回:
根父事物

getShort

public short getShort(java.lang.String name)

getShort

public short getShort(java.lang.String name,
                      short defaultValue)

getString

public java.lang.String getString(java.lang.String name)

getString

public java.lang.String getString(java.lang.String name,
                                  java.lang.String defaultValue)

getThing

public Thing getThing(java.lang.String childThingPath)
通过指定的子事物的路径获取一个子事物。

参数:
childThingPath - 子事物的路径
返回:
子事物

getThingName

public java.lang.String getThingName()
返回事物的事物名,相当于Java对象的类名。

返回:
事物名

getThingNames

public java.util.List<java.lang.String> getThingNames()
返回事物的所有事物名。

返回:
事物名

initDescriptors

private void initDescriptors()

initDefaultValue

public void initDefaultValue()
初始化默认值。


initExtends

private void initExtends()

initThingNames

private void initThingNames()

initChildMetadata

protected void initChildMetadata(Thing child)
初始化子事物的元数据。

参数:
child -

isThing

private boolean isThing(java.util.Map<Thing,java.lang.Object> context,
                        Thing descriptor)

isThing

public boolean isThing(java.lang.String descriptorPath)
根据指定的描述者来判断该事物是否是这个指定描述者的所描述的事物。

参数:
descriptorPath - 描述者的路径
返回:
是否是描述者所描述的事物

isThing

public boolean isThing(Thing descriptor)
根据指定的描述者来判断该事物是否这个指定描述者所描述的事物。

参数:
descriptor - 描述者
返回:
是否这个描述者所描述的事物

isThingByName

public boolean isThingByName(java.lang.String descriptorName)
根据描述者的名称返回当前事物是否是指定的事物,此判定方法并非严格。

参数:
descriptorName - 描述者的名称
返回:
是否是该事物

removeDescriptorsCache

private void removeDescriptorsCache(int index)

removeExtendsCache

private void removeExtendsCache(int index)

isTransient

public boolean isTransient()
返回本事物是否是瞬态的。

返回:
是否是瞬态的

getChildsIterator

public java.util.Iterator<Thing> getChildsIterator()
返回遍历所有的子节点遍历器。

返回:
子节点遍历器

put

public java.lang.Object put(java.lang.Object name,
                            java.lang.Object value)
设置属性的值。

参数:
name - 属性名称
value - 属性的值

set

public void set(java.lang.Object name,
                java.lang.Object value)
设置属性。

参数:
name -
value -

setParent

public void setParent(Thing parent)

removeDescriptor

public void removeDescriptor(Thing descriptor)
从本事物的描述者列表中移除指定的描述者。

参数:
descriptor - 描述者

removeChild

public void removeChild(Thing child)
删除指定的子事物。

参数:
child - 要删除的子事物

remove

public boolean remove()
删除调用自身的事物管理者删除自己,设置自身的状态为已删除。


removeExtend

public void removeExtend(Thing extend)
从本事物的继承列表中移除指定的继承事物。

参数:
extend - 继承的事物

save

public boolean save()
保存自己,通常是调用事物所在的事物管理者来保存。


beginModify

public void beginModify()
beginBigModifiy必须和endBigModify成对出现。


endModify

public void endModify(boolean change)

updateLastModified

private void updateLastModified()

changeChildLastModified

private void changeChildLastModified(Thing child,
                                     java.util.Map<Thing,java.lang.Object> context,
                                     long lastModified)