Class CobolResolve
java.lang.Object
jp.osscons.opensourcecobol.libcobj.call.CobolResolve
動的にクラスファイルを読み込んでCALL文のような機能を実装するためのクラス
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void引数で与えられたプログラム名に対応するCobolRunnableのインスタンスの cancelメソッドを呼び出すstatic voidcancel(AbstractCobolField cobolField) 引数で与えられたプログラム名に対応するCobolRunnableのインスタンスの cancelメソッドを呼び出すstatic void現在のコールスタックの子プログラムをすべてキャンセルするstatic void指定のプログラムのcancelメソッドを呼び出すstatic void下記の環境変数を読み込み、CobolResolve内で定義されたメソッドの動作が変わる。
環境変数COB_LOAD_CASEにLOWERが指定されているときは、resolveメソッドに渡された引数を小文字に変換してから処理を開始する。
環境変数COB_LOAD_CASEにUPPERが指定されているときは、resolveメソッドに渡された引数を大文字に変換してから処理を開始する。
環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 resolveメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 resolveメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。 環境変数COB_PRE_LOADは未実装static void指定のプログラムのcancelメソッドを呼び出すstatic voidコールスタックから一つ取り出すstatic voidpushCallStackList(String name) コールスタックにプログラムをプッシュするstatic CobolRunnableパッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
環境変数COB_LOAD_CASEにLOWERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LOAD_CASEにUPPERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。static CobolRunnableresolve(String packageName, String name, CobolRunnable runner) パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
環境変数COB_LOAD_CASEにLOWERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LOAD_CASEにUPPERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。static CobolRunnableresolve(String packageName, AbstractCobolField cobolField) パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
環境変数COB_LOAD_CASEにLOWERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LOAD_CASEにUPPERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。static CobolRunnableresolve(String packageName, AbstractCobolField cobolField, CobolRunnable runner) パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
環境変数COB_LOAD_CASEにLOWERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LOAD_CASEにUPPERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。
-
Field Details
-
cobException
例外コードと例外名の対応を表現する
-
-
Constructor Details
-
CobolResolve
public CobolResolve()
-
-
Method Details
-
cobolInitCall
public static void cobolInitCall()下記の環境変数を読み込み、CobolResolve内で定義されたメソッドの動作が変わる。
環境変数COB_LOAD_CASEにLOWERが指定されているときは、resolveメソッドに渡された引数を小文字に変換してから処理を開始する。
環境変数COB_LOAD_CASEにUPPERが指定されているときは、resolveメソッドに渡された引数を大文字に変換してから処理を開始する。
環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 resolveメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 resolveメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。 環境変数COB_PRE_LOADは未実装 -
resolve
public static CobolRunnable resolve(String packageName, AbstractCobolField cobolField, CobolRunnable runner) throws CobolRuntimeException パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
環境変数COB_LOAD_CASEにLOWERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LOAD_CASEにUPPERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。- Parameters:
packageName- 検索するクラスのパッケージ名cobolField- 読み込むクラスの名前を格納するCOBOL変数runner- CobolRunnableを実装したクラス。nullでもよい。- Returns:
- runnerがnullでない場合はrunnerを返し、そうでないときはクラス名とパッケージ名を元に検索処理を実施する。 検索して動的にクラスの読み込みに成功したら、それを返す。検索に失敗したら nullを返す。
- Throws:
CobolRuntimeException- TODO: 準備中
-
resolve
public static CobolRunnable resolve(String packageName, String name, CobolRunnable runner) throws CobolRuntimeException パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
環境変数COB_LOAD_CASEにLOWERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LOAD_CASEにUPPERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。- Parameters:
packageName- 検索するクラスのパッケージ名name- 読み込むクラスの名前runner- CobolRunnableを実装したクラス。nullでもよい。- Returns:
- runnerがnullでない場合はrunnerを返し、そうでないときはクラス名とパッケージ名を元に検索処理を実施する。 検索して動的にクラスの読み込みに成功したら、それを返す。検索に失敗したら nullを返す。
- Throws:
CobolRuntimeException- TODO: 準備中
-
resolve
public static CobolRunnable resolve(String packageName, AbstractCobolField cobolField) throws CobolRuntimeException パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
環境変数COB_LOAD_CASEにLOWERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LOAD_CASEにUPPERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。- Parameters:
packageName- パッケージ名cobolField- 読み込むクラスの名前- Returns:
- クラス名とパッケージ名を元に検索処理を実施する。 検索して動的にクラスの読み込みに成功したら、それを返す。検索に失敗したら nullを返す。
- Throws:
CobolRuntimeException- TODO: 準備中
-
resolve
パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
環境変数COB_LOAD_CASEにLOWERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LOAD_CASEにUPPERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。- Parameters:
packageName- パッケージ名name- 読み込むクラスの名前- Returns:
- クラス名とパッケージ名を元に検索処理を実施する。 検索して動的にクラスの読み込みに成功したら、それを返す。検索に失敗したら nullを返す。
- Throws:
CobolRuntimeException- TODO: 準備中
-
cancel
引数で与えられたプログラム名に対応するCobolRunnableのインスタンスの cancelメソッドを呼び出す- Parameters:
cobolField- プログラム名を示すCOBOL変数
-
cancel
引数で与えられたプログラム名に対応するCobolRunnableのインスタンスの cancelメソッドを呼び出す- Parameters:
name- プログラム名
-
fieldCancel
指定のプログラムのcancelメソッドを呼び出す- Parameters:
f- cancelを呼び出すプログラム名を示すCOBOL変数- Throws:
CobolStopRunException- TODO: 準備中
-
cobCancel
指定のプログラムのcancelメソッドを呼び出す- Parameters:
name- プログラム名- Throws:
CobolStopRunException- TODO: 準備中
-
pushCallStackList
コールスタックにプログラムをプッシュする- Parameters:
name- プログラム名
-
popCallStackList
public static void popCallStackList()コールスタックから一つ取り出す -
cancelAll
現在のコールスタックの子プログラムをすべてキャンセルする- Throws:
CobolRuntimeException- 現在のスタックがnullの場合
-