程序包 org.xmeta
类 Thing
java.lang.Object
org.xmeta.Thing
- 直接已知子类:
MetaThing
public class Thing extends Object
模型也称为事物,意思是用来表示各种东西。模型也是对象,有属性、行为和子对象(子节点)。
模型实现了面向对象的方法。其中描述者(descriptor)相当于类,一个模型可以设置多个类,模型继承类的行为。 模型之间也有继承关系,一个模型可以继承多个其它模型,从而继承被继承模型的行为。
- 作者:
- zyx
-
嵌套类概要
嵌套类 修饰符和类型 类 说明 static class
Thing.DelayInitTask
-
字段概要
字段 修饰符和类型 字段 说明 protected Action
action
每一个模型都有动作的形态protected Map<String,LinkedThingEntry>
actionCaches
动作模型的缓存static String
ATTRIBUTE
属性的名字protected Map<String,Object>
attributes
模型的属性集合。protected List<Thing>
childs
子模型列表protected Map<String,Object>
datas
附加于模型的用户数据static String
DESCRIPTION
描述属性的名字static String
DESCRIPTORS
描述者属性的名字protected ThingEntry[]
descriptorsCaches
描述者列表的缓存static String
EXTENDS
继承者属性的名字protected ThingEntry[]
extendsCaches
继承列表的缓存protected boolean
isTransient
是否是瞬态的模型static String
LABEL
标签的名字protected ThingMetadata
metadata
模型的元数据,用于存放此模型在系统中的一些属性。static String
NAME
名字的名字static String
ORIGIN_THING_PATH
原始模型的路径,尤其是在做detach时protected Thing
parent
父模型,包含此模型的父模型。static String
THING
模型的名字protected ThingListener
thingListener
模型监听器,监听模型的更新和移除事件等事件protected List<String>
thingNames
模型的名称(类名)的缓存列表protected ThreadLocal<Map<String,Object>>
threadLocalDatas
绑定到线程上的数据 -
构造器概要
构造器 构造器 说明 Thing()
默认构造函数,构造一个空的瞬态模型。Thing(String descriptorPath)
通过描述者的路径来构造一个瞬态模型。Thing(String name, String label)
通过名称和标签创建一个瞬态模型。Thing(String name, String label, String descriptorPath)
通过名称、标签和描述者的路径来构造一个瞬态模型。Thing(String name, String label, String descriptorPath, boolean isTransient)
指定名称、标签、描述者和是否是瞬态的来构造一个模型。Thing(Thing descriptor)
使用指定的描述者来创建一个瞬态模型。 -
方法概要
修饰符和类型 方法 说明 void
addChild(String xml)
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)
在指定位置添加一个描述者。void
addDescritpor(int index, String descriptorPath)
通过描述者的路径加入描述者,可以加入多个,中间使用','号隔开。void
addExtend(int index, Thing extendThing)
在指定位置添加一个继承模型。void
beginModify()
beginBigModifiy必须和endBigModify成对出现。void
changeChildIndex(Thing child, int index, int moveStep)
改变一个子模型的位置索引。void
cognize(String xmlData)
从一个XML数据认知并把认知结果保存到自身。void
cognize(Map<String,Object> adata)
从一个Map数据认知并把认知结果保存到自身。void
cognize(Thing thing)
认知另一模型并把认知结果作为自己的一部分。Thing
copyTo(String thingManager, String category)
把自己拷贝一个新的模型到指定的模型管理器的指定目录下。Thing
detach()
克隆一个新模型,新的模型是瞬态的。Thing
detach(boolean detachToTransient)
已过时。<T> T
doAction(String name)
执行一个动作,把自己作为self变量放入动作上下文中。<T> T
doAction(String name, Map<String,Object> parameters)
执行一个动作,把自己作为self变量放入动作上下文中,使用新的动作上下文和传入参数。<T> T
doAction(String name, ActionContext actionContext)
执行一个动作,把自己作为self变量放入动作上下文中。<T> T
doAction(String name, ActionContext actionContext, Object... parameters)
<T> T
doAction(String name, ActionContext actionContext, Map<String,Object> parameters)
执行一个动作,把自己作为self变量放入动作上下文中。<T> T
doAction(String name, ActionContext actionContext, Map<String,Object> parameters, boolean isSubAction)
执行一个动作,把自己作为self变量放入动作上下文中。<T> T
doExec(String name, Object... params)
<T> T
doExec(String name, ActionContext context, Object... params)
void
endModify(boolean change)
<T> T
exec(String name, Object... params)
<T> T
exec(String name, ActionContext context, Object... params)
Object
get(String path)
通过路径获得模型的属性或者子模型,可返回属性值、子模型或者子模型列表。Object
get(Path path)
Action
getAction()
List<Thing>
getActionsThings()
Thing
getActionThing(String name)
获得指定动作的模型定义。List<Thing>
getActionThings()
返回本模型的所有的动作定义,包括自身定义的、描述者定义的和继承定义的。List<Thing>
getActionThings(String name)
获取一个模型的指定动作的所有定义。List<Thing>
getAllAttributesDescriptors()
取本模型的所有描述者所定义属性描述列表。List<Thing>
getAllChilds()
获得所有的直接第一级子模型,包括继承的模型的子模型。List<Thing>
getAllChilds(String thingName)
根据描述者的名称来获取所有符合的子模型,包括继承的子模型。List<Thing>
getAllChildsDescriptors()
获取子模型的描述者列表,返回本模型的所有描述者所定义的子模型的描述列表。List<Thing>
getAllDescriptors()
返回本模型所有的描述者列表,包括描述者继承的模型。List<Thing>
getAllExtends()
返回模型的所有继承模型列表,包括继承的继承...。Object
getAttribute(String name)
获得属性值。Thing
getAttributeDescriptor(String name)
根据指定的属性名称获取该属性的描述者。Map<String,Object>
getAttributes()
获得属性集合。List<Thing>
getAttributesDescriptors()
根获取模型属性描述列表,只返回第一个描述者的属性描述列表。BigDecimal
getBigDecimal(String name)
BigDecimal
getBigDecimal(String name, BigDecimal defaultValue)
BigDecimal
getBigDecimal(String name, BigDecimal defaultValue, ActionContext actionContext)
BigInteger
getBigInteger(String name)
BigInteger
getBigInteger(String name, BigInteger defaultValue)
BigInteger
getBigInteger(String name, BigInteger defaultValue, ActionContext actionContext)
boolean
getBoolean(String name)
boolean
getBoolean(String name, boolean defaultValue)
boolean
getBoolean(String name, boolean defaultValue, ActionContext actionContext)
byte
getByte(String name)
byte
getByte(String name, byte defaultValue)
byte
getByte(String name, byte defaultValue, ActionContext actionContext)
byte[]
getBytes(String name)
byte[]
getBytes(String name, byte[] defaultValue)
byte[]
getBytes(String name, byte[] defaultValue, ActionContext actionContext)
<T> T
getCachedData(String key)
获取缓存的数据。Callable<Object>
getCallable(ActionContext actionContext)
把当前模型转化为一个Callable。Callable<Object>
getCallable(ActionContext actionContext, Map<String,Object> params)
把当前模型转化为一个Callable。char
getChar(String name)
char
getChar(String name, char defaultValue)
char
getChar(String name, char defaultValue, ActionContext actionContext)
Thing
getChildAt(int index)
返回指定索引位置的子节点,如果超出范围返回null。Thing
getChildBy(Thing refChild, int index)
获取参考子节点的相对位置的子节点,首先找到参考子节点的位置索引,然后和目标index相加获得最终的索引位置。List<Thing>
getChilds()
返回本模型的直接子模型,不包含继承的子模型。List<Thing>
getChilds(String thingName)
根据描述者的名称来获取所有符合的子模型,不包括继承的子模型。List<Thing>
getChildsDescriptors()
获取子模型的描述者列表,只返回第一个描述者所定义的子模型的描述列表。Iterator<Thing>
getChildsIterator()
返回遍历所有的子节点遍历器。List<Thing>
getClasses()
Thing
getClassThing()
<T> T
getData(String key)
获取缓存到当前模型的对象。Map<String,Object>
getDatas()
返回保存Data数据的Map,有可能返回null,如果没有初始化(放过数据)。Date
getDate(String name)
Date
getDate(String name, Date defaultValue)
Date
getDate(String name, Date defaultValue, ActionContext actionContext)
Thing
getDescriptor()
返回模型的主要的描述者。List<Thing>
getDescriptors()
返回本模型定义的的所有描述者的列表。double
getDouble(String name)
double
getDouble(String name, double defaultValue)
double
getDouble(String name, double defaultValue, ActionContext actionContext)
List<Thing>
getExtends()
返回本模型的继承模型列表。float
getFloat(String name)
float
getFloat(String name, float defaultValue)
float
getFloat(String name, float defaultValue, ActionContext actionContext)
int
getInt(String name)
int
getInt(String name, int defaultValue)
int
getInt(String name, int defaultValue, ActionContext actionContext)
long
getLong(String name)
long
getLong(String name, long defaultValue)
long
getLong(String name, long defaultValue, ActionContext actionContext)
ThingMetadata
getMetadata()
获得本模型的元数据。<T> T
getObject(String key)
获取属性,并强制转换到相应的类型。Object
getObject(String name, ActionContext actionContext)
从模型中取指定的属性的字符串的值作为变量名,然后从ActionContext中取变量,支持var:或ognl:,默认相当于 var:。Thing
getParent()
返回本模型的父模型。Thing
getQuotedThing(String attribute)
返回属性所指向的引用的模型,如果不存在替换为根模型的路径当前的根模型开始寻找。Thing
getRoot()
返回本模型的最根级(顶层)父模型,如果当前模型已经是根模型,那么返回自身。Runnable
getRunnable(ActionContext actionContext)
把当前模型转化为一个Runnable。Runnable
getRunnable(ActionContext actionContext, Map<String,Object> params)
把当前模型转化为一个Runnable。short
getShort(String name)
short
getShort(String name, short defaultValue)
short
getShort(String name, short defaultValue, ActionContext actionContext)
<T> T
getStaticCachedData(String key)
获取缓存到World中的数据。<T> T
getStaticData(String key)
从World的对象缓存中取对象,其中从缓存中去对象的键是<当前模型的路径>_<key>。<T> T
getStaticThreadData(String key)
从World的线程相关的对象缓存中取对象,其中从缓存中去对象的键是<当前模型的路径>_<key>。String
getString(String name)
String
getString(String name, String defaultValue)
String
getString(String name, String defaultValue, ActionContext actionContext)
通过属性值从上下文中取字符串,通过UtilString获取字符串,如果返回null或空,那么返回defaultValue。String
getStringBlankAsNull(String name)
获取字符串,trim()后的空字符串也返回null。<T> T
getTempData(String key)
返回一个和修改时间绑定的缓存,如果模型的当前修改时间和保存时不一样,那么缓存无效返回null。Thing
getThing(String childThingPath)
通过指定的子模型的路径获取一个子模型。ThingListener
getThingListener()
获取模型监听器,入股没有设置返回null。String
getThingName()
返回模型的模型名,相当于Java对象的类名。List<String>
getThingNames()
返回模型的所有模型名。Object
getThreadData(String key)
返回绑定到本模型的ThradLocal中的数据。protected void
initChildMetadata(Thing child)
初始化子模型的元数据。void
initChildPath()
重新初始化所有子模型的路径。void
initDefaultValue()
初始化模型属性的默认值。void
initDefaultValue(boolean forece)
初始化模型属性的默认值。boolean
isThing(String descriptorPath)
根据指定的描述者来判断该模型是否是这个指定描述者的所描述的模型。boolean
isThing(Thing descriptor)
根据指定的描述者来判断该模型是否这个指定描述者所描述的模型。boolean
isThingByName(String descriptorName)
根据描述者的名称返回当前模型是否是指定的模型,此判定方法并非严格。boolean
isTransient()
返回本模型是否是瞬态的。void
moveTo(String thingManager, String path)
移动到指定的模型管理器和新的路径下,同saveAs()方法。void
parseXML(String xml)
void
paste(String data)
void
paste(Map<String,Object> data)
void
paste(Thing data)
Object
put(String name, Object value)
设置属性的值。void
putAll(Map<String,Object> values)
放入Map的全部值,但不触发descriptor和extends的改变事件,同时也会更新日期。boolean
remove()
删除调用自身的模型管理者删除自己,设置自身的状态为已删除。void
removeChild(int index)
void
removeChild(Thing child)
删除指定的子模型。void
removeDescriptor(Thing descriptor)
从本模型的描述者列表中移除指定的描述者。void
removeExtend(Thing extend)
从本模型的继承列表中移除指定的继承模型。void
replace(Thing thing)
使用新的模型来覆盖当前模型。<T> T
run(String name)
执行一个动作,不把自己放入动作上下文中。<T> T
run(String name, Map<String,Object> parameters)
执行一个动作,不把自己放入动作上下文中,使用新的动作上下文和传入的参数。<T> T
run(String name, ActionContext context)
执行一个动作,不把自己放入动作上下文中。<T> T
run(String name, ActionContext context, Object[] parameters, boolean isSubAction, boolean includeSelf)
按普通参数的方式执行。<T> T
run(String name, ActionContext context, Map<String,Object> parameters)
执行一个动作,不把自己放入动作上下文中。<T> T
run(String name, ActionContext context, Map<String,Object> parameters, boolean isSubAction)
执行一个动作,不把自己放入动作上下文中。<T> T
run(String name, ActionContext context, Map<String,Object> parameters, boolean isSubAction, boolean includeSelf)
执行一个动作。boolean
save()
保存自己,通常是调用模型所在的模型管理者来保存。void
saveAs(String thingManager, String path)
相当于move根节点,在原来的地方删除根节点,把根节点按照指定的路径保存到指定的目录下,如果目标模型存在那么会替换目标模型。void
set(String name, Object value)
设置属性。void
setCachedData(String key, Object data)
设置缓存数据,如果模型在后面修改了,那么缓存失效。void
setData(String key, Object data)
缓存一个对象到当前模型中。void
setParent(Thing parent)
void
setStaticCachedData(String key, Object data)
设置缓存数据到World中,如果模型在后面修改了,那么缓存失效。void
setStaticData(String key, Object value)
数据是保存到到World中的,key是<当前模型的路径>_<key>。void
setStaticThreadData(String key, Object value)
保存线程相关的对象到World中,key是<当前模型的路径>_<key>。void
setTempData(String key, Object data)
设置一个缓存数据。void
setThingListener(ThingListener thingListener)
设置新的模型监听器,如果已有监听器将被覆盖。void
setThreadData(String key, Object data)
设置绑定到当前模型的ThreadLocal的数据。void
setTransient(boolean isTransient)
设置模型是否是内存型的。String
toString()
String
toXML()
boolean
valueExists(String name)
返回指定的属性的值是否存在,在attributes里为null或空字符串都返回null。
-
字段详细资料
-
THING
模型的名字- 另请参阅:
- 常量字段值
-
ATTRIBUTE
属性的名字- 另请参阅:
- 常量字段值
-
NAME
名字的名字- 另请参阅:
- 常量字段值
-
LABEL
标签的名字- 另请参阅:
- 常量字段值
-
DESCRIPTORS
描述者属性的名字- 另请参阅:
- 常量字段值
-
EXTENDS
继承者属性的名字- 另请参阅:
- 常量字段值
-
DESCRIPTION
描述属性的名字- 另请参阅:
- 常量字段值
-
ORIGIN_THING_PATH
原始模型的路径,尤其是在做detach时- 另请参阅:
- 常量字段值
-
attributes
模型的属性集合。 -
parent
父模型,包含此模型的父模型。 -
metadata
模型的元数据,用于存放此模型在系统中的一些属性。 -
childs
子模型列表 -
thingNames
模型的名称(类名)的缓存列表 -
extendsCaches
继承列表的缓存 -
descriptorsCaches
描述者列表的缓存 -
actionCaches
动作模型的缓存 -
isTransient
protected boolean isTransient是否是瞬态的模型 -
action
每一个模型都有动作的形态 -
datas
附加于模型的用户数据 -
threadLocalDatas
绑定到线程上的数据 -
thingListener
模型监听器,监听模型的更新和移除事件等事件
-
-
构造器详细资料
-
Thing
public Thing()默认构造函数,构造一个空的瞬态模型。 -
Thing
通过描述者的路径来构造一个瞬态模型。- 参数:
descriptorPath
- 描述者的路径
-
Thing
使用指定的描述者来创建一个瞬态模型。 -
Thing
通过名称和标签创建一个瞬态模型。- 参数:
name
- 模型的名称label
- 模型的标签
-
Thing
通过名称、标签和描述者的路径来构造一个瞬态模型。- 参数:
name
- 模型的名称label
- 模型的标签descriptorPath
- 模型的路径
-
Thing
指定名称、标签、描述者和是否是瞬态的来构造一个模型。 非瞬态的模型一般有模型管理者创建。- 参数:
name
- 模型的名称label
- 模型的标签descriptorPath
- 模型的描述者isTransient
- 是否是瞬态的
-
-
方法详细资料
-
addChild
-
addChild
添加一个子模型。- 参数:
childThing
- 子模型
-
addChild
-
addChild
-
addChild
在指定的索引位置添加一个子模型。 如果指定索引不存在,那么尽量添加在最后面。- 参数:
childThing
- 子模型index
- 位置索引changeParent
- 是否改变子模型的父模型为本模型
-
addDescriptor
在指定位置添加一个描述者。
如果描述者已经存在且位置不同,那么会切换到新的位置,如果index为-1那么添加至结尾。- 参数:
index
- 描述者的位置descriptor
- 描述者
-
addDescritpor
通过描述者的路径加入描述者,可以加入多个,中间使用','号隔开。- 参数:
index
- 位置索引descriptorPath
- 描述者的路径
-
addExtend
在指定位置添加一个继承模型。
如果继承已经存在且位置不同,那么会切换到新的位置,如果index为-1那么添加至结尾。- 参数:
extendThing
- 要继承的模型index
- 参数位置
-
changeChildIndex
改变一个子模型的位置索引。- 参数:
child
- 子模型index
- 要移动的位置,如果为-1,那么通过moveStep来上移或下移moveStep
- 小于0表示上移,大于0表示下移,步伐为其绝对值
-
cognize
从一个Map数据认知并把认知结果保存到自身。- 参数:
adata
- 一个Map数据
-
cognize
从一个XML数据认知并把认知结果保存到自身。- 参数:
xmlData
- 一个XML数据(字符串)- 抛出:
IOException
- IO异常SAXException
- SAX异常ParserConfigurationException
- 分析异常
-
cognize
认知另一模型并把认知结果作为自己的一部分。
认识另一模型和认识非模型的对象的区别是,认识其他模型是把另一模型的所有内容保存到自身,而认识 非模型物时是根据自身的描述者所描述的属性和子模型去从认知对象上取值的。- 参数:
thing
- 另一模型
-
paste
-
paste
-
parseXML
-
paste
-
detach
克隆一个新模型,新的模型是瞬态的。 不会克隆模型的继承和描述,仅仅是克隆模型本身。- 返回:
- 克隆的新模型
-
detach
已过时。使用detach()。- 参数:
detachToTransient
- 是否detach到瞬态- 返回:
- 模型
-
doAction
执行一个动作,把自己作为self变量放入动作上下文中。- 参数:
name
- 动作名称- 返回:
- 执行后的返回结果
-
doAction
执行一个动作,把自己作为self变量放入动作上下文中。- 参数:
name
- 动作名称actionContext
- 变量容器- 返回:
- 执行后的返回结果
-
doAction
执行一个动作,把自己作为self变量放入动作上下文中,使用新的动作上下文和传入参数。- 参数:
name
- 动作名parameters
- 参数- 返回:
- 执行结果
-
doAction
执行一个动作,把自己作为self变量放入动作上下文中。- 参数:
name
- 动作名称actionContext
- 变量容器parameters
- 参数- 返回:
- 执行后的返回结果
-
doAction
-
doAction
public <T> T doAction(String name, ActionContext actionContext, Map<String,Object> parameters, boolean isSubAction)执行一个动作,把自己作为self变量放入动作上下文中。- 参数:
name
- 动作名actionContext
- 变量上下文parameters
- 参数isSubAction
- 是否是子动作- 返回:
- 执行结果
-
run
public <T> T run(String name, ActionContext context, Map<String,Object> parameters, boolean isSubAction, boolean includeSelf)执行一个动作。- 参数:
name
- 动作名context
- 变量上下文parameters
- 参数isSubAction
- 是否是子动作includeSelf
- 是否包含自己- 返回:
- 执行结果
-
exec
-
exec
-
doExec
-
doExec
-
run
public <T> T run(String name, ActionContext context, Object[] parameters, boolean isSubAction, boolean includeSelf)按普通参数的方式执行。- 参数:
name
- 动作名context
- 变量上下文parameters
- 参数列表isSubAction
- 是否是子动作includeSelf
- 是否包含自己- 返回:
- 执行结果
-
run
public <T> T run(String name, ActionContext context, Map<String,Object> parameters, boolean isSubAction)执行一个动作,不把自己放入动作上下文中。- 参数:
name
- 动作名context
- 变量上下文parameters
- 参数isSubAction
- 是否是子动作- 返回:
- 执行结果
-
run
执行一个动作,不把自己放入动作上下文中。- 参数:
name
- 动作名context
- 变量上下文parameters
- 参数- 返回:
- 执行结果
-
run
执行一个动作,不把自己放入动作上下文中。- 参数:
name
- 动作名context
- 变量上下文- 返回:
- 执行结果
-
run
执行一个动作,不把自己放入动作上下文中,使用新的动作上下文和传入的参数。- 参数:
name
- 动作名parameters
- 参数- 返回:
- 执行结果
-
run
执行一个动作,不把自己放入动作上下文中。- 参数:
name
- 动作名- 返回:
- 执行结果
-
get
-
get
通过路径获得模型的属性或者子模型,可返回属性值、子模型或者子模型列表。
路径遵从模型的路径规则。- 参数:
path
- 路径- 返回:
- 路径对应的对象,找不到返回null
-
getActionThing
获得指定动作的模型定义。
搜寻模型动作的规则是: 如果不是super的动作,那么先搜寻模型本身定义的动作。 依次搜寻描述者和描述者的继承定义的动作。 依次搜索模型的描述者的继承者定义的动作。- 参数:
name
- 动作名称- 返回:
- 动作模型,如果不存在返回null
-
getActionThings
获取一个模型的指定动作的所有定义。依次从自己、描述者和继承上获取。 -
getAction
-
getRunnable
把当前模型转化为一个Runnable。- 参数:
actionContext
- 变量上下文- 返回:
- runnable
-
getRunnable
把当前模型转化为一个Runnable。- 参数:
actionContext
- 变量上下文params
- 参数- 返回:
- runnable
-
getCallable
把当前模型转化为一个Callable。- 参数:
actionContext
- 变量上下文- 返回:
- callable
-
getCallable
把当前模型转化为一个Callable。- 参数:
actionContext
- 变量上下文params
- 参数- 返回:
- callable
-
getActionsThings
-
getActionThings
返回本模型的所有的动作定义,包括自身定义的、描述者定义的和继承定义的。- 返回:
- 动作定义列表
-
getAllAttributesDescriptors
取本模型的所有描述者所定义属性描述列表。- 返回:
- 属性描述列表
-
getAllChilds
获得所有的直接第一级子模型,包括继承的模型的子模型。- 返回:
- 所有的子模型
-
getAllChilds
根据描述者的名称来获取所有符合的子模型,包括继承的子模型。
注:这里是描述者的名,不是描述者的路径。- 参数:
thingName
- 描述者的名称- 返回:
- 描述者的名称为指定名称的子模型
-
getAllChildsDescriptors
获取子模型的描述者列表,返回本模型的所有描述者所定义的子模型的描述列表。- 返回:
- 描述者列表
-
getAllExtends
返回模型的所有继承模型列表,包括继承的继承...。- 返回:
- 所有继承的模型列表
-
getAttribute
获得属性值。- 参数:
name
- 属性名称- 返回:
- 属性的值。
-
getAttributeDescriptor
根据指定的属性名称获取该属性的描述者。- 参数:
name
- 属性名称- 返回:
- 属性的描述者
-
getAttributes
获得属性集合。- 返回:
- 属性集合
-
getAttributesDescriptors
根获取模型属性描述列表,只返回第一个描述者的属性描述列表。
- 返回:
- 模型的属性描述列表
-
getBigDecimal
-
getBigDecimal
-
getBigDecimal
-
getBigInteger
-
getBigInteger
-
getBigInteger
-
getBoolean
-
getBoolean
-
getBoolean
-
getByte
-
getByte
-
getByte
-
getBytes
-
getBytes
-
getBytes
-
getChar
-
getChar
-
getChar
-
getChilds
返回本模型的直接子模型,不包含继承的子模型。- 返回:
- 本模型的直接子模型
-
getChilds
根据描述者的名称来获取所有符合的子模型,不包括继承的子模型。- 参数:
thingName
- 描述者的名称- 返回:
- 描述者的名称为指定名称的子模型
-
getChildsDescriptors
获取子模型的描述者列表,只返回第一个描述者所定义的子模型的描述列表。- 返回:
- 子模型的描述者列表
-
getDate
-
getDate
-
getDate
-
getClassThing
-
getClasses
-
getDescriptor
返回模型的主要的描述者。- 返回:
- 第一个描述者
-
getDescriptors
返回本模型定义的的所有描述者的列表。
一个模型的描述者列表是在属性descriptors里定义的,如果有多个那么之间用,号隔开。另外元模型是所有的 模型的基本描述,一般在描述者列表中元模型被放到了列表的末端
如果模型的一个描述者继承了其他模型,那么继承的其他模型也是这个模型的描述者,这样的描述者在此方法里 不能获得,如想取得模型的所有包含描述者继承的描述者,那么可以是用getAllDescriptors()方法。
- 返回:
- 本模型的所有描述者的列表
-
getAllDescriptors
返回本模型所有的描述者列表,包括描述者继承的模型。
与getDescriptors方法不同的是getDescriptors方法只返回自身定义的描述者的列表。- 返回:
- 包含描述者继承的模型所有的描述者列表
-
getDouble
-
getDouble
-
getDouble
-
getExtends
返回本模型的继承模型列表。- 返回:
- 继承模型列表
-
getFloat
-
getFloat
-
getFloat
-
getInt
-
getInt
-
getInt
-
getObject
从模型中取指定的属性的字符串的值作为变量名,然后从ActionContext中取变量,支持var:或ognl:,默认相当于 var:。- 参数:
name
- 属性名actionContext
- 变量上下文- 返回:
- 返回对象
-
getLong
-
getLong
-
getLong
-
getMetadata
获得本模型的元数据。- 返回:
- 当前模型的元数据
-
getParent
返回本模型的父模型。- 返回:
- 父模型,如果没有返回null
-
getRoot
返回本模型的最根级(顶层)父模型,如果当前模型已经是根模型,那么返回自身。- 返回:
- 根父模型
-
getShort
-
getShort
-
getShort
-
getString
-
getStringBlankAsNull
获取字符串,trim()后的空字符串也返回null。- 参数:
name
- 属性名- 返回:
- 结果
-
valueExists
返回指定的属性的值是否存在,在attributes里为null或空字符串都返回null。 -
getString
-
getString
通过属性值从上下文中取字符串,通过UtilString获取字符串,如果返回null或空,那么返回defaultValue。- 参数:
name
- 属性名defaultValue
- 默认值actionContext
- 变量上下文- 返回:
- 值
-
getThing
通过指定的子模型的路径获取一个子模型。- 参数:
childThingPath
- 子模型的路径- 返回:
- 子模型
-
getQuotedThing
返回属性所指向的引用的模型,如果不存在替换为根模型的路径当前的根模型开始寻找。 有的时候一个属性的值是一个所引用的模型的路径,由于模型引擎总是使用全路径, 这样如果引用时本模型根模型的某个字模型,并且根模型拷贝到了其它目录下或改名了, 那么这个引用就会失效。 通过使用此方法可以避免这个问题,并且属性的值会重设,如果引用的模型同属一个根 模型的话。- 参数:
attribute
- 属性名称- 返回:
- 所引用的模型
-
getThingName
返回模型的模型名,相当于Java对象的类名。- 返回:
- 模型名
-
getThingNames
返回模型的所有模型名。- 返回:
- 模型名
-
initDefaultValue
public void initDefaultValue()初始化模型属性的默认值。 -
initDefaultValue
public void initDefaultValue(boolean forece)初始化模型属性的默认值。- 参数:
forece
- 如果为ture,那么即使模型的属性已经设置过了,也会被默认值代替,如果描述者设置了默认值。
-
initChildPath
public void initChildPath()重新初始化所有子模型的路径。 -
initChildMetadata
初始化子模型的元数据。- 参数:
child
- 子模型
-
isThing
根据指定的描述者来判断该模型是否是这个指定描述者的所描述的模型。 类似Java的instanceof的作用。- 参数:
descriptorPath
- 描述者的路径- 返回:
- 是否是描述者所描述的模型
-
isThing
根据指定的描述者来判断该模型是否这个指定描述者所描述的模型。 类似Java的instanceof的作用。- 参数:
descriptor
- 描述者- 返回:
- 是否这个描述者所描述的模型
-
isThingByName
根据描述者的名称返回当前模型是否是指定的模型,此判定方法并非严格。 类似Java的instanceof的作用。- 参数:
descriptorName
- 描述者的名称- 返回:
- 是否是该模型
-
replace
使用新的模型来覆盖当前模型。- 参数:
thing
-
-
isTransient
public boolean isTransient()返回本模型是否是瞬态的。- 返回:
- 是否是瞬态的
-
getChildsIterator
返回遍历所有的子节点遍历器。- 返回:
- 子节点遍历器
-
put
设置属性的值。- 参数:
name
- 属性名称value
- 属性的值- 返回:
- 值
-
putAll
放入Map的全部值,但不触发descriptor和extends的改变事件,同时也会更新日期。- 参数:
values
- 值
-
set
设置属性。- 参数:
name
- 属性名value
- 值
-
setParent
-
removeDescriptor
从本模型的描述者列表中移除指定的描述者。- 参数:
descriptor
- 描述者
-
removeChild
删除指定的子模型。- 参数:
child
- 要删除的子模型
-
removeChild
public void removeChild(int index) -
remove
public boolean remove()删除调用自身的模型管理者删除自己,设置自身的状态为已删除。- 返回:
- 是否成功
-
removeExtend
从本模型的继承列表中移除指定的继承模型。- 参数:
extend
- 继承的模型
-
save
public boolean save()保存自己,通常是调用模型所在的模型管理者来保存。- 返回:
- 是否成功
-
moveTo
移动到指定的模型管理器和新的路径下,同saveAs()方法。 -
saveAs
相当于move根节点,在原来的地方删除根节点,把根节点按照指定的路径保存到指定的目录下,如果目标模型存在那么会替换目标模型。- 参数:
thingManager
- 模型管理器path
- 模型路径
-
copyTo
把自己拷贝一个新的模型到指定的模型管理器的指定目录下。- 参数:
thingManager
- 模型管理器category
- 目录- 返回:
- 模型
-
beginModify
public void beginModify()beginBigModifiy必须和endBigModify成对出现。 -
endModify
public void endModify(boolean change) -
toString
-
toXML
-
setThreadData
设置绑定到当前模型的ThreadLocal的数据。 -
getThreadData
返回绑定到本模型的ThradLocal中的数据。 -
getTempData
返回一个和修改时间绑定的缓存,如果模型的当前修改时间和保存时不一样,那么缓存无效返回null。 -
setTempData
设置一个缓存数据。如果模型被修改了,那么缓存也变得无效了。 -
setData
缓存一个对象到当前模型中。 -
getData
获取缓存到当前模型的对象。 -
getDatas
返回保存Data数据的Map,有可能返回null,如果没有初始化(放过数据)。- 返回:
- 保存的值
-
setCachedData
设置缓存数据,如果模型在后面修改了,那么缓存失效。- 参数:
key
- keydata
- 数据
-
getCachedData
获取缓存的数据。- 参数:
key
- 键- 返回:
- 值
-
setStaticCachedData
设置缓存数据到World中,如果模型在后面修改了,那么缓存失效。- 参数:
key
- keydata
- 数据
-
getStaticCachedData
获取缓存到World中的数据。- 参数:
key
- 键- 返回:
- 值
-
setStaticData
数据是保存到到World中的,key是<当前模型的路径>_<key>。 -
getStaticData
从World的对象缓存中取对象,其中从缓存中去对象的键是<当前模型的路径>_<key>。 -
setStaticThreadData
保存线程相关的对象到World中,key是<当前模型的路径>_<key>。 -
getStaticThreadData
从World的线程相关的对象缓存中取对象,其中从缓存中去对象的键是<当前模型的路径>_<key>。 -
setTransient
public void setTransient(boolean isTransient)设置模型是否是内存型的。 -
getObject
获取属性,并强制转换到相应的类型。 -
getChildAt
返回指定索引位置的子节点,如果超出范围返回null。- 参数:
index
- 索引- 返回:
- 如果超出子节点的范围,返回null,否则返回对应的子节点。
-
getChildBy
获取参考子节点的相对位置的子节点,首先找到参考子节点的位置索引,然后和目标index相加获得最终的索引位置。 所以如果index小于0,是指获取参考节点的索引更小的子节点,如果index大于0,则是获取后面的节点。- 参数:
refChild
- 参考子节点index
- 索引位置- 返回:
- 如果超出子节点的范围或参考子节点不是当前模型的子节点返回null,否则返回对应的子节点。
-
getThingListener
获取模型监听器,入股没有设置返回null。 -
setThingListener
设置新的模型监听器,如果已有监听器将被覆盖。
-