いろいろなデータ型のサポート

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

Curl ORBのデータ通信には以下のデータ型を利用することができます。(要はサービスクラスのコンストラクタやメソッドの引数及び戻り値、フィールドのデータクラスとして利用できる方です。)

Curl Java
int int
int8 byte
int16 short
int32 int
int64 long
float float
double double
bool boolean
char char
String java.lang.String
DateTime java.util.Date
FastArray-of データ型 配列
Array (Array-of any) List, ArrayList
HashTable (HashTable-of any) Map, HashMap
ByteArray com.curl.io.serialize.types.ByteArray
COM.CURLAP.ORB.TYPE.SerializableRecordSet
COM.CURLAP.ORB.TYPE.SerializableRecordField
com.curlap.orb.type.SerializableRecordSet
com.curlap.orb.type.SerializableRecordField
ユーザ定義型(フィールドは上記のものに限る) ユーザ定義型(フィールドは上記のものに限る)

注意)サーバからのレスポンスとして受け取る場合(戻り値)は、すべてNull許容の型となる。(例、#String, #Foo)

また、Curlのユーザ定義型をJavaのクラスから生成する場合は、”Data Class”としてコード生成ツールから生成します。

レコードセットのサンプル

Java

    public SerializableRecordSet createRecordSet() {
        SerializableRecordSet records =
            new SerializableRecordSet(
                    new SerializableRecordField[]{
                            new SerializableRecordField(“name”, String.class),
                            new SerializableRecordField(“age”, int.class),
                            new SerializableRecordField(“money”, double.class),
                           new SerializableRecordField(“date”, DateTime.class)});
        records.addRecord(new Object[]{“hokada”, 32, 10.1, new Date()});
        records.addRecord(new Object[]{“amori”, 27, 20000.01, new Date()});
        records.addRecord(new Object[]{“tyamamoto”, 30, 0.0001, new Date()});
        records.addRecord(new Object[]{“foo”, 20, 2.2, new Date()});
        return records;
    }

 

Curl

  {method public {create-record-set}:#SerializableRecordSet
    {return {self.invoke “createRecordSet”}}
  }

|| 利用例
{RecordGrid record-source = {foo.create-record-set}}