複合型

カスタム関数において、複合型および複合値は以下の Java クラスによって表現されます。

  • レジスター:

    • com.denodo.common.custom.elements.CustomRecordType は、レジスターフィールドの型 (レジスターの値ではありません) を表します。

      そのメソッド getProperties() は、名前と型のペアのコレクションを返します。コレクションの各エレメントに、レジスターのいずれかのフィールドの型が格納されます。 CustomRecordType.Property インターフェイスの getType() メソッドが返す Object のクラスは、フィールドの型に応じて異なります。

      1. フィールドの型が基本の場合、このメソッドは java.lang.Class (Long.classInteger.classString.class など) を返します。

      2. フィールドの型が register の場合、このメソッドは CustomRecordType オブジェクトを返します。

      3. フィールドの型が array の場合、このメソッドは CustomArrayType オブジェクトを返します。

    • com.denodo.common.custom.elements.CustomRecordValue は、レジスターフィールドの値を表します。

      そのメソッド getProperties() は、レジスターの名前と値のペアのコレクションを返します。コレクションの各エレメントに、レジスターのいずれかのフィールドの値が格納されます。 CustomRecordValue.Property インターフェイスの getValue() メソッドが返す Object のクラスは、フィールドの型に応じて異なります。

      1. フィールドの型が基本の場合、このメソッドは基本の Java オブジェクト (java.lang.Stringjava.lang.Integer など) を返します。

      2. フィールドの型が register の場合、このメソッドは CustomRecordValue オブジェクトを返します。

      3. フィールドの型が array の場合、このメソッドは CustomArrayValue オブジェクトを返します。

  • 配列:

    • com.denodo.common.custom.elements.CustomArrayType は、配列フィールドのデータ型 (配列の値ではありません) を表します。ここには、型の名前、および CustomRecordType のインスタンスとその配列のエレメントの型 (配列は常にレジスターの配列です) が格納されます。

    • com.denodo.common.custom.elements.CustomArrayValue は、配列の値を表します。ここには、 CustomRecordValue オブジェクトのリストが格納されます。

    • com.denodo.common.custom.elements.CustomGroupValue は、集計関数の非集計フィールドから取得した値のリストを表します。

CustomElementsUtil クラスは、配列およびレジスターの型と値を作成するためのメソッドを提供します。