Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

eXTreme クラスのクイック・リファレンス

この章は、以下の Caché eXTreme API を理解するために最も重要なクラスのクイック・リファレンスです。

Note:

これは、これらの API の最終的なリファレンスではありません。最も完全な最新の情報は、<install-dir>/dev/java/doc/index.html にある "JavaDoc for the InterSystems Java Connectivity API" を参照してください。

XEP クイック・リファレンス

このセクションは、XEP API (eXTreme Event Persistence com.intersys.xep ネームスペース ) のリファレンスです。この API の使用法の詳細は、"eXTreme Event Persistence の使用法" を参照してください。これには、以下のクラスおよびインタフェースが含まれています。

  • クラス PersisterFactoryEventPersister オブジェクトを作成するために必要なファクトリ・メソッドを提供します。

  • クラス EventPersister — XEP データベース接続をカプセル化します。また、XEP オプションの設定、XEP 接続の確立または既存の接続オブジェクトの取得、スキーマのインポート、XEP イベント・オブジェクトの作成、サーバ上の Caché 関数およびメソッドの呼び出し、トランザクションの制御を行うメソッドを提供します。

  • クラス Event — XEP 永続イベントへの参照をカプセル化します。また、イベントの格納または削除、クエリの作成、インデックス作成の開始または停止を行うメソッドを提供します。

  • クラス EventQuery<> — 更新または削除するためにデータベースから特定のタイプの個別のイベントを取得するクエリをカプセル化します。

  • クラス EventQueryIterator<> — Java Iterator のメソッドに類似したメソッドを使用して XEP イベントの取得、更新および削除を行う EventQuery<> の代替手段を提供します。

  • インタフェース InterfaceResolver — フィールドがインタフェースとして宣言された場合、フラット・スキーマのインポート中にフィールドの実際のデータ型を解決します。

  • クラス XEPException — ほとんどの XEP メソッドによってスローされる例外です。

XEP メソッドのリスト

このリファレンスでは、以下の XEP API のクラスおよびメソッドを説明します。

PersisterFactory
  • createPersister() — 新しい EventPersister オブジェクトを作成します。

EventPersister
  • callBytesClassMethod() — Caché クラス・メソッドを呼び出し、文字列を byte[] として返します。

  • callBytesFunction() — Caché 関数を呼び出し、文字列を byte[] として返します。

  • callClassMethod() — Caché クラス・メソッドを呼び出します。

  • callFunction() — Caché 関数を呼び出します。

  • callListClassMethod() — Caché クラス・メソッドを呼び出し、文字列を ValueList として返します。

  • callListFunction() — Caché 関数を呼び出し、文字列を ValueList として返します。

  • callProcedure() — Caché プロシージャを呼び出します。

  • callVoidClassMethod() — 返り値のない Caché クラス・メソッドを呼び出します。

  • close() — このインスタンスで保持されているすべてのリソースを解放します。

  • commit() — 1 レベルのトランザクションをコミットします。

  • connect() — 指定された引数を使用して Caché に接続します。

  • deleteClass() — Caché クラスを削除します。

  • deleteExtent() — 指定されたエクステントのすべてのオブジェクトを削除します。

  • getConnection() — 基礎となるグローバル接続オブジェクトを返します。

  • getEvent() — 指定されたクラス名に対応するイベント・オブジェクトを返します。

  • getInterfaceResolver() — 現在指定されている InterfaceResolver のインスタンスを返します。

  • getJDBCConnection() — JDBC 接続オブジェクトを返します。

  • getTransactionLevel() — 現在のトランザクション・レベル (トランザクション内でない場合は 0) を返します。

  • importSchema() — フラット・スキーマをインポートします。

  • importSchemaFull() — フル・スキーマをインポートします。

  • rollback() — 指定された数のトランザクション・レベルをロールバックするか、レベルが指定されていない場合、すべてのレベルのトランザクションをロールバックします。

  • setInterfaceResolver() — 使用する InterfaceResolver オブジェクトを指定します。

  • startTransaction() — トランザクションを開始します (このトランザクションは入れ子になっている場合あり)。

Event
  • close() — このインスタンスで保持されているすべてのリソースを解放します。

  • createQuery()EventQuery<> のインスタンスを作成します。

  • deleteObject() — データベース ID または IdKey を指定されたイベントを削除します。

  • getObject() — データベース ID または IdKey を指定されたイベントを返します。

  • isEvent() — オブジェクト (またはクラス) が XEP の意味でイベントかどうかを確認します。

  • startIndexing() — 基本クラスのインデックス作成を開始します。

  • stopIndexing() — 基本クラスのインデックス作成を停止します。

  • store() — 指定されたオブジェクトまたはオブジェクトの配列を格納します。

  • updateObject() — データベース ID または IdKey を指定されたイベントを更新します。

  • waitForIndexing() — このクラスの非同期インデックス作成が完了するまで待機します。

EventQuery<>
  • close() — このインスタンスで保持されているすべてのリソースを解放します。

  • deleteCurrent()getNext() によって最後にフェッチされたイベントを削除します。

  • execute() — この XEP クエリを実行します。

  • getAll() — 結果セット内のすべてのイベントを配列としてフェッチします。

  • getFetchLevel() — 現在のフェッチ・レベルを返します。

  • getIterator() — クエリ結果に対して繰り返し処理を実行するために使用できる EventQueryIterator<> を返します。

  • getNext() — 結果セット内の次のイベントをフェッチします。

  • setFetchLevel() — 返されるデータの量を制御します。

  • setParameter() — このクエリのパラメータを結合します。

  • updateCurrent()getNext() によって最後にフェッチされたイベントを更新します。

EventQueryIterator<>
  • hasNext() — クエリ結果セットに他の項目がある場合、true を返します。

  • next() — 結果セット内の次のイベントをフェッチします。

  • remove()next() によって最後にフェッチされたイベントを削除します。

  • set()next() によって最後にフェッチされたイベントに新しい値を割り当てます。

InterfaceResolver
  • getImplementationClass() — フィールドがインタフェースとして宣言された場合、このメソッドの実装を使用して、スキーマのインポート中に実際のフィールド・タイプを解決できます。

クラス PersisterFactory

クラス com.intersys.xep.PersisterFactory は新しい EventPersister オブジェクトを作成します。

PersisterFactory() コンストラクタ

PersisterFactory の新しいインスタンスを作成します。

PersisterFactory()
createPersister()

PersisterFactory.createPersister()EventPersister のインスタンスを返します。

static EventPersister createPersister()  [inline, static] 

関連項目 :

EventPersister の作成と接続

クラス EventPersister

クラス com.intersys.xep.EventPersister は、XEP モジュールの主なエントリ・ポイントです。このクラスは、XEP オプションの制御、XEP 接続の確立、スキーマのインポート、および XEP イベント・オブジェクトの作成を行うために使用できるメソッドを提供します。また、トランザクションを制御するメソッドおよびその他のタスクを実行するメソッドも提供します。

大部分のアプリケーションでは、EventPersister のインスタンスは、PersisterFactory.createPersister() によって作成する必要があります。コンストラクタは、クラスを拡張するためにのみ使用してください。

EventPersister() コンストラクタ

EventPersister の新しいインスタンスを作成します。

EventPersister()
callBytesClassMethod()

EventPersister.callBytesClassMethod() — ObjectScript クラス・メソッドを呼び出し、intlongdouble、または byte[] 型である Objectを返します。

このメソッドは、callClassMethod() と同一ですが、それが文字列値を String ではなく byte[] のインスタンスとして返す点が異なります。

Object callBytesClassMethod(String className, String methodName, Object... args)

パラメータ :

  • className — 呼び出されるメソッドが属する Caché クラスの完全修飾名。

  • methodName — Caché クラス・メソッドの名前。

  • args — クラス・メソッドに渡す 0 個以上の引数のリスト。

    引数は、intlongdoubleStringbyte[]ValueList、または globals.ByteArrayRegion 型のいずれかになります。末尾の引数は、省略できます。すべての引数の数よりも少ない数の引数が渡されるか、末尾の引数に対して null が渡されることでそれらの引数には既定の値が使用されるようになります。非 null 引数が null 引数の右側に渡されると例外がスローされます。

callBytesFunction()

EventPersister.callBytesFunction() は、ObjectScript 関数を呼び出して ("Caché ObjectScript の使用法" の “ユーザ定義コード” を参照)、intlongdouble、または byte[] 型である Object を返します。

このメソッドは、callFunction() と同一ですが、それが文字列値を String ではなく byte[] のインスタンスとして返す点が異なります。

Object callBytesFunction(String functionName, String routineName, Object... args)

パラメータ :

  • functionName — 関数の名前。

  • routineName — 関数を含むルーチンの名前。

  • args — 関数に渡す 0 個以上の引数のリスト。

    引数は、intlongdoubleStringbyte[]ValueList、または globals.ByteArrayRegion 型のいずれかになります。末尾の引数は、省略できます。すべての引数の数よりも少ない数の引数が渡されるか、末尾の引数に対して null が渡されることでそれらの引数には既定の値が使用されるようになります。非 null 引数が null 引数の右側に渡されると例外がスローされます。

callClassMethod()

EventPersister.callClassMethod() — ObjectScript クラス・メソッドを呼び出し、intlongdouble、または String 型である Objectを返します。値を返さないメソッドを呼び出すには callVoidClassMethod()、文字列値を byte[] として返すには callBytesClassMethod()、文字列値を ValueList として返すには callListClassMethod() を使用します。

Object callClassMethod(String className, String methodName, Object... args)

パラメータ :

  • className — 呼び出されるメソッドが属する Caché クラスの完全修飾名。

  • methodName — Caché クラス・メソッドの名前。

  • args — クラス・メソッドに渡す 0 個以上の引数のリスト。

    引数は、intlongdoubleStringbyte[]ValueList、または globals.ByteArrayRegion 型のいずれかになります。末尾の引数は、省略できます。すべての引数の数よりも少ない数の引数が渡されるか、末尾の引数に対して null が渡されることでそれらの引数には既定の値が使用されるようになります。非 null 引数が null 引数の右側に渡されると例外がスローされます。

callFunction()

EventPersister.callFunction() — ObjectScript 関数を呼び出して ("Caché ObjectScript の使用法" の “ユーザ定義コード” を参照)、intlongdouble、または String 型である Object を返します。文字列値を byte[] として返すには callBytesFunction()、文字列値を ValueList として返すには callListFunction() を使用します。

Object callFunction(String functionName, String routineName, Object... args)

パラメータ :

  • functionName — 関数の名前。

  • routineName — 関数を含むルーチンの名前。

  • args — 関数に渡す 0 個以上の引数のリスト。

    引数は、intlongdoubleStringbyte[]ValueList、または globals.ByteArrayRegion 型のいずれかになります。末尾の引数は、省略できます。すべての引数の数よりも少ない数の引数が渡されるか、末尾の引数に対して null が渡されることでそれらの引数には既定の値が使用されるようになります。非 null 引数が null 引数の右側に渡されると例外がスローされます。

callListClassMethod()

EventPersister.callListClassMethod() — ObjectScript クラス・メソッドを呼び出し、intlongdouble、または ValueList 型である Objectを返します。

このメソッドは、callClassMethod() と同一ですが、それが文字列値を String ではなく ValueList のインスタンスとして返す点が異なります。

Object CallListClassMethod(string className, string methodName, params Object[] args)

返り値が文字列であるものの有効な ValueList 形式ではない場合、例外をスローします。

パラメータ :

  • className — 呼び出されるメソッドが属する Caché クラスの完全修飾名。

  • methodName — Caché クラス・メソッドの名前。

  • args — クラス・メソッドに渡す 0 個以上の引数のリスト。

    引数は、intlongdoubleStringbyte[]ValueList、または globals.ByteArrayRegion 型のいずれかになります。末尾の引数は、省略できます。すべての引数の数よりも少ない数の引数が渡されるか、末尾の引数に対して null が渡されることでそれらの引数には既定の値が使用されるようになります。非 null 引数が null 引数の右側に渡されると例外がスローされます。

callListFunction()

EventPersister.callListFunction() は、ObjectScript 関数を呼び出して ("Caché ObjectScript の使用法" の “ユーザ定義コード” を参照)、intlongdouble、または ValueList 型である Object を返します。

このメソッドは、callFunction() と同一ですが、それが文字列値を String ではなく ValueList のインスタンスとして返す点が異なります。

Object CallListFunction(string functionName, string routineName, params Object[] args)

返り値が文字列であるものの有効な ValueList 形式ではない場合、例外をスローします。

パラメータ :

  • functionName — 関数の名前。

  • routineName — 関数を含むルーチンの名前。

  • args — 関数に渡す 0 個以上の引数のリスト。

    引数は、intlongdoubleStringbyte[]ValueList、または globals.ByteArrayRegion 型のいずれかになります。末尾の引数は、省略できます。すべての引数の数よりも少ない数の引数が渡されるか、末尾の引数に対して null が渡されることでそれらの引数には既定の値が使用されるようになります。非 null 引数が null 引数の右側に渡されると例外がスローされます。

callProcedure()

EventPersister.callProcedure() は、ObjectScript プロシージャを呼び出します ("Caché ObjectScript の使用法" の “ユーザ定義コード” を参照してください)。

void callProcedure(String procedureName, String routineName, Object... args)

パラメータ :

  • procedureName — プロシージャの名前。

  • routineName — プロシージャを含むルーチンの名前。

  • args — プロシージャに渡す 0 個以上の引数のリスト。

    引数は、intlongdoubleStringbyte[]ValueList、または globals.ByteArrayRegion 型のいずれかになります。末尾の引数は、省略できます。すべての引数の数よりも少ない数の引数が渡されるか、末尾の引数に対して null が渡されることでそれらの引数には既定の値が使用されるようになります。非 null 引数が null 引数の右側に渡されると例外がスローされます。

callVoidClassMethod()

EventPersister.callVoidClassMethod() — 返り値のない ObjectScript クラス・メソッドを呼び出し、0 個以上の引数を渡します。このメソッドは、呼び出し側で返り値を必要としない場合に、任意の Caché クラス・メソッド (それが通常、値を返すかどうかにかかわらず) を呼び出すために使用できます。値を返すメソッドを呼び出すには、callClassMethod() を使用します。

void callVoidClassMethod(String className, String methodName, Object... args)

パラメータ :

  • className — 呼び出されるメソッドが属する Caché クラスの完全修飾名。

  • methodName — Caché クラス・メソッドの名前。

  • args — クラス・メソッドに渡す 0 個以上の引数のリスト。

  • 引数は、Stringintlongdoublebyte[]、または globals.ByteArrayRegion 型のいずれかになります。末尾の引数は、省略できます。すべての引数の数よりも少ない数の引数が渡されるか、末尾の引数に対して null が渡されることでそれらの引数には既定の値が使用されるようになります。非 null 引数が null 引数の右側に渡されると例外がスローされます。

close()

EventPersister.close() は、このインスタンスで保持されているすべてのリソースを解放します。

void close()

EventPersister のインスタンスが範囲外になる前に、そのインスタンスで必ず close() を呼び出すことが重要です。それを閉じないと、深刻なメモリ・リークが発生することがあります。その理由は、Java ガーベッジ・コレクションでは、ネイティブ・コードによって割り当てられたリソースを解放できないからです。

commit()

EventPersister.commit() は、1 レベルのトランザクションをコミットします。

void commit()
connect()

EventPersister.connect() Caché への TCP/IP 接続を確立します。

void connect(String host, int port, String namespace, String username, String password) 

パラメータ :

  • host — TCP/IP 接続のホスト・アドレス。

  • port — TCP/IP 接続のポート番号。

  • namespace — アクセス先のネームスペース。

  • username — この接続のユーザ名。

  • password — この接続のパスワード。

関連項目 :

EventPersister の作成と接続

connect() 非推奨となったプロセス内接続

EventPersister.connect() でグローバル API のプロセス内接続が使用されるのは、namespaceusername、および password の各引数が指定されている場合のみです。

void connect(String namespace, String username, String password) 

このオーバロードは非推奨となっています。XEP アプリケーションの場合は、一括挿入/読み込みの速度を含めたあらゆる観点から、TCP/IP 接続 (前の項目を参照) が推奨されます。

deleteClass()

EventPersister.deleteClass() Caché クラス定義を削除します。エクステントに関連付けられたオブジェクトは削除しません (オブジェクトは複数のエクステントに属することができるため)。また、依存関係 (内部クラス、埋め込みクラスなど) も削除しません。

void deleteClass(String className)

パラメータ :

  • className — 削除されるクラスの名前。

指定されたクラスが存在しない場合、呼び出しは、通知なしで失敗します (エラーはスローされません)。

関連項目 :

"格納されたイベントへのアクセス" の “テスト・データの削除”

deleteExtent()

EventPersister.deleteExtent() は、Java イベントに関連付けられたエクステント定義を削除しますが、関連付けられているデータは破棄しません (オブジェクトは、複数のエクステントに属することができるため)。エクステントの管理の詳細は、"Caché オブジェクトの使用法" の “エクステント” を参照してください。

void deleteExtent(String className)
  • className — エクステントの名前。

このメソッドを、すべてのエクステント・データをエクステント定義と共に破棄する非推奨の Event.deleteExtent() と混同しないでください。

関連項目 :

"格納されたイベントへのアクセス" の “テスト・データの削除”

getConnection()

EventPersister.getConnection()EventPersister プロセス内接続の基礎となる com.intersys.globals.Connection のインスタンスを返します。EventPersister が TCP/IP 接続を持っている場合は、例外をスローします。

プロセス内接続は非推奨となっています。

com.intersys.globals.Connection getConnection()
getEvent()

EventPersister.getEvent() は、指定されたクラス名に対応する Event オブジェクトを返し、オプションで、使用するインデックス作成モードを指定します。

Event getEvent(String className)
Event getEvent(String className, int indexMode)

パラメータ :

  • ClassName — 返されるオブジェクトのクラス名。

  • indexMode — 使用するインデックス作成モード。

以下の indexMode オプションを使用できます。

  • Event.INDEX_MODE_ASYNC_ON — 非同期のインデックス作成を可能にします。これは、indexMode パラメータが指定されていない場合の既定の設定です。

  • Event.INDEX_MODE_ASYNC_OFFstartIndexing() メソッドが呼び出されない限り、インデックス作成は実行されません。

  • Event.INDEX_MODE_SYNC — インデックス作成は、エクステントが変更されるたびに実行されます。これは多数のトランザクションの場合は非効率的になる可能性があります。クラスにユーザ割り当て IdKey がある場合は、このインデックス・モードを指定する必要があります。

Event の同じインスタンスを使用して、1 つのクラスのすべてのインスタンスを格納または取得できるため、1 つのプロセスで getEvent() メソッドを呼び出す必要があるのはクラスごとに 1 回のみです。単一クラスに対する複数の Event オブジェクトのインスタンス化は避けてください。パフォーマンスに影響を及ぼしかねず、メモリ・リークの原因となることがあります。

関連項目 :

イベント・インスタンスの作成と永続イベントの格納インデックス更新の制御

getInterfaceResolver()

EventPersister.getInterfaceResolver()importSchema() によって使用されるようになる InterfaceResolver の現在設定されているインスタンスを返します (“InterfaceResolver の実装” を参照してください)。設定されているインスタンスがない場合、null を返します。

InterfaceResolver getInterfaceResolver()

関連項目 :

setInterfaceResolver()importSchema()

getJDBCConnection()

EventPersister.getJDBCConnection() EventPersister 接続の基礎となる JDBC Connection オブジェクトを返します。

java.sql.Connection getJDBCConnection()

関連項目 :

EventPersister の作成と接続

getTransactionLevel()

EventPersister.getTransactionLevel() は、現在のトランザクション・レベル (トランザクション内でない場合は 0) を返します。

int getTransactionLevel()
importSchema()

EventPersister.importSchema() は、シリアル化オブジェクトとしてすべての参照オブジェクトを埋め込むフラット・スキーマ (“スキーマ・インポート・モデル” を参照) を作成します。このメソッドは、クラスで宣言された各イベントのスキーマまたは指定されている .jar ファイル (依存関係を含む) をインポートし、インポートされたイベントのクラス名の配列を返します。

String[] importSchema(String classOrJarFileName)
String[] importSchema(String[] classes)

パラメータ :

  • classes — インポートされるクラスの名前を含む配列。

  • classOrJarFileName — クラス名またはインポートされるクラスを含む .jar ファイルの名前。.jar ファイルが指定される場合、ファイル内のすべてのクラスがインポートされます。

引数がクラス名である場合、対応するクラスおよびすべての依存関係がインポートされます。引数が .jar ファイルである場合、ファイル内のすべてのクラスおよびすべての依存関係がインポートされます。そのようなスキーマが既に存在していて、それが Java スキーマと同期していると思われる場合、インポートはスキップされます。スキーマが既に存在しているが、別なものと思われる場合は、データがあるか調べるためのチェックが実行されます。データがない場合、新しいスキーマが生成されます。既存のデータがある場合、例外がスローされます。

関連項目 :

スキーマのインポート

importSchemaFull()

EventPersister.importSchemaFull() — ソース・クラスのオブジェクト階層を保持するフル・スキーマ (“スキーマ・インポート・モデル” を参照) を作成します。このメソッドは、クラスで宣言された各イベントのスキーマまたは指定されている .jar ファイル (依存関係を含む) をインポートし、インポートされたイベントのクラス名の配列を返します。

String[] importSchemaFull(String classOrJarFileName)
String[] importSchemaFull(String[] classes)

パラメータ :

  • classes — インポートされるクラスの名前を含む配列。

  • classOrJarFileName — クラス名またはインポートされるクラスを含む .jar ファイルの名前。.jar ファイルが指定される場合、ファイル内のすべてのクラスがインポートされます。

引数がクラス名である場合、対応するクラスおよびすべての依存関係がインポートされます。引数が .jar ファイルである場合、ファイル内のすべてのクラスおよびすべての依存関係がインポートされます。そのようなスキーマが既に存在していて、それが Java スキーマと同期していると思われる場合、インポートはスキップされます。スキーマが既に存在しているが、別なものと思われる場合は、データがあるか調べるためのチェックが実行されます。データがない場合、新しいスキーマが生成されます。既存のデータがある場合、例外がスローされます。

関連項目 :

スキーマのインポート

rollback()

EventPersister.rollback() は、指定された数のレベルのトランザクションをロールバックします。ここで、level は正の整数です。レベルが指定されていない場合、すべてのレベルのトランザクションをロールバックします。

void rollback()
void rollback(int level)

パラメータ :

  • level — ロールバックするレベルの数 (オプション)。

このメソッドは、level0 未満の場合何もせず、level が最初のトランザクション・レベルより大きい場合、トランザクション・レベルが 0 に到達するとロールバックを停止します。

setInterfaceResolver()

EventPersister.setInterfaceResolver()importSchema() によって使用される InterfaceResolver のインスタンスを設定します (“InterfaceResolver の実装” を参照してください)。この EventPersiser によって作成される Event のすべてのインスタンスは、指定された InterfaceResolver (このメソッドが呼び出されない場合は既定で null になる) を共有します。

void setInterfaceResolver(InterfaceResolver interfaceResolver)

パラメータ :

  • interfaceResolver — インタフェースとして宣言されるフィールドの実際のタイプを決定するために importSchema() によって使用される InterfaceResolver の実装。この引数は、null にすることができます。

関連項目 :

getInterfaceResolver()importSchema()

startTransaction()

EventPersister.startTransaction() は、トランザクション (入れ子になったトランザクションの場合あり) を開始します。

void startTransaction()

クラス Event

クラス com.intersys.xep.Event は、XEP イベント (イベントの格納、クエリの作成、インデックスの作成他) を処理するメソッドを提供します。これは EventPersister.getEvent() メソッドにより作成されます。

close()

Event.close() は、このインスタンスで保持されているすべてのリソースを解放します。

void close()

Event のインスタンスが範囲外になる前に、そのインスタンスで必ず close() を呼び出すことが重要です。それを閉じないと、深刻なメモリ・リークが発生することがあります。その理由は、Java ガーベッジ・コレクションでは、ネイティブ・コードによって割り当てられたリソースを解放できないからです。

createQuery()

Event.createQuery() は、SQL クエリのテキストを含む String 引数を取り、EventQuery<E> のインスタンスを返します。パラメータ E は、親 Event のターゲット・クラスです。

<E> EventQuery<E> createQuery (String sqlText)

パラメータ :

  • sqlText — この SQL クエリのテキスト。

関連項目 :

クエリの作成と実行

deleteObject()

Event.deleteObject() は、データベース・オブジェクト ID または IdKey によって特定されたイベントを削除します。

void deleteObject(long id)
void deleteObject(Object[] idkeys)

パラメータ :

  • id — データベース・オブジェクト ID

  • idkeys — IdKey を構成するオブジェクトの配列 (“IdKey の使用法” を参照してください)。基礎となるクラスに IdKey がないか、提供されたキーのいずれかが null であるか無効なタイプである場合は XEPException がスローされます。

関連項目 :

格納されたイベントへのアクセス

getObject()

Event.getObject() データベース・オブジェクト ID または IdKey によって特定されたイベントをフェッチします。指定したオブジェクトが存在しない場合、null を返します。

Object getObject(long id)
Object getObject(Object[] idkeys)

パラメータ :

  • id — データベース・オブジェクト ID

  • idkeys — IdKey を構成するオブジェクトの配列 (“IdKey の使用法” を参照してください)。基礎となるクラスに IdKey がないか、提供されたキーのいずれかが null であるか無効なタイプである場合は XEPException がスローされます。

関連項目 :

格納されたイベントへのアクセス

isEvent()

Event.isEvent() は、オブジェクト (またはクラス) が XEP の意味でイベントでない場合、XEPException をスローします (“インポートされるクラスの要件” を参照してください)。例外メッセージにより、このオブジェクトが XEP イベントでない理由が説明されます。

static void isEvent(Object objectOrClass)

パラメータ :

  • objectOrClass — テストされるオブジェクト。

startIndexing()

Event.startIndexing() ターゲット・クラスのエクステントに対して非同期インデックス作成を開始します。インデックス・モードが Event.INDEX_MODE_SYNC である場合は、例外をスローします (“インデックス更新の制御” を参照してください)。

void startIndexing()
stopIndexing()

Event.stopIndexing() エクステントに対する非同期インデックス作成を停止します。Event インスタンスを閉じるときにインデックスを更新しないようにする場合は、Event.close() を呼び出す前にこのメソッドを呼び出します。

void stopIndexing()

関連項目 :

インデックス更新の制御

store()

Event.store() は、Java オブジェクトまたはオブジェクトの配列を永続イベントとして格納します。ループ内での配列の渡しと個別オブジェクトの渡しに大きなパフォーマンスの差はありませんが、配列内のすべてのオブジェクトは同じ型である必要があります。新しく挿入されたオブジェクトごとに 1 つの long データベース ID を返し、ID を返せない場合またはイベントが IdKey を使用している場合は 0 を返します。

long store(Object object)
long[] store(Object[] objects)

パラメータ :

  • object — データベースに追加される Java オブジェクト。

  • objects — データベースに追加される Java オブジェクトの配列。すべてのオブジェクトは同じ型である必要があります。

updateObject()

Event.updateObject() データベース ID または IdKey によって特定されたイベントを更新します。

void updateObject(long id, Object object)
void updateObject(Object[] idkeys, Object object)

パラメータ :

  • id — データベース・オブジェクト ID

  • idkeys — IdKey を構成するオブジェクトの配列 (“IdKey の使用法” を参照してください)。基礎となるクラスに IdKey がないか、提供されたキーのいずれかが null であるか無効なタイプである場合は XEPException がスローされます。

  • object — 指定したイベントを置き換える新しいオブジェクト。

関連項目 :

格納されたイベントへのアクセス

waitForIndexing()

Event.waitForIndexing() 非同期インデックス作成の完了を待機します。インデックス作成が完了した場合は true を返し、インデックス作成が完了する前に待機がタイムアウトした場合は false を返します。インデックス・モードが Event.INDEX_MODE_SYNC である場合は、例外をスローします。

boolean waitForIndexing(int timeout)

パラメータ :

  • timeout — タイムアウトになるまで待機する秒数 (-1 の場合は永久に待機し、0 の場合は直ちに返します)。

関連項目 :

インデックス更新の制御

クラス EventQuery<>

クラス com.intersys.xep.EventQuery<> は、データベースから個別のイベントを取得、更新および削除するために使用できます。

close()

EventQuery<>.close() は、このインスタンスで保持されているすべてのリソースを解放します。

void close()

EventQuery<> のインスタンスが範囲外になる前に、そのインスタンスで必ず close() を呼び出すことが重要です。それを閉じないと、深刻なメモリ・リークが発生することがあります。その理由は、Java ガーベッジ・コレクションでは、ネイティブ・コードによって割り当てられたリソースを解放できないからです。

deleteCurrent()

EventQuery<>.deleteCurrent() は、getNext(). によって最後にフェッチされたイベントを削除します。

void deleteCurrent()

関連項目 :

クエリ・データの処理

execute()

EventQuery<>.execute() は、この EventQuery<> と関連付けられた SQL クエリを実行します。クエリが正常に実行された場合、この EventQuery<> には、他の EventQuery<> または EventQueryIterator<> メソッドでアクセスできる結果セットが含まれます。

void execute()

関連項目 :

クエリの作成と実行

getAll()

EventQuery<>.getAll() は、単一のリストとして結果セット内のすべての行からターゲット・クラス E のオブジェクトを返します。

java.util.List<E> getAll()

getNext() を使用して、結果セット内のすべてのターゲット・クラス E のオブジェクトを取得し、これを List に返します。このリストは、更新または削除には使用できません (ただし、各オブジェクトの Id または IdKey を取得する方法がある場合、Event メソッドの updateObject() および deleteObject() は使用できます)。getAll() および getNext() は同じ結果セットにアクセスできません。一方のメソッドが呼び出されると、他方のメソッドは execute() が再び呼び出されるまで使用できません。

関連項目 :

クエリ・データの処理Event.updateObject()Event.deleteObject()

getFetchLevel()

EventQuery<>.getFetchLevel() は、現在のフェッチ・レベルを返します (“フェッチ・レベルの定義” を参照してください)。

int getFetchLevel()
getIterator()

EventQuery<>.getIterator() は、クエリ結果に対して繰り返し処理を実行するために使用できる EventQueryIterator<> を返します (“EventQueryIterator<> の使用法” を参照してください)。

EventQueryIterator<E> getIterator()
getNext()

EventQuery<>.getNext() は、ターゲット・クラス E のオブジェクトを結果セットから返します。引数が null の場合、結果セットの最初の項目を返します。または、前の getNext() の呼び出しによって返されたオブジェクトを引数として取り、結果セットの次の項目を返します。結果セットにそれ以上項目がない場合は、null を返します。

E getNext(E obj)

パラメータ :

  • obj — 前の getNext() の呼び出しによって返されたオブジェクト (または、結果セットの最初の項目を返す場合は null)。

関連項目 :

クエリ・データの処理

setFetchLevel()

EventQuery<>.setFetchLevel() は、フェッチ・レベルを設定することで返されるデータの量を制御します (“フェッチ・レベルの定義” を参照してください)。

例えば、フェッチ・レベルを Event.FETCH_LEVEL_DATATYPES_ONLY に設定すると、このクエリによって返されるオブジェクトは、それらのデータ型フィールドのみ設定されるようになり、オブジェクト・タイプ、配列、またはコレクションのフィールドには何も生成されません。このオプションを使用すると、クエリ・パフォーマンスが大幅に向上します。

void setFetchLevel(int level)

パラメータ :

  • level — フェッチ・レベル定数 (Event クラスで定義される)。

サポートされるフェッチ・レベルは以下のとおりです。

  • Event.FETCH_LEVEL_ALL — 既定。すべてのフィールドが生成されます。

  • Event.FETCH_LEVEL_DATATYPES_ONLY — データ型フィールドのみが生成されます。

  • Event.FETCH_LEVEL_NO_ARRAY_TYPES — すべての配列がスキップされます。

  • Event.FETCH_LEVEL_NO_OBJECT_TYPES — すべてのオブジェクト・タイプがスキップされます。

  • Event.FETCH_LEVEL_NO_COLLECTIONS — すべてのコレクションがスキップされます。

setParameter()

EventQuery<>.setParameter() この EventQuery<> と関連付けられた SQL クエリのパラメータを結合します。

void setParameter(int index, java.lang.Object value)

パラメータ :

  • index — クエリ文内のこのパラメータのインデックス。

  • value — このクエリに使用される値。

関連項目 :

クエリの作成と実行

updateCurrent()

EventQuery<>.updateCurrent() は、getNext() によって最後にフェッチされたイベントを更新します。

void updateCurrent(E obj)

パラメータ :

  • obj — 現在のイベントを置き換える Java オブジェクト。

関連項目 :

クエリ・データの処理

クラス EventQueryIterator<>

クラス com.intersys.xep.EventQueryIterator<> は、XEP イベントの取得、更新および削除を行う代替手段です (同じタスクは、EventQuery<> メソッドを直接使用しても実行できます)。

hasNext()

EventQueryIterator<>.hasNext() は、クエリ結果セットに他の項目がある場合、true を返します。

boolean hasNext()
next()

EventQueryIterator<>.next() は、クエリ結果セット内の次のイベントをフェッチします。

E next()
remove()

EventQueryIterator<>.remove() は、next() によって最後にフェッチされたイベントを削除します。

void remove()
set()

EventQueryIterator<>.set() は、next() によって最後にフェッチされたイベントを置換します。

void set(E obj)

パラメータ :

  • objnext() によって最後にフェッチされたイベントを置き換えるターゲット・クラスのオブジェクト。.

インタフェース InterfaceResolver

既定では、インタフェースとして宣言されたフィールドはスキーマ生成の際に無視されます。この動作を変更するには、InterfaceResolver の実装を importSchema() メソッドへ渡して、インタフェース・タイプを正しい具体的なデータ型で置換するための情報を提供します。

getImplementationClass()

InterfaceResolver.getImplementationClass() は、インタフェースとして宣言されたフィールドの実際のデータ型を返します。詳細は、“InterfaceResolver の実装” を参照してください。

Class<?>  getImplementationClass (Class declaringClass, String fieldName, Class<?> interfaceClass) 

パラメータ :

  • declaringClassfieldNameinterfaceClass として宣言されるクラス。

  • fieldName — インタフェースとして宣言された declaringClass のフィールド名。

  • interfaceClass — 解決されるインタフェース。

クラス XEPException

クラス com.intersys.xep.XEPException は、EventEventPersister、および EventQuery<> のほとんどのメソッドによりスローされる例外を実装します。このクラスは、java.lang.RuntimeException から継承されます。

Constructors
  XEPException (String message)
  XEPException (Throwable x, String message)
  XEPException (Throwable x) 
FeedbackOpens in a new tab