|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectorg.xworker.Thing
public class Thing
事物指客观的一切物体和现象。
事物有状态和行为,可以通过set和get、getxx方法来设置和获取事物的状态,可以通过doAction(String actionName) 或doAction(String actionName, ActionContext actionContext)方法来执行事物。 事物之间有描述和继承关系,一个事物可以继承它的描述者行为以及继承继承者的属性和行为。
| 字段摘要 | |
|---|---|
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 |
| 字段详细信息 |
|---|
private static org.apache.commons.logging.Log log
public static final java.lang.String THING
public static final java.lang.String ATTRIBUTE
public static final java.lang.String NAME
public static final java.lang.String LABEL
public static final java.lang.String DESCRIPTORS
public static final java.lang.String EXTENDS
public static final java.lang.String DESCRIPTION
protected java.util.Map<java.lang.String,java.lang.Object> attributes
protected Thing parent
protected ThingMetadata metadata
protected java.util.List<Thing> childs
protected java.util.List<java.lang.String> thingNames
protected ThingEntry[] extendsCaches
protected ThingEntry[] descriptorsCaches
protected java.util.Map<java.lang.String,LinkedThingEntry> actionCaches
private static java.util.Map<java.lang.Thread,java.util.Stack<java.lang.Thread>> updatingThreads
protected boolean isTransient
protected Action action
| 构造方法详细信息 |
|---|
public Thing()
public Thing(java.lang.String descriptorPath)
descriptorPath - 描述者的路径
public Thing(java.lang.String name,
java.lang.String label)
name - 事物的名称label - 事物的标签
public Thing(java.lang.String name,
java.lang.String label,
java.lang.String descriptorPath)
name - 事物的名称label - 事物的标签descriptorPath - 事物的路径
public Thing(java.lang.String name,
java.lang.String label,
java.lang.String descriptorPath,
boolean isTransient)
name - 事物的名称label - 事物的标签descriptorPath - 事物的描述者isTransient - 是否是瞬态的| 方法详细信息 |
|---|
public void addChild(Thing childThing)
childThing -
public void addChild(Thing childThing,
int index)
public void addChild(Thing childThing,
boolean changeParen)
public void addChild(Thing childThing,
int index,
boolean changeParent)
childThing - 子事物index - 位置索引changeParent - 是否改变子事物的父事物为本事物
public void addDescriptor(int index,
Thing descriptor)
index - 描述者的位置descriptor - 描述者
private void addDetachedChild(Thing thing,
Thing forDetachedChild,
boolean detachToTransient)
forDetachedChild - 需要分离的子事物detachToTransient - 是否克隆成瞬态事物
public void addExtend(int index,
Thing extendThing)
extendThing - 要继承的事物
public void changeChildIndex(Thing child,
int index,
int moveStep)
child - 子事物index - 要移动的位置,如果为-1,那么通过moveStep来上移或下移moveSetep - 小于0表示上移,大于0表示下移,步伐为其绝对值public void cognize(java.util.Map adata)
adata - 一个Map数据
public void cognize(java.lang.String xmlData)
throws javax.xml.parsers.ParserConfigurationException,
org.xml.sax.SAXException,
java.io.IOException
xmlData - 一个XML数据(字符串)
java.io.IOException
org.xml.sax.SAXException
javax.xml.parsers.ParserConfigurationExceptionpublic void cognize(Thing thing)
athing - 另一事物public Thing detach(boolean detachToTransient)
detachToTransient - 是否克隆成瞬态事物
public java.lang.Object doAction(java.lang.String name)
name - 动作名称
public java.lang.Object doAction(java.lang.String name,
ActionContext context)
name - 动作名称bindings - 变量容器
public java.lang.Object doAction(java.lang.String name,
ActionContext context,
java.util.Map<java.lang.String,java.lang.Object> parameters)
name - 动作名称bindings - 变量容器paraments - 参数
public java.lang.Object doAction(java.lang.String name,
ActionContext context,
java.util.Map<java.lang.String,java.lang.Object> parameters,
boolean isSubAction)
public java.lang.Object get(java.lang.String path)
path -
private Thing getActionThing(Thing thing,
java.lang.String name,
java.util.Map<Thing,java.lang.Object> context,
LinkedThingEntry linkedThingEntry)
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)
public Thing getActionThing(java.lang.String name)
name - 动作名称
private Thing getActionThing(java.lang.String name,
boolean isSuperAction,
LinkedThingEntry linkedThingEntry)
private void addToSourceByName(java.util.List<Thing> srcs,
Thing forAdd)
public Action getAction()
public java.util.List<Thing> getActionsThings()
public java.util.List<Thing> getActionThings()
public java.util.List<Thing> getAllAttributesDescriptors()
public java.util.List<Thing> getAllChilds()
public java.util.List<Thing> getAllChilds(java.lang.String thingName)
thingName - 描述者的名称
public java.util.List<Thing> getAllChildsDescriptors()
public 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)
public java.lang.Object getAttribute(java.lang.String name)
name - 属性名称
private Thing getAttributeDescriptor(java.util.Map<Thing,java.lang.Object> context,
java.lang.String name)
public Thing getAttributeDescriptor(java.lang.String name)
name - 属性名称
public java.util.Map<java.lang.String,java.lang.Object> getAttributes()
public java.util.List<Thing> getAttributesDescriptors()
public java.math.BigDecimal getBigDecimal(java.lang.String name)
public java.math.BigDecimal getBigDecimal(java.lang.String name,
java.math.BigDecimal defaultValue)
public java.math.BigInteger getBigInteger(java.lang.String name)
public java.math.BigInteger getBigInteger(java.lang.String name,
java.math.BigInteger defaultValue)
public boolean getBoolean(java.lang.String name)
public boolean getBoolean(java.lang.String name,
boolean defaultValue)
public byte getByte(java.lang.String name)
public byte getByte(java.lang.String name,
byte defaultValue)
public byte[] getBytes(java.lang.String name)
public byte[] getBytes(java.lang.String name,
byte[] defaultValue)
public char getChar(java.lang.String name)
public char getChar(java.lang.String name,
char defaultValue)
public java.util.List<Thing> getChilds()
public java.util.List<Thing> getChilds(java.lang.String thingName)
descriptorName - 描述者的名称
public java.util.List<Thing> getChildsDescriptors()
public java.util.Date getDate(java.lang.String name)
public java.util.Date getDate(java.lang.String name,
java.util.Date defaultValue)
public java.util.List<Thing> getDescriptors()
getAllDescriptorspublic java.util.List<Thing> getAllDescriptors()
getDescriptorspublic double getDouble(java.lang.String name)
public double getDouble(java.lang.String name,
double defaultValue)
public java.util.List<Thing> getExtends()
public float getFloat(java.lang.String name)
public float getFloat(java.lang.String name,
float defaultValue)
public int getInt(java.lang.String name)
public int getInt(java.lang.String name,
int defaultValue)
public long getLong(java.lang.String name)
public long getLong(java.lang.String name,
long defaultValue)
public ThingMetadata getMetadata()
private java.lang.Object getNullReturn(java.lang.String path)
public Thing getParent()
public Thing getRoot()
public short getShort(java.lang.String name)
public short getShort(java.lang.String name,
short defaultValue)
public java.lang.String getString(java.lang.String name)
public java.lang.String getString(java.lang.String name,
java.lang.String defaultValue)
public Thing getThing(java.lang.String childThingPath)
childThingPath - 子事物的路径
public java.lang.String getThingName()
public java.util.List<java.lang.String> getThingNames()
private void initDescriptors()
public void initDefaultValue()
private void initExtends()
private void initThingNames()
protected void initChildMetadata(Thing child)
child -
private boolean isThing(java.util.Map<Thing,java.lang.Object> context,
Thing descriptor)
public boolean isThing(java.lang.String descriptorPath)
descriptorPath - 描述者的路径
public boolean isThing(Thing descriptor)
descriptor - 描述者
public boolean isThingByName(java.lang.String descriptorName)
descriptorName - 描述者的名称
private void removeDescriptorsCache(int index)
private void removeExtendsCache(int index)
public boolean isTransient()
public java.util.Iterator<Thing> getChildsIterator()
public java.lang.Object put(java.lang.Object name,
java.lang.Object value)
name - 属性名称value - 属性的值
public void set(java.lang.Object name,
java.lang.Object value)
name - value - public void setParent(Thing parent)
public void removeDescriptor(Thing descriptor)
descriptor - 描述者public void removeChild(Thing child)
child - 要删除的子事物public boolean remove()
public void removeExtend(Thing extend)
extend - 继承的事物public boolean save()
public void beginModify()
public void endModify(boolean change)
private void updateLastModified()
private void changeChildLastModified(Thing child,
java.util.Map<Thing,java.lang.Object> context,
long lastModified)
|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||