我使用GraniteDS Actionscript code generation templates,讓我拿一個Java對象並將其轉換爲一個Actionscript類。從Java類自定義花崗岩DS腳本代碼生成
它主要用於BlazeDS Java到Flash的通信,但我正在適應它使用JSON webservices使用XStream/JETTISON JSON。
是否可以使用Granite DS Groovy模板來檢查Java類上的註釋並使用它來生成代碼綁定?
例如,我創建@XStreamAlias以通過JSON發送時縮短類名,但我需要我的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 {<%