Class CobolResolve

java.lang.Object
jp.osscons.opensourcecobol.libcobj.call.CobolResolve

public class CobolResolve extends Object
動的にクラスファイルを読み込んでCALL文のような機能を実装するためのクラス
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    例外コードと例外名の対応を表現する
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    cancel(String name)
    引数で与えられたプログラム名に対応するCobolRunnableのインスタンスの cancelメソッドを呼び出す
    static void
    引数で与えられたプログラム名に対応する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 void
    コールスタックにプログラムをプッシュする
    resolve(String packageName, String name)
    パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
    環境変数COB_LOAD_CASEにLOWERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
    環境変数COB_LOAD_CASEにUPPERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
    環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
    環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。
    resolve(String packageName, String name, CobolRunnable runner)
    パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
    環境変数COB_LOAD_CASEにLOWERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
    環境変数COB_LOAD_CASEにUPPERが指定されているときは、nameの示す文字列全体を小文字に変換したものを検索する。
    環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
    環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。
    resolve(String packageName, AbstractCobolField cobolField)
    パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
    環境変数COB_LOAD_CASEにLOWERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
    環境変数COB_LOAD_CASEにUPPERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
    環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
    環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。
    resolve(String packageName, AbstractCobolField cobolField, CobolRunnable runner)
    パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
    環境変数COB_LOAD_CASEにLOWERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
    環境変数COB_LOAD_CASEにUPPERが指定されているときは、cobolFieldの示す文字列全体を小文字に変換したものを検索する。
    環境変数COB_LIBRARY_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのディレクトリパスのリストにそれを追加する。
    環境変数COB_PACKAGE_PATHにディレクトリパスが指定されている場合、 このメソッドが検索するモジュールのパッケージパスのリストにそれを追加する。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • cobException

      public static Map<Integer,String> 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

      public static CobolRunnable resolve(String packageName, String name) throws CobolRuntimeException
      パッケージ名とクラス名から、クラスを動的に読み込む。 このメソッドは以下のように、環境変数の設定値によって動作が変わる。
      環境変数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

      public static void cancel(AbstractCobolField cobolField)
      引数で与えられたプログラム名に対応するCobolRunnableのインスタンスの cancelメソッドを呼び出す
      Parameters:
      cobolField - プログラム名を示すCOBOL変数
    • cancel

      public static void cancel(String name)
      引数で与えられたプログラム名に対応するCobolRunnableのインスタンスの cancelメソッドを呼び出す
      Parameters:
      name - プログラム名
    • fieldCancel

      public static void fieldCancel(AbstractCobolField f) throws CobolStopRunException
      指定のプログラムのcancelメソッドを呼び出す
      Parameters:
      f - cancelを呼び出すプログラム名を示すCOBOL変数
      Throws:
      CobolStopRunException - TODO: 準備中
    • cobCancel

      public static void cobCancel(String name) throws CobolStopRunException
      指定のプログラムのcancelメソッドを呼び出す
      Parameters:
      name - プログラム名
      Throws:
      CobolStopRunException - TODO: 準備中
    • pushCallStackList

      public static void pushCallStackList(String name)
      コールスタックにプログラムをプッシュする
      Parameters:
      name - プログラム名
    • popCallStackList

      public static void popCallStackList()
      コールスタックから一つ取り出す
    • cancelAll

      public static void cancelAll() throws CobolRuntimeException
      現在のコールスタックの子プログラムをすべてキャンセルする
      Throws:
      CobolRuntimeException - 現在のスタックがnullの場合