すべてのパッケージ  クラス階層  このパッケージ  前へ  次へ  索引

クラス com.ibm.eNetwork.ECL.ECLScreenReco

java.lang.Object
   |
   +----com.ibm.eNetwork.ECL.ECLScreenReco

public class ECLScreenReco
extends Object
implements Observer
ECLScreenReco オブジェクトは、画面認識システムのエンジンです。 これには、画面の記述を追加したり削除したりするためのメソッドが含まれています。 また、それらの画面を認識したり、 画面用のハンドラー・コードに非同期にコールバックしたりするための論理も含まれています。

ECLScreenReco クラスのオブジェクトは、固有な「認識セット」として考えてください。 オブジェクトは、画面を監視する複数の ECLPS オブジェクト、 検索する複数の画面、 および任意の ECLPS オブジェクトの中に画面を表示するときに呼び出す複数のコールバック・ポイントを持つことができます。

ユーザーはアプリケーションの開始時に ECLScreenReco オブジェクトを設定するだけでよく、 モニターしたい画面が ECLPS に現れるときに、 使用するコードが ECLScreenReco によって呼び出されます。

次は、一般的なインプリメンテーション例です。

 

class MyApp { ECLSession myECLSession; // My main HACL session ECLPS myECLPS; // The presentation space from the session ECLScreenReco myScreenReco; // My screen reco object ECLScreenDesc myScreenDesc; // My screen descriptor MyRecoCallback myCallback; // My GUI handler

public static void main(String argv[]) { MyApp app = new MyApp(); app.showMainGUI(); }

public MyApp() { // Set up HACL session Properties p = new Properties(); p.put(Session.SESSION_TYPE, ECLSession.SESSION_TYPE_3270_STR); p.put(Session.CODE_PAGE, ECLSession.SESSION_CODE_PAGE_DEFAULT); p.put(Session.AUTO_RECONNECT, "true"); p.put(Session.HOST, "ralvm5"); myECLSession = new ECLSession(p); myECLSession.StartCommunication(); myECLPS = myECLSession.GetPS();7*

// Set up my callback object myCallback = new MyRecoCallback();

// Save the number of fields for below ECLFieldList fl = myECLPS.GetFieldList(ALL_PLANES) fl.Refresh(ALL_PLANES); int numFields = fl.GetFieldCount();

// Set up my HACL screen description object. Say the screen // is identified by a cursor position, a key word, and the // number of fields myScreenDesc = new ECLScreenDesc(); myScreenDesc.AddCursorPos(23,1); myScreenDesc.AddString("LOGON"); myScreenDesc.AddNumFields(numFields);

// Set up HACL screen reco object, it will begin monitoring here myScreenReco = new ECLScreenReco(); myScreenReco.AddPS(myECLPS); myScreenReco.RegisterScreen(myScreenDesc, myCallback); }

public void showMainGUI() { // Show the main application GUI, this is just a simple example Frame myFrame = new Frame("Main GUI"); Dialog dlg = new Dialog(myFrame); dlg.show(); }

// ECLRecoNotify-derived inner class (the "callback" code) class MyRecoCallback extends ECLRecoNotify { public void NotifyEvent(ECLScreenDesc sd, ECLPS ps) { // GUI code here for the specific screen // Maybe fire a dialog that front ends the screen }

public void NotifyError(ECLScreenDesc sd, ECLPS ps, ECLErr e) { // Error handling }

public void NotifyStop(ECLScreenDesc sd, ECLPS ps, int Reason) { // Possible stop monitoring, not essential } }

}


コンストラクター索引

 o ECLScreenReco()
ECLScreenReco のインスタンスを作成します。

メソッド索引

 o AddPS(ECLPS)
ECLPS オブジェクト (プレゼンテーション・スペース) を画面認識システムに追加します。
 o IsMatch(ECLPS, ECLScreenDesc)
PS で画面を比較します。
 o RegisterScreen(ECLScreenDesc, ECLRecoNotify)
ECLScreenDesc オブジェクトを画面認識システムに登録します。
 o RemovePS(ECLPS)
ECLPS オブジェクト (プレゼンテーション・スペース) を画面認識システムから削除します。
 o UnregisterScreen(ECLScreenDesc)
ECLScreenDesc オブジェクトとそれに対応する ECLRecoNotify オブジェクトを画面認識システムから削除します。

コンストラクター

 o ECLScreenReco
 public ECLScreenReco()
ECLScreenReco のインスタンスを作成します。

メソッド

 o RegisterScreen
 public synchronized void RegisterScreen(ECLScreenDesc sd,
                                         ECLRecoNotify notify)
ECLScreenDesc オブジェクトを画面認識システムに登録します。 システムが画面を認識すると、 指定された通知オブジェクトで NotifyEvent メソッドを呼び出します。 通知オブジェクトは、ユーザーが定義した ECLRecoNotify 派生クラスのオブジェクトです。 これには、 認識イベントのためのハンドラーまたは「コールバック」コードが含まれています。 使用する画面処理コードも含まれています。

パラメーター :
sd - 登録する ECLScreenDesc オブジェクト。
notify - ユーザーが定義する ECLRecoNotify オブジェクト。
関連項目 :
ECLRecoNotifyECLScreenDesc
 o UnregisterScreen
 public synchronized void UnregisterScreen(ECLScreenDesc sd)
ECLScreenDesc オブジェクトとそれに対応する ECLRecoNotify オブジェクトを画面認識システムから削除します。

パラメーター :
sd - 登録する ECLScreenDesc オブジェクト。
関連項目 :
ECLScreenDesc
 o AddPS
 public synchronized void AddPS(ECLPS ps)
ECLPS オブジェクト (プレゼンテーション・スペース) を画面認識システムに追加します。 システムは、追加されたすべての ECLPS オブジェクトをモニターして、 追加されたすべての ECLScreenDesc オブジェクトを調べます。

パラメーター :
ps - 追加する ECLPS オブジェクト。
関連項目 :
ECLPS
 o RemovePS
 public synchronized void RemovePS(ECLPS ps)
ECLPS オブジェクト (プレゼンテーション・スペース) を画面認識システムから削除します。

パラメーター :
ps - 削除する ECLPS オブジェクト。
関連項目 :
ECLPS
 o IsMatch
 public static boolean IsMatch(ECLPS ps,
                               ECLScreenDesc sd) throws ECLErr
PS 内の画面を比較します。 AddString、SetCursor などで設定された行または桁パラメーターが PS の境界を超えている場合は、 このメソッドが FALSE を戻します。 これは例外として throw されません。 このメソッドは静的なので、 ECL パッケージ内のルーチンか、または ECL パッケージを使用するルーチンによって、 「ユーティリティー」メソッドとして使用されることがあります。

パラメーター :
ps - 画面記述と比較するプレゼンテーション・スペース・オブジェクト。
sd - 画面記述を定義する画面記述オブジェクト。
戻り値 :
PS 内の画面と一致する場合は TRUE、そうでない場合は FALSE。
Throw (例外) : ECLErr
ECLScreenReco を PS と比較してエラーがあれば throw されます。
関連項目 :
ECLScreenDescECLPS

すべてのパッケージ  クラス階層  このパッケージ  前へ  次へ  索引