【发布时间】:2009-12-09 22:11:14
【问题描述】:
我正在使用GraniteDS Actionscript code generation templates,让我获取一个Java 对象并将其转换为一个Actionscript 类。
它主要用于 BlazeDS Java 到 Flash 的通信,但我正在调整它以使用 XStream/JETTISON JSON 与 JSON 网络服务一起使用。
是否可以使用 Granite DS Groovy 模板来检查 Java 类上的注释并使用它来生成代码绑定?
例如,当通过 JSON 发送时,我创建了一个 @XStreamAlias 来缩短类名,但我还需要我的 Actionscript 生成的类来支持它。
package com.webwars.game;
@XStreamAlias("UnitStack")
public class UnitStack implements Serializable {
我希望我的 Actionscript 生成的代码是:
package com.webwars.gameplatform.combat.pvp {
[Bindable]
[RemoteClass(alias="UnitStack")]
public class UnitStack extends UnitStackBase {
这可以通过 groovy 模板实现吗?
我似乎找不到任何有关 GraniteDS Groovy 模板 JavaType 中可用属性的文档? GraniteDS 网站上列出的 JavaType 文档指向了一个损坏的 Javadoc 链接。
例如,在我的 bean.gsp 中,我可以执行以下操作:
<%
///////////////////////////////////////////////////////////////////////////
// Use the XStreamAlias annotation as the classname
def alias = jClass.qualifiedName;
if (jClass.hasAnnotation("XStreamAlias)) {
alias = jClass.getAnnotation("XStreamAlias");
}
%>
[Bindable]
[RemoteClass(alias="${alias}")]
public class ${jClass.as3Type.name} extends ${jClass.as3Type.name}Base {<%
【问题讨论】:
标签: java actionscript-3 groovy code-generation graniteds