Native SDK for Node.js のクイック・リファレンス
これは、InterSystems IRIS Native SDK for Node.js のクイック・リファレンスで、intersystems-iris モジュールとそのクラスに関する情報を提供します。
-
createConnection() — Connection オブジェクトを作成します。
-
クラス Connection は、Iris オブジェクトを InterSystems IRIS インスタンスに接続します。
-
クラス Iris は、Native SDK の主なエントリ・ポイントです。
-
クラス IRISObject は、プロキシ・オブジェクトを介して InterSystems IRIS のオブジェクトとやり取りするためのメソッドを提供します。
-
クラス IRISReference では、データベースのクラス・メソッドに引数を参照渡しできます。
-
クラス IRISGlobalNode は、グローバルとそのノードに対して反復可能なインタフェースを提供します。
-
クラス Iterator は、グローバル配列を操作するためのメソッドを提供します。
多くの Native SDK メソッドには、型キャストのサポートが組み込まれています。これらの各クラスには、既定値を返す汎用メソッドに加え、その汎用メソッドとまったく同じように動作するものの、戻り値をサポートされているデータ型 (boolean、Bytes (ArrayBuffer)、Number (BigInt、Number、Decimal へのキャストを含む)、string、Object、IRISList) へのキャストも行う一連の typecast methods が用意されています。例えば、Iris.get() には、getBoolean() や getBytes() といった対応する型キャスト・メソッドがあります。
ほぼ同じリストを多数提示することでこのクイック・リファレンスが長くならないように、すべての型キャスト・メソッドは汎用バージョンの後にひとまとめにして示しています (例えば、Iris.get() の後に “Iris.get() 型キャスト・メソッド” をリストするセクションが続きます)。
Iris.classMethodValue()、Iris.get()、IRISObject.get()、IRISObject.invoke() には、型キャスト・メソッドのセットが用意されています。
createConnection()
intersystems-iris createConnection() は、新しい Connection オブジェクトを返し、データベースへの新規接続の作成を試みます。このオブジェクトは、接続が成功すると開かれます。接続の試行に失敗すると、ValueError 例外をスローします。
(static) createConnection(connectionInfo, callback) → {"intersystems-iris-native".Connection}
最後に成功した接続試行の host、port、ns、timeout、および logfile が接続オブジェクトのプロパティとして保存されます。
パラメータ :
-
connectionInfo — 接続プロパティを含む connectionInfo オブジェクト。有効なプロパティは以下のとおりです。
-
host — (必須) String。ターゲット・マシンのアドレスまたはホスト名。
-
port — (必須) Integer。スーパーサーバ・ポート。
-
ns — (必須) String。開始するネームスペース。
-
user — String。ログインに使用するユーザの名前。
-
pwd — String。ユーザのパスワード。
-
logfile — String。この接続のログ・ファイルのフル・パスと名前。指定しない場合や - (ダッシュ) に設定した場合、ドライバはセッションに関する情報を記録しません。ログ記録はシステムにかなりの負荷をかけるため、デバッグ目的でのみ有効にしてください。
logfile で指定されたパスに特定の文字の接頭語を追加することで、ログ記録の動作を変更できます。
-
+ — ログ・ファイルに既存のコンテンツがある場合は、それを上書きします。
-
- — ログ記録を無効にします。
-
-
timeout — Integer。接続試行がタイムアウトするまでのミリ秒単位の時間 (既定値 : 10)。
-
sharedmemory — Boolean。利用可能な場合に、InterSystems IRIS との通信に共有メモリを使用するかどうかを指定します (デフォルト : true)。共有メモリを利用できない場合、ドライバは TCP に切り替えます。InterSystems IRIS との通信に TCP のみを使用するには、false を指定します。
-
sslconfig — String または Boolean。SSL 接続の処理方法を指定します。指定しない場合や false に設定する場合、接続は安全ではありません。安全な接続を有効にする方法は、お使いのプラットフォームによって異なります。詳細は、"TLS with JavaScript Clients" を参照してください。
-
Windows — SSLDefs.ini を作成し、アプリケーションで使用するホストとポートの定義を作成してから、sslconfig を true に設定します。
-
Linux/MacOS — アプリケーションの定義を含む SSLDefs.ini を作成し、環境変数 ISC_SSLconfigurations を SSLDefs.ini のパスに設定してから、sslconfig を作成した定義に設定します。
SSLDefs.ini の詳細は、".ini ファイルでの TLS と Windows" を参照してください。
-
-
-
callback(error, connection) — (オプション) 以下のパラメータを取る onConnectionCallback 関数。
-
error — 接続エラー。
-
connection — Connection オブジェクト。
-
Node.js での接続の作成
以下の例では、connectionInfo のすべてのプロパティを設定し、conn という名前の Connection オブジェクトを作成します。最後に成功した接続試行の host、port、ns、timeout、および logfile が接続オブジェクトのプロパティとして保存されます。
const IRISNative = require('@intersystems/intersystems-iris-native')
let connectionInfo = {
host: '127.0.0.1',
port: 1972,
ns: 'USER',
user: 'username',
pwd: 'password',
sharedmemory: true
timeout: 5,
logfile: 'C:\temp\mylogfile.log'
};
const conn = IRISNative.createConnection(connectionInfo);
irisjs = conn.createIRIS()
conn オブジェクトは、irisjs という名前のクラス Iris のインスタンスを作成するために使用します。このドキュメントのほとんどの例で、接続済みの irisjs のインスタンスが既に存在すると想定しています。
クラス Connection
Connection クラスは、サーバへの接続をカプセル化します。intersystems-iris のメソッド createConnection() によって、Connection のインスタンスが作成され、サーバに接続されます。最後に成功した接続試行の hostname、port、namespace、timeout、および logfile が接続オブジェクトのプロパティとして保存されます。詳細と例は、前のセクション (“createConnection()”) を参照してください。
Native SDK for Node.js では、リストの圧縮はサポートされていません。InterSystems IRIS データベースに接続するには、ListFormat を 0 に設定する必要があります。
クラス Connection のメソッドの詳細
Connection.close() は、接続が開かれている場合にこれを閉じます。接続が既に閉じられている場合は、何もしません。
close()
Connection.createIris() は、この Connection を使用する Iris の新規インスタンスを返します。接続が閉じられている場合は、例外をスローします。
createIris() → {"intersystems-iris".Iris}
Connection.isClosed() は、接続が成功すると true を返し、それ以外の場合は false を返します。
isClosed() → {Boolean}
Connection.toString() は、ホスト、ポート、ネームスペース、タイムアウト、ログ・ファイルを含む、接続のプロパティを JSON 文字列として返します。
toString() → {String}
クラス Iris
Native SDK を使用するには、アプリケーションで、データベースに接続された Iris のインスタンスを作成する必要があります。Iris のインスタンスは、Connection.createIris() を呼び出すことによって作成されます。
クラス Iris のメソッドの詳細
Iris.classMethodValue() は、クラス・メソッドを呼び出して、0 個以上の引数を渡し、ObjectScript の戻り値のデータ型に対応する型として値を返します。詳細と例は、“Node.js からのクラス・メソッドの呼び出し” を参照してください。
このメソッドには、対応する型キャスト・メソッドのセットがあります (以下を参照)。
classMethodValue(className, methodName, ...args) → {any}
パラメータ :
-
className — 呼び出されるメソッドが属するクラスの完全修飾名。
-
methodName — クラス・メソッドの名前。
-
...args — 以下の型の 0 個以上のメソッド引数。
-
boolean
-
Buffer
-
Decimal
-
number
-
BigInt
-
string
-
IRISList
-
-
callback — シグニチャが callback(err: Error, returnValue: any) のコールバック関数。
このメソッドには、対応する型キャスト・メソッドのセットがあります (以下を参照)。値を返さないメソッドの呼び出しに使用される "classMethodVoid()" も参照してください。
以下に示す Iris.classMethodValue() 型キャスト・メソッドのすべてが、Iris.classMethodValue() とまったく同じように機能するだけでなく、戻り値を特定の型にキャストします。詳細と例は、“Node.js からのクラス・メソッドの呼び出し” を参照してください。
classMethodBigInt(className, methodName, ...args) → {BigInt}
classMethodBoolean(className, methodName, ...args) → {Boolean}
classMethodBytes(className, methodName, ...args) → {Buffer}
classMethodDecimal(className, methodName, ...args) → {Decimal}
classMethodIRISList(className, methodName, ...args) → {IRISList}
classMethodNumber(className, methodName, ...args) → {Number}
classMethodString(className, methodName, ...args) → {String}
classMethodObject(className, methodName, ...args) → {Object}
パラメータ :
-
className — メソッドが属するクラスの完全修飾名。
-
methodName — クラス・メソッドの名前。
-
...args — 以下の型の 0 個以上のメソッド引数。
-
String
-
数値
-
Decimal
-
BigInt
-
Buffer
-
IRISList
-
Object
-
Iris..classMethodVoid() は、返り値のない ObjectScript クラス・メソッドを呼び出し、0 個以上の引数を渡します。詳細と例は、“Node.js からのクラス・メソッドの呼び出し” を参照してください。
classMethodVoid(className, methodName, ...args)
パラメータ :
-
className — 呼び出されるメソッドが属するクラスの完全修飾名。
-
methodName — クラス・メソッドの名前。
-
...args — 以下の型の 0 個以上のメソッド引数。
-
String
-
数値
-
Decimal
-
BigInt
-
Buffer
-
IRISList
-
このメソッドは、返り値がないことを想定していますが、任意のクラス・メソッドの呼び出しに使用できます。classMethodVoid() を使用して、値を返すメソッドを呼び出した場合、メソッドは実行されますが、返り値は無視されます。"Iris.classMethodValue()" も参照してください。
Iris.get() は、プロパティの ObjectScript データ型に対応するタイプとしてグローバル・ノードの値を返します。
このメソッドには、対応する型キャスト・メソッドのセットがあります (以下を参照)。
get(globalName, ...subscripts) → {any}
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
以下に示す Iris.get() 型キャスト・メソッドのすべてが、Iris.get() とまったく同じように機能するだけでなく、返り値を特定の型にキャストします。
getBigInt(globalName, ...subscripts) → {BigInt}
getBoolean(globalName, ...subscripts) → {Boolean}
getBytes(globalName, ...subscripts) → {Buffer}
getDecimal(globalName, ...subscripts) → {Decimal}
getIRISList(globalName, ...subscripts) → {IRISList}
getList(globalName, ...subscripts) → {IRISList}
getNumber(globalName, ...subscripts) → {Number}
getObject(globalName, ...subscripts) → {any}
getString(globalName, subscripts) → {String}
getList() メソッドは、下位互換性のために維持されています。これは getIRISList() と同一であり、こちらを使用することをお勧めします。
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
Iris.getAPIVersion() は、Native SDK のバージョン番号を文字列として返します。
getAPIVersion() → {String}
Iris.getServerVersion() は、現在接続されている InterSystems IRIS サーバのバージョン文字列を返します。
getServerVersion() → {String}
Iris.getTLevel() は、セッションで現在開いている入れ子になったトランザクションの数を返します (現在のトランザクションが入れ子になっていない場合は 1、開いているトランザクションがない場合は 0)。これは、ObjectScript $TLEVEL 特殊変数の値のフェッチと同じです。詳細と例は、“Node.js でのトランザクションの処理” を参照してください。
getTLevel() → {Number}
Iris.increment() は、incrementBy 引数だけグローバル・ノードをインクリメントして、グローバル・ノードの新しい値を返します。指定されたアドレスに既存のノードがない場合は、指定した値で新しいノードが作成されます。このメソッドはきわめて高速のスレッドセーフなアトミック処理を使用して、ノードの値を変更します。したがって、ノードは決してロックされません。詳細と例は、“Node.js でのトランザクションの処理” を参照してください。
increment(incrementBy, globalName, ...subscripts) → {Number}
パラメータ :
-
incrementBy — このノードを設定する数値 (null 値はグローバルを 0 に設定し、小数値は整数に切り捨てられます)。
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
$INCREMENT は通常、新しいエントリをデータベースに追加する前に、カウンタをインクリメントするために使用します。$INCREMENT を使用すると、LOCK コマンドを使用しなくても、この操作を迅速に行うことができます。"ObjectScript リファレンス" の “$INCREMENT とトランザクション処理” を参照してください。
Iris.isDefined() は、ノードが値、子ノード、またはその両方を持つかどうかを示す値を返します。
isDefined(globalName, ...subscripts) → {Number}
以下のいずれかの整数値を返します。
-
0 : ノードが存在しない場合
-
1 : ノードに値はあるが、子ノードがない場合
-
10 : ノードに値はないが、1 つ以上の子ノードがある場合
-
11 : ノードに値と子ノードの両方がある場合
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
Iris.iterator() は、指定されたノードの Iterator オブジェクトを返します ("クラス Iterator" を参照してください)。
iterator(globalName, ...subscripts) → {"intersystems-iris".Iterator}
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
Iris.kill() は、指定されたグローバル・ノードとそのすべてのサブノードを削除します。指定されたアドレスにノードがない場合、このコマンドは何も行いません。<UNDEFINED> 例外はスローされません。
kill(globalName, ...subscripts)
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
Iris.lock() は、グローバルをロックします。このメソッドは増分ロックを実行します (前のロックをすべてアンロックする場合は、まず releaseAllLocks() メソッドを呼び出す必要があります)。ロックの取得を待機中に timeout 値に到達した場合は、<TIMEOUT> 例外がスローされます。詳細は、“Node.js による並行処理の制御” を参照してください。
lock(lockType, timeout, lockReference, ...subscript) → {Boolean}
パラメータ :
-
lockType — 次のいずれかの文字列 : 共有ロックの場合は "S"、エスカレート・ロックの場合は "E"、両方の場合は "SE"、どちらでもない場合は "" (既定値)。
-
timeout — ロックの取得を待機する秒数
-
lockReference — 曲折アクセント記号 (^) で始まり、その後にグローバル名が続く文字列 (例えば、単なる myGlobal ではなく ^myGlobal)。
注意 : ほとんどのメソッドで使用される globalName パラメータとは異なり、lockReference パラメータには先頭に曲折アクセント記号を付ける必要があります。globalName ではなく lockReference を使用するのは、lock() および unlock() のみです。
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
ロックの詳細は、"ObjectScript リファレンス" の “LOCK” を参照してください。
Iris.nextSubscript() は、ノード・アドレスを受け入れ、照合順で次の兄弟ノードの添え字を返します。このメソッドは、ObjectScript の $ORDER と同様です。
nextSubscript(reversed,globalName, ...subscript) → {String|null}
パラメータ :
-
reversed — ブーリアン値 true は、ノードを逆方向の照合順に走査する必要があることを示します。
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
Iris.node() は、IRISGlobalNode のインスタンスを作成します。
node(globalName, ...subscript)
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
Iris..releaseAllLocks() は、セッションに関連付けられたすべてのロックを解放します。詳細は、“Node.js による並行処理の制御” を参照してください。
releaseAllLocks()
Iris.set()は、value を現在のノード値として割り当てます。値は以下のいずれかの型である必要があります。
-
boolean
-
Buffer
-
Decimal
-
number
-
BigInt
-
string
-
IRISList
set(value, globalName, ...subscript)
パラメータ :
-
value — グローバル・ノードの新しい値
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
Iris..tCommit() は、現在のトランザクションをコミットします。詳細と例は、“Node.js でのトランザクションの処理” を参照してください。
tCommit ()
Iris..tRollback() は、セッション内の開いているトランザクションすべてをロールバックします。詳細と例は、“Node.js でのトランザクションの処理” を参照してください。
tRollback ()
Iris..tRollbackOne() は、現在のレベルのトランザクションのみをロールバックします。これは入れ子になったトランザクションを対象としており、呼び出し元が 1 レベルのみをロールバックする場合に使用します。入れ子になったトランザクションである場合、それより上のレベルのトランザクションはロールバックされません。詳細と例は、“Node.js でのトランザクションの処理” を参照してください。
tRollbackOne ()
Iris.tStart() は、トランザクションを開始するか、開きます。詳細と例は、“Node.js でのトランザクションの処理” を参照してください。
tStart ()
Iris.unlock() は、指定されたロックのロック・カウントをデクリメントし、ロック・カウントが 0 の場合はアンロックします。共有ロックまたはエスカレート・ロックを削除するには、そのロックに使用する適切な lockType を指定する必要があります。 詳細は、“Node.js による並行処理の制御” を参照してください。
unlock(lockType, lockReference, ...subscript)
パラメータ :
-
lockType — 解除するロックの特性を指定する文字列。unlock() に指定する locktype には、lock() の元の呼び出しと同じ共有およびエスカレートの特性が必要です。例えば、SE でロックを作成した場合、SE、SED、または SEI でロックを解除する必要があります。
複数の特性を持つロックを定義するには、空ではない文字列値の任意の組み合わせを使用できます (相互に排他的な D と I を両方使用する組み合わせを除く)。例えば、SE は共有エスカレート・ロックを、EI はエスカレート即時ロックを指します。
-
空文字列 (既定) — 非共有、非エスカレート、非延期、非即時
-
S — 共有
-
E — エスカレート
-
D — 延期
-
I — 即時
-
-
lockReference — 曲折アクセント記号 (^) で始まり、その後にグローバル名が続く文字列 (例えば、単なる myGlobal ではなく ^myGlobal)。
注意 : ほとんどのメソッドで使用される globalName パラメータとは異なり、lock_reference パラメータには先頭に曲折アクセント記号を付ける必要があります。globalName ではなく lockReference を使用するのは、lock() および unlock() のみです。
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
クラス IRISList
クラス IRISList では、InterSystems IRIS のリストとやり取りできます。
IRISList コンストラクタ
IRISList コンストラクタは、以下のパラメータを取ります。
IRISList(list, options)
パラメータ :
-
list — オブジェクトの初期化に使用する IRISList または Buffer。Buffer を指定する場合、これは InterSystems IRIS のリストの形式である必要があります。
-
options — リストの形式を定義するプロパティを含むオブジェクト。
-
locale — ロケールを指定する文字列(デフォルト : 'utf-16')。
-
isUnicode — リストに Unicode を含めるかどうか。このオプションは locale と同期されません。設定する場合は、locale の値に応じて true または false に設定する必要があります。null の場合、locale の設定が優先され、このオプションは無視されます(デフォルト : null)。
-
compactDouble — リストが double 値の圧縮を試みるかどうか(デフォルト : false)。
-
返される IRISList オブジェクトには以下のプロパティがあります。
-
locale — リストに格納された文字列の解釈に使用されるロケール。
-
isUnicode — ロケールが UTF-16 の場合は true。
-
compactDouble — リストに格納された double 値が圧縮される場合は true。
一般に、これらのオプションは、サーバで定義されているオプションと一致している必要があります。サーバの設定をプログラムで表示するには、Connection の serverLocale および compactDouble プロパティを調べます。
IRISList メソッドの詳細
IRISList.add() は、指定された値を IRISList に追加します。
add(value) → {IRISList}
パラメータ :
-
value — 追加する値。
IRISList.clear() は、IRISLIST のすべての要素を削除します。
clear() → {IRISList}
IRISList.count() は、IRISLIST にある要素の数を返します。
count() → {Number}
IRISList.equals() は、現在のリストが別のリストと等しいかどうかを確認します。2 つのリストは、サイズと形式 (locale および compactDouble で指定されるロケールと圧縮形式) が同じ場合に等しくなります。
equals(list) → {Boolean}
パラメータ :
-
list — 比較対象となるリスト。
IRISList.get() は、指定された位置 (1 始まりのインデックス) にあるリストではない要素を取得します。それ自体もリストである要素を取得するには、代わりに getList() を使用します。
このメソッドには、対応する型キャスト・メソッドのセットがあります (以下を参照)。
get(index) → {any|null}
パラメータ :
-
index — 取得する要素の位置。
以下に示す IRISList.get() 型キャスト・メソッドのすべてが、IRISList.get() とまったく同じように機能するだけでなく、返り値を特定の型にキャストします。プロパティが存在しない場合は null を返します。
getBigInt(index) → {BigInt|null}
getBoolean(index) → {Boolean|null}
getBuffer(index) → {Buffer}
getBytes(index) → {Buffer|null}
getDecimal(index) → {Decimal|null}
getNumber(index) → {Number|null}
getString(index) → {String|null}
パラメータ :
-
index — 取得する要素の位置。
IRISList.getList() は、指定された位置 (1 始まりのインデックス) の IRISList を取得します。IRISList.getIRISList() は、このメソッドのエイリアスです。
getList(index) → {IRISList}
パラメータ :
-
index — 取得する要素の位置。
IRISList.remove() は、指定された位置 (1 始まりのインデックス) にあるリスト要素を削除します。
remove(index) → {IRISList}
パラメータ :
-
index — 削除する要素の位置。
IRISList.set() は、指定された位置にあるリスト要素を新しい値に設定します。インデックスがリストの範囲外の場合、リストは自動的に拡張され、null 要素で埋められます。
set(index, value) → {IRISList}
パラメータ :
-
index — 変更する要素の位置。
-
value — 新規の値。
IRISList.size() は、IRISList のサイズ (バイト単位) を返します。
size() → {Number}
IRISList.toString() は、IRISList を文字列として返します。
toString() → {String}
クラス IRISObject
クラス IRISObject は、InterSystems IRIS インスタンスのオブジェクトのプロキシとして機能し、以下のメソッドを使用してアクセスおよび操作できます。IRISObject のインスタンスは、メソッドが有効な OREF を持つオブジェクトを返した場合に自動的に生成されます。例えば、classMethodObject() は、%New() によって生成された InterSystems IRIS オブジェクトのプロキシとして機能する IRISObject のインスタンスを返します。
プロパティ (すべて読み取り専用) :
-
closed — オブジェクトが閉じられているかどうか。
-
oref — このオブジェクトに対する InterSystems IRIS のオブジェクト参照。
-
connection — InterSystems IRIS インスタンスへの接続。
IRISObject メソッドの詳細
IRISObject.close() は、IRISObject プロキシ・オブジェクトを閉じて、InterSystems IRIS 内のオブジェクトから切断します。
close()
IRISObject.get() は、プロキシ・オブジェクトのプロパティ値をフェッチします。プロパティに空の文字列がある場合は、null を返します。
このメソッドには、対応する型キャスト・メソッドのセットがあります (以下を参照)。
get(propertyName) → {any|null}
パラメータ :
-
propertyName — 返されるプロパティの名前。
以下に示す IRISObject.get() 型キャスト・メソッドのすべてが、IRISObject.get() とまったく同じように機能するだけでなく、返り値を特定の型にキャストします。プロパティが存在しない場合は null を返します。
getBigInt(propertyName) → {BigInt|null}
getBoolean(propertyName) → {Boolean|null}
getBytes(propertyName) → {Buffer|null}
getDecimal(propertyName) → {Decimal|null}
getIRISList(propertyName) → {IRISList|null}
getNumber(propertyName) → {Number|null}
getObject(propertyName) → {any|null}
getString(propertyName) → {String|null}
パラメータ :
-
propertyName — 返されるプロパティの名前。
IRISObject.invoke() は、オブジェクトのインスタンス・メソッドを呼び出して、プロパティの ObjectScript データ型に対応するタイプの変数を返します。
このメソッドには、対応する型キャスト・メソッドのセットがあります (以下を参照)。
invoke(methodName, ...arguments) → {any}
パラメータ :
-
methodName — 呼び出されるインスタンス・メソッドの名前。
-
...arguments — サポートされる型の 0 個以上の引数。
値を返さないメソッドの呼び出しに使用される "invokeVoid()" も参照してください。
以下に示す IRISObject.invoke() 型キャスト・メソッドのすべてが、IRISObject.invoke() とまったく同じように機能するだけでなく、返り値を特定の型にキャストします。
invokeBigInt(methodName, ...arguments) → {BigInt|null}
invokeBoolean(methodName, ...arguments) → {Boolean|null}
invokeBytes(methodName, ...arguments) → {Buffer|null}
invokeDecimal(methodName, ...arguments) → {Decimal|null}
invokeIRISList(methodName, ...arguments) → {IRISList|null}
invokeNumber(methodName, ...arguments) → {Number|null}
invokeObject(methodName, ...arguments) → {any|null}
invokeString(methodName, ...arguments) → {String|null}
パラメータ :
-
methodName — 呼び出されるインスタンス・メソッドの名前。
-
...arguments — サポートされる型の 0 個以上の引数。
IRISObject.invokeVoid() は、オブジェクトのインスタンス・メソッドを呼び出しますが、値は返しません。
invokeVoid(methodName, ...arguments)
パラメータ :
-
methodName — 呼び出されるインスタンス・メソッドの名前。
-
...arguments — サポートされる型の 0 個以上の引数。
IRISObject.set() は、IRISObject のプロパティを設定します。
set (propertyName, propertyValue)
パラメータ :
-
propertyName — value が割り当てられるプロパティの名前。
-
propertyValue — プロパティの新しい値。これは、サポートされているどの型でもかまいません。
クラス IRISReference
IRISReference を使用して、データベースのクラス・メソッドに引数を参照渡しできます。クラス・メソッドはステータス・コードを返し、結果がある場合は、呼び出し側から渡された参照を更新して返すことをお勧めします。
IRISReference コンストラクタ
IRISReference コンストラクタは、以下のパラメータを取ります。
IRISReference(value, type)
パラメータ :
-
value — 参照渡しする値。
-
type — 値の型を示すシンボル・タイプのヒント (オプション)。IRISReference.Type.ANY に設定した場合、InterSystems IRIS は、value に既定のデータベース型を適用します(デフォルト : IRISReference.Type.ANY)。
-
IRISReference.Type.ANY
-
IRISReference.Type.BOOLEAN
-
IRISReference.Type.BYTES
-
IRISReference.Type.DECIMAL
-
IRISReference.Type.BIGINT
-
IRISReference.Type.NUMBER
-
IRISReference.Type.IRISLIST
-
IRISReference.Type.STRING
-
IRISReference.getValue() は、IRISReference インスタンスの値を、データベースの値の型に対応する型として返します。
getValue() → {any}
以下に示す IRISReference.getValue() 型キャスト・メソッドのすべてが、IRISREference.getValue() とまったく同じように機能するだけでなく、戻り値を特定の型にキャストします。
getBigInt() → {BigInt|null}
getBoolean() → {Boolean|null}
getBytes() → {Buffer|null}
getDecimal() → {Decimal|null}
getIRISList() → {IRISList|null}
getNumber() → {Number|null}
getObject() → {any|null}
getString() → {String|null}
IRISReference.getType() は、IRISReference の型のヒントを取得します。
getType() → {IRISReference.Type}
IRISReference.setType() は、IRISReference の型のヒントを設定します。
setType(type)
パラメータ :
-
type — 値の型を示す型のヒント。
-
IRISReference.Type.ANY
-
IRISReference.Type.BOOLEAN
-
IRISReference.Type.BYTES
-
IRISReference.Type.DECIMAL
-
IRISReference.Type.BIGINT
-
IRISReference.Type.NUMBER
-
IRISReference.Type.IRISLIST
-
IRISReference.Type.STRING
-
クラス IRISGlobalNode
IRISGlobalNode は、MapOpens in a new tab に似た反復可能なインタフェースを提供します。これは、グローバル・ノードの直接の子を表す仮想ディクショナリのように動作し、添え字 (キー) を値にマップします。これは、反復処理、逆の操作、インデックス付けが可能で、ビューおよびメンバシップ・テストをサポートします。
IRISGlobalNode コンストラクタ
IRISGlobalNode コンストラクタは、以下のパラメータを取り、Iris.IRISGlobalNode() に相当します。
IRISGlobalNode(globalName, subscripts) → IRISGlobalNode
パラメータ :
-
iris — Iris タイプのオブジェクト。通信先となる InterSystems IRIS インスタンス。
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する 0 個以上の添え字
返される IRISGlobalNode オブジェクトには以下のプロパティがあります。
-
size — オブジェクト内の添え字と値のペアの数。
IRISGlobalNode.clear() は、指定されたグローバルを InterSystems IRIS サーバから削除します。
clear()
class.delete() は、指定された添え字にある値を IRISGlobalNode から削除します。
delete(subscript)
パラメータ :
-
subscript — 削除する値の場所。
IRISGlobalName.entries() は、添え字と値のペアを生成する IRISGlobalNode の Iterator を返します。
entries() → {Iterator}
IRISGlobalNode.foreach() は、IRISGlobalNode を反復処理し、指定されたコールバック関数を実行します。
foreach(callback, thisArg)
パラメータ :
-
callback — コールバック関数。
-
thisArg — コールバックの this として使用する引数。
IRISGlobalNode.get() は、指定された添え字から値を取得します。
get(subscript, default_value) → {any}
パラメータ :
-
subscript — 返される添え字。
-
default_value — 添え字がない場合に返される既定値。
IRISGlobalNode.has() は、指定された添え字に値があるかどうかを指定します。
has(subscript) → {Boolean}
パラメータ :
-
subscript — 確認する添え字。
IRISGlobalNode.keys() は Iterator を返します。これが反復処理されると、ノードの添え字が返されます。
keys() → {Iterator}
IRISGlobalNode.node() は、指定された添え字にあるサブノードを表す IRISGlobalNode を返します。
node(subscript) → {IRISGlobalNode}
パラメータ :
-
subscript — 返されるノードの添え字。
IRISGlobalNode.nodeEntries() は、IRISGlobalNode の添え字とサブノードのペアの Iterator を返します。
node(subscript) → {IRISGlobalNode}
IRISGlobalNode.nodeEntries() は、IRISGlobalNode のサブノードの Iterator を返します。
node(subscript) → {IRISGlobalNode}
IRISGlobalNode.reversed() は Iterator を返します。これが反復処理されると、ノードの添え字と値のペアが逆順で返されます。
reversed() → {Iterator}
IRISGlobalNode.set() は、指定された添え字にある値を追加または更新します。
set(subscript, value)
パラメータ :
-
subscript — 追加または更新する添え字。
-
value — 新規の値。
IRISGlobalNode.keys() は IRISGlobalNode.subscripts() のエイリアスです。
subscripts() → {Iterator}
クラス Iterator
クラス Iterator は、標準の JavaScript イテレータ・プロトコルOpens in a new tabに従い、IRISGlobalNode を反復処理できます。詳細と例は、“グローバル配列のノードの検索” を参照してください。
IRISIterator コンストラクタ
IRISIterator コンストラクタは、以下のパラメータを取ります。
Iterator(node, view) → Iterator
パラメータ :
-
node — IRISGlobalNode のインスタンス
-
view — ビュー
Iterator.next() は、照合順で次の兄弟ノードに反復子を配置し、done プロパティと value プロパティを含むオブジェクトを返します。反復子が最後まで到達している場合、done は true になり、最後まで到達していない場合は false になります。
next() → {any}
done が false の場合、以下のいずれかのメソッドによって value プロパティの返りタイプを設定できます。
-
entries() は、value が配列として返されるようにします。配列では、value(0) は添え字で、value(1) はノード値です (反復子が作成される際には、この配列が既定になります)。
-
nodeEntries() を使用すると、value は配列として返され、value(0) は添え字、value(1) は IRISGlobalNode になります。
-
nodes() を使用すると、value は IRISGlobalNode のインスタンスとして返されます。
-
keys() は、value が現在の添え字のみを返すようにします。
-
values() は、value が現在のノードの値のみを返すようにします。
Iterator..startFrom() は、反復子の開始位置を指定の添え字に設定します。開始位置は、有効なサブノードでなくてもかまいません。連鎖の場合は this を返します。
startFrom(subscript) → {external:"intersystems-iris-native".Iterator}
パラメータ :
-
subscript — 開始ポイントとして使用する添え字。既存のノードを指定する必要はありません。
next() を呼び出して、照合順で次の既存のノードに進めるまで、反復子はノードを指しません。
Iterator.reversed() は、順方向と逆方向の照合順序の間で反復処理を切り替えます。既定で、反復子は定義の際に順方向の反復処理に設定されます。連鎖の場合は this を返します。
reversed() → {external:"intersystems-iris-native".Iterator}
Iterator.entries() は、next().value がノードの添え字 (value(0)) とノード値 (value(1)) を含む配列でなければならないと指定します。連鎖の場合は this を返します。
entries() → {external:"intersystems-iris-native".Iterator}
Iterator.nodeEntries() は、next().value がノードの添え字 (value(0)) と IRISGlobalNode (value(1)) を含む配列でなければならないと指定します。連鎖の場合は this を返します。
entries() → {external:"intersystems-iris-native".Iterator}
Iterator.nodes() は、next().value が IRISGlobalNode のインスタンスでなければならないと指定します。連鎖の場合は this を返します。
entries() → {external:"intersystems-iris-native".Iterator}
Iterator.keys() は、next().value にノードの添え字 (キー) のみを含める必要があると指定します。連鎖の場合は this を返します。
keys() → {external:"intersystems-iris-native".Iterator}
Iterator.values() は、next().value にはノードの値のみを含める必要があると指定します。連鎖の場合は this を返します。
values() → {external:"intersystems-iris-native".Iterator}