staticメソッド及びフィールド

*Curl ORB for Java version 0.6 がリリースされました。リリースノートはこちら

Curl ORBのコード生成ツールでは、Javaで定義したstaticなメソッド及びフィールドは、Curlのクラスプロシージャクラス変数として生成されます。

例えば、Javaのサービスクラスは以下のように生成されます。(クラスプロシージャはdefine-procとして、クラス変数は、letとして生成。)

Java

public class HogeImpl {
    public static String str;
    
    public static int getBarBar() {
        return 210;
    }
}

 

Curl

{import * from COM.CURLAP.ORB.SERVLET}

{define-class public HogeImpl {inherits ORBClientForContext}

  let public str:#String

  {constructor public {default}
    {construct-super.ORBClientForContext “hoge1”}
  }
 
  {define-proc public {get-bar-bar}:int
    {return {ORBClientForContext.invoke-static “hoge1”, “getBarBar”}}
  }
}

これは以下のようにアクセスできます。
  ・クラスプロシージャ : クラス名.メソッド名
  ・クラス変数 : クラス名.フィールド名 

{do
    || クラス変数
    {output HogeImpl.str}

    || クラスプロシージャ
    {output HogeImple.get-bar-bar}}
}