版权所有2007-2015蔡倩彦,采用GNU LGPL版本2.1许可模式。
关于Java端开发请参考《Objot 版本23 Java端手册》。 关于Javascript端开发请参考《Objot 版本23 Javascript端手册》。
编解码。
c = o.constructor as Class
,既可给每个类,也可以给每个对象指定不同的名字。
默认是:return c == Object || c == null ? '' : getQualifiedClassName(c);
return name == '' ? {} : new (getDefinitionByName(name));
// 查找this.rules,若已经分析过,则直接返回分析结果 // 创建Rule对象 // 如果cf是Function,调用Rule.initFunc,否则调用Rule.initClass // 将结果放入this.rules,并返回
标记在类、属性(variable、accessor)上的metadata,表示需要编码。
可以设置参数,表示指定哪些key时需要编码,作为编码规则。 与各个参数都不相同的key,则禁止编码。不指定参数,表示任何key时,都需要编码。
标记在类上的[Enc],其规则附加在各属性的[Enc]上。
参数是字符串,必须符合xml的attribute格式。
标记在类上的metadata,表示动态属性需要编码。
可以设置参数,表示指定哪些key时需要编码动态属性,作为编码规则。 与各个参数都不相同的key,则禁止编码动态属性。不指定参数,表示任何key时,都需要编码。
参数是字符串,必须符合xml的attribute格式。
特别注意:[Enc]和[EncDynamic]必须在编译时指定保留,否则编译后的文件将不包含这两个metadata。
编译参数:-compiler.keep-as3-metadata Enc EncDynamic
。
或者配置文件:
<compiler> <keep-as3-metadata> <name>Enc</name> <name>EncDynamic</name> </keep-as3-metadata> </compiler>
编码规则。默认是分析metadata,生成相关数据。
// 获取类的metadata // 如果有[EncDynamic],则生成相关的信息,供encDynamic()使用。 // 如果有[Enc],则生成相关信息,以便作用于每个属性的[Enc] // 获取每个属性的metadata // 如果有[EncDynamic],则抛出异常 // 如果有[Enc],对于static,writeonly的属性,抛出异常 // 否则生成相关信息,供encProps()使用。
参见源代码。
与xml转换。与object的name/value转换。
对Array、Boolean、Date、Number、String、XML、XMLList等做无convert的严格类型转换。
初始化类,并得到类定义等相关信息。
父类。判断是否父类。判断是否父类或接口。
对异常的封装,与Java端对应。
抛出Error的方法,以便放入表达式中。
类定义等信息。
将对象转换成字符串,并限制长度。