Native SDK for Node.js のクイック・リファレンス
この章は、external:"intersystems-iris-native" のモジュールのメンバである、以下のクラスのクイック・リファレンスです
-
クラス Connection は、サーバへの接続を確立します。
-
クラス Iris は、主な機能を提供します。
-
クラス Iterator は、グローバル配列を操作するためのメソッドを提供します。
この章は、このドキュメントの読者の利便性を目的としたものであり、Native SDK の最終的なリファレンスではありません。これらのクラスに関する最も包括的な最新情報については、SDK オンライン・ドキュメントを参照してください。
用途別のメソッドのリスト
Connection クラスは、サーバへの接続をカプセル化します。external:"intersystems-iris-native" のメソッド createConnection() によって、Connection のインスタンスが作成され、サーバに接続されます。
-
close() — 接続を閉じます。
-
createIris() — この接続のために Iris のインスタンスを作成します。
-
isClosed() — 接続が閉じられている場合、true を返します。
-
isUsingSharedMemory() — 接続で共有メモリが使用されている場合、true を返します。
Iris クラスは、Native SDK のほとんどの機能を提供します。Iris のインスタンスは、Connection.createIris() によって作成されます。メソッドを用途別にまとめて以下にリストします。
-
getAPIVersion() — このバージョンの Native SDK のバージョン文字列を返します。
-
getServerVersion() — 現在接続されているサーバのバージョン文字列を返します。
-
increment() — グローバル・ノードの値を、指定された数だけインクリメントします。
-
isDefined() — グローバル・ノードが存在するかどうか、およびそれにデータが含まれているかどうかを確認します。
-
iterator() — Iterator のインスタンスを返します。
-
kill() — 下位ノードを含め、グローバル・ノードを削除します。
-
get() — 指定されたノード値を返します。
-
getBoolean() — ノード値をブーリアンとして返します。
-
getBytes() — ノード値を ArrayBuffer として返します。
-
getNumber() — ノード値を数値として返します。
-
getString() — ノード値を文字列として返します。
-
lock() — グローバルで増分ロックを実行し、成功すると true を返します。
-
unlock() — グローバルで即時または遅延アンロックを実行します。
-
releaseAllLocks() — セッションに関連付けられたすべてのロックを解放します。
-
getTLevel() — 現在のトランザクション・レベル (トランザクション内でない場合は 0) を返します。
-
tCommit() — 現在のトランザクションをコミットして、トランザクション・レベルをデクリメントします。
-
tRollback() — セッション内の開いているトランザクションすべてをロールバックします。
-
tRollbackOne() — 現在のレベルのトランザクションのみをロールバックします。
-
tStart() — トランザクションを開始して、トランザクション・レベルをインクリメントします。
-
classMethodValue() — ユーザ定義の ObjectScript メソッドを呼び出して、返り値を取得します。
-
classMethodVoid() — ユーザ定義の ObjectScript メソッドを呼び出して、返り値を無視します。
-
function() — ユーザ定義の ObjectScript ルーチンを呼び出して、返り値を取得します。
-
procedure() — ユーザ定義の ObjectScript ルーチンのプロシージャを呼び出します。
Iterator クラスは、一連のノードを反復処理するメソッドを提供します。Iterator のインスタンスは、Iris.iterator() によって作成されます。
-
next() — 次の兄弟ノードに反復子を配置します。
-
startFrom() — 開始位置を指定の添え字に設定します。
-
reversed() — 順方向と逆方向の照合順序の間で反復処理を切り替えます。
-
entries() — 添え字とノード値を含む配列に返りタイプを設定します。
-
keys() — ノードの添え字 (キー) のみを返すように返りタイプを設定します。
-
values() — ノード値のみを返すように返りタイプを設定します。
クラス Connection
クラス Connection は external:"intersystems-iris-native" のメンバです。Connection のインスタンスは、intersystems-iris-native メソッド createConnection() によって作成されます。
intersystems-iris-native createConnection() は、サーバへの接続を確立します。
(static) createConnection(connectionInfo) → {external:"intersystems-iris-native".Connection}
パラメータ :
-
connectionInfo — 接続プロパティを含むオブジェクト。connectionInfo の有効なプロパティは以下のとおりです。
-
host — ホスト・マシンのアドレスを含む必須の文字列。
-
port — ポート番号を指定する必須の整数。
-
ns — データベース・ネームスペースを含む必須の文字列。
-
user — ユーザ名を含む文字列。
-
pwd — パスワードを含む文字列。
-
sharedmemory — 使用可能な場合、共有メモリを使用するかどうかを示すブーリアン値 (既定値は true)。
-
timeout — 接続試行がタイムアウトするまでに待機するミリ秒数を指定する整数 (既定値は 10000)。
-
logfile — この接続のログ・ファイルのフル・パスと名前を指定する文字列。指定しない場合、ログ・ファイルは書き込まれません。
例えば、以下のコードの断片は connectionInfo のすべてのプロパティを定義し、conn という名前の Connection のインスタンスを作成します。
const IRISNative = require('intersystems-iris-native') let connectionInfo = { host: '127.0.0.1', port: 51773, ns: 'USER', user: '_SYSTEM', pwd: 'SYS', sharedmemory: true timeout: 5, logfile: 'C:\temp\mylogfile.log' }; const conn = IRISNative.createConnection(connectionInfo);
-
Connection.close() は、サーバへの接続を閉じます。
close()
Connection.createIris() は、この Connection によってサーバに接続されているクラス Iris のインスタンスを返します。
createIris() →→ {external:"intersystems-iris-native".Iris}
Connection.isClosed() は、接続が現在閉じられている場合は true、開いている場合は false を返します。
isClosed() → {boolean}
クラス Iris
クラス Iris は external:"intersystems-iris-native" のメンバです。Iris のインスタンスは、Connection.createIris() を呼び出すことによって作成されます。
クラス Iris は、グローバル関数、関数とプロシージャの呼び出し、ロック、およびトランザクションを実装する主要な Native SDK モジュールです。
Iris.classMethodValue() は、クラス・メソッドを呼び出して、0 個以上の引数を渡し、呼び出されたメソッドの返り値を返します。
classMethodValue(className, methodName, ...args) → {any}
パラメータ :
-
className — 呼び出されるメソッドが属するクラスの完全修飾名。
-
methodName — クラス・メソッドの名前。
-
args — サポートされている型の 0 個以上のメソッド引数 (“ObjectScript メソッドおよび関数の呼び出し” を参照してください)。末尾の引数は省略できます。
Iris.classMethodVoid() は、クラス・メソッドを呼び出して、0 個以上の引数を渡し、何も返しません。
classMethodVoid(className, methodName, ...args)
パラメータ :
-
className — 呼び出されるメソッドが属するクラスの完全修飾名。
-
methodName — クラス・メソッドの名前。
-
args — サポートされている型の 0 個以上のメソッド引数 (“ObjectScript メソッドおよび関数の呼び出し” を参照してください)。末尾の引数は省略できます。
Iris.function() は、関数を呼び出して、0 個以上の引数を渡し、呼び出された関数の返り値を返します。
function(routineName, functionName, ...args) → {any}
パラメータ :
-
routineName — 関数を含むルーチンの名前。
-
functionName — 呼び出す関数の名前。
-
args — サポートされている型の 0 個以上の関数引数 (“ObjectScript メソッドおよび関数の呼び出し” を参照してください)。末尾の引数は省略できます。
Iris.get() は、グローバル・ノードの値を返します。ノード値が空の文字列の場合は false を返し、指定されたノード・アドレスに値がない場合は null を返します。
get(globalName, ...subscripts) → {any}
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する添え字の配列
Iris.getAPIVersion() は、Native SDK バージョン文字列を返します。
getAPIVersion() → {string}
Iris.getBoolean() は、ノード値を boolean として返します。ノード値が空の文字列の場合は false を返し、指定されたノード・アドレスに値がない場合は null を返します。
getBoolean(globalName, ...subscripts) → {boolean}
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する添え字の配列
Iris.getBytes() は、ノード値を ArrayBuffer として返します。ノード値が空の文字列の場合は false を返し、指定されたノード・アドレスに値がない場合は null を返します。
getBytes(globalName, ...subscripts) → {ArrayBuffer}
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する添え字の配列
Iris.getNumber() は、ノード値を number として返します。ノード値が空の文字列の場合は false を返し、指定されたノード・アドレスに値がない場合は null を返します。
getNumber(globalName, ...subscripts) → {number}
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する添え字の配列
Iris.getServerVersion() は、現在接続されているサーバのバージョン文字列を返します。
getServerVersion() → {string}
Iris.getString() は、ノード値を string として返します。ノード値が空の文字列の場合は false を返し、指定されたノード・アドレスに値がない場合は null を返します。
getString(globalName, subscripts) → {string}
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する添え字の配列
Iris.getTLevel() は、入れ子になった現在のトランザクションのレベルを返します。開いているトランザクションが 1 つのみである場合は 1 を返します。開いているトランザクションがない場合は 0 を返します。これは、$TLEVEL 特殊変数の値のフェッチと同じです。詳細と例は、“トランザクションとロック” を参照してください。
getTLevel() → {number}
Iris.increment() は、指定されたノードを incrementBy の整数値だけインクリメントします。指定されたノード・アドレスに値がない場合、ノードが作成され、その値が incrementBy の値に設定されます。ノードの新しい整数値を返します。
increment(incrementBy, globalName, ...subscript) → {number}
パラメータ :
-
incrementBy — このノードを設定する数値 (null 値はグローバルを 0 に設定し、小数値は整数に切り捨てられます)。
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する添え字の配列
Iris.isDefined() は、グローバルが存在してデータがあるかどうかを確認します ("$DATA" を参照してください)。ノードが存在しない場合は 0 を返し、グローバル・ノードが存在し、それにデータがある場合は 1 を返します。ノードに値はないが、下位ノードがある場合は 10 を返します。データも下位ノードもある場合は 11 を返します。詳細と例は、“子ノードおよびノード値のテスト” を参照してください。
isDefined(globalName, ...subscript) → {number}
パラメータ :
-
globalName — グローバル名
-
subscripts — このノードの添え字の配列
Iris.iterator() は、指定されたノードの Iterator オブジェクト (“クラス Iterator” を参照) を返します。
iterator(globalName, ...subscript) → {external:"intersystems-iris-native".Iterator}
パラメータ :
-
globalName — グローバル名
-
subscripts — ターゲット・ノードを指定する添え字の配列
Iris.kill() は、下位ノードを含め、グローバル・ノードを削除します。
kill(globalName, ...subscript)
パラメータ :
-
globalName — グローバル名
-
subscripts — このノードの添え字の配列
Iris.lock() は、グローバルをロックし、成功すると true を返します。このメソッドは増分ロックを実行し、ObjectScript で提供されるロック前の暗黙的なアンロック機能は実行しません。
lock(lockMode, timeout, lockReference, ...subscript) → {boolean}
パラメータ :
-
lockMode — 次のいずれかの文字列 : 共有ロックの場合は "S"、エスカレート・ロックの場合は "E"、両方の場合は "SE"、どちらでもない場合は ""。空の文字列が既定モードです (非共有または非エスカレート)。
-
timeout — ロックの取得を待機する秒数
-
lockReference — 曲折アクセント記号 (^) で始まり、その後にグローバル名が続く文字列 (例えば、単なる myGlobal ではなく ^myGlobal)。
注意 : ほとんどのメソッドで使用される globalName パラメータとは異なり、lockReference パラメータには先頭に曲折アクセント記号を付ける必要があります。globalName ではなく lockReference を使用するのは、lock() および unlock() のみです。
-
subscripts — このノードの添え字の配列。
Iris.procedure() はプロシージャを呼び出し、0 個以上の引数を渡します。
procedure(routineName, procedureName, ...args)
パラメータ :
-
routineName — プロシージャを含むルーチンの名前。
-
procedureName — 呼び出すプロシージャの名前。
-
args — サポートされている型の 0 個以上のプロシージャ引数 (“ObjectScript メソッドおよび関数の呼び出し” を参照してください)。末尾の引数は省略できます。
Iris..releaseAllLocks() は、セッションに関連付けられたすべてのロックを解放します。
releaseAllLocks()
Iris.set() は、指定されたノードをサポートされている任意のデータ型の値に設定します (値が null の場合は "")。
set(value, globalName, ...subscript)
パラメータ :
-
value — サポートされている任意のデータ型の値 (null 値の場合、グローバルは "" に設定されます)。
-
globalName — グローバル名
-
subscripts — このノードの添え字の配列
Iris.tCommit() は、現在のトランザクションをコミットして、トランザクション・レベルをデクリメントします。詳細と例は、“トランザクションとロック” を参照してください。
tCommit()
Iris..tRollback() は、セッション内の開いているトランザクションすべてをロールバックします。詳細と例は、“トランザクションとロック” を参照してください。
tRollback()
Iris..tRollbackOne() は、現在のレベルのトランザクションのみをロールバックします。入れ子になったトランザクションである場合、それより上のレベルのトランザクションはロールバックされません。詳細と例は、“トランザクションとロック” を参照してください。
tRollbackOne()
Iris.tStart() は、トランザクションを開始して、トランザクション・レベルをインクリメントします。詳細と例は、“トランザクションとロック” を参照してください。
tStart()
Iris..unlock() は、グローバルをアンロックします。このメソッドは増分アンロックを実行し、ObjectScript でも提供されるロック前の暗黙的なアンロック機能は実行しません。
unlock(lockMode, lockReference, ...subscript)
パラメータ :
-
lockMode — 次のいずれかの文字列 : 共有ロックの場合は "S"、エスカレート・ロックの場合は "E"、両方の場合は "SE"、どちらでもない場合は ""。空の文字列が既定モードです (非共有または非エスカレート)。
-
lockReference — 曲折アクセント記号 (^) で始まり、その後にグローバル名が続く文字列 (例えば、単なる myGlobal ではなく ^myGlobal)。
注意 : ほとんどのメソッドで使用される globalName パラメータとは異なり、lockReference パラメータには先頭に曲折アクセント記号を付ける必要があります。globalName ではなく lockReference を使用するのは、lock() および unlock() のみです。
-
subscripts — このノードの添え字の配列。
クラス Iterator
クラス Iterator は external:"intersystems-iris-native" のメンバです。Iterator のインスタンスは、Iris.iterator() を呼び出すことによって作成されます。詳細と例は、“グローバル配列のノードの検索” を参照してください。
Iterator.next() は、照合順で次の兄弟ノードに反復子を配置し、done プロパティと value プロパティを含むオブジェクトを返します。反復子が最後まで到達している場合、done は true になり、最後まで到達していない場合は false になります。
next() → {any}
done が false の場合、以下のいずれかのメソッドによって 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.keys() は、next().value にノードの添え字 (キー) のみを含める必要があると指定します。連鎖の場合は this を返します。
keys() → {external:"intersystems-iris-native".Iterator}
Iterator.values() は、next().value にはノードの値のみを含める必要があると指定します。連鎖の場合は this を返します。
values() → {external:"intersystems-iris-native".Iterator}