名前付きウィンドウを生成します。生成方法として、既存のイベントタイプから生成する方法と、新たに列名とタイプを定義する方法とがあります。
構文:
create window ウィンドウ名.ビュー
[as] [select プロパティ [, ...] from] イベントタイプまたはウィンドウ名
[insert [where フィルター式]]
名前付きウィンドウを生成するには、新しく作る名前付きウィンドウの名前(ウィンドウ名)と1つ以上のデータウィンドウビュー(ビュー)を指定します。ウィンドウ名には既存のイベントタイプ(イベントストリーム)名は使えません。
select句により、既存のイベントタイプまたはウィンドウからプロパティを引用することを指定します。
既存の名前付きウィンドウからプロパティを引用する場合、insert句により、新しい名前付きウィンドウ生成時に既存の名前付きウィンドウからデータを取得できます。フィルター式でフィルター条件を指定できます。
構文:
create window ウィンドウ名.ビュー [as] ( 列名 列タイプ [, 列名 列タイプ] [, ...] )
列名と列タイプで、名前付きウィンドウに入れるイベントのプロパティの名前とデータタイプを指定します。
create window 文で isxtp:vdw() を指定することで、Interstage eXtreme Transaction Processing Server(以降XTP)のキャッシュを参照する、Virtual Data Windowを作成することが可能です。
イベントタイプ定義で定義した開発資産IDで型情報を設定する書き方と、直接型情報を記述して設定する書き方があります。
構文:イベントタイプ定義で型情報を設定
create window ウィンドウ名.isxtp:vdw() as イベントタイプの開発資産ID;
イベントタイプ定義を利用した定義方法です。XML形式で定義したイベントタイプ定義は指定できません。
CSV形式のイベントタイプ定義のみ指定できます。(キャッシュにはjava.util.HashMap<String,Object>でvalueを格納します)。
構文:直接型情報を記述して設定
create window ウィンドウ名.isxtp:vdw() as (プロパティ名1 型1, プロパティ名2 型2, ...);
型情報を直接指定する場合の定義方法です。
XTPのキャッシュは、KeyとValueで構成されます。本製品で参照するキャッシュは以下の構成にする必要があります。
Keyに使用可能な型 | Valueに使用可能な型 |
---|---|
java.lang.String | java.util.HashMap<java.lang.String, java.lang.Object> |
create windowの構文で指定する各プロパティは、上記HashMapの各要素に対応します。
キャッシュのHashMapの各要素の値で使用可能な型は以下の通りです。
HashMapの各要素に使用可能な型 |
---|
java.lang.String |
java.lang.Boolean |
java.lang.Byte |
java.lang.Integer |
java.lang.Long |
java.lang.Float |
java.lang.Double |
各プロパティに指定する型と、HashMapの各要素の型(ValueJavaのクラス)との対応関係は以下の通りです。
プロパティの型 | HashMapの各要素の型 |
---|---|
string | java.lang.String |
char/character | (対応する型はありません) |
bool/boolean | java.lang.Boolean |
byte | java.lang.Byte |
short | (対応する型はありません) |
int/integer | java.lang.Integer |
long | java.lang.Long |
float | java.lang.Float |
double | java.lang.Double |
例
Virtual Data Windowの作成例
@VDW(cacheName='CustomerCache',keyProperty='ID') create window CustomerWindow.isxtp:vdw() as (id string, name string, address string);
直接型情報を記述する場合のVirtual Data Window の作成例です。
この例では、XTPのキャッシュ CustomerCache を参照します。KeyはIDです。生成するウィンドウ名は CustomerWindow、プロパティは以下の通りです。
プロパティ名 | 型 |
---|---|
id | string |
name | string |
address | string |
注意
create windowによるVirtual Data Windowの生成は、@VDWアノテーションとの組合せが必須です。@VDWアノテーションについては、「1.1.8 アノテーション」を参照してください。