JAVA/CORBA クラス
アプレットは、AppletBase または JAppletBase から派生して、その関数コードのエントリポイントとして notesAppletInit()、notesAppletStart()、notesAppletStop() を使用する必要があります。Session オブジェクトを取得するには、openSession() または openSession(String user, String pwd) を使用します。
JAppletBase クラスは AppletBase クラスと同じですが、com.sun.java.swing.* をインポートし、Applet ではなく JApplet から派生します。
詳しくは、「Java クラスのコーディングのガイドライン」の章の「Java プログラムを実行する」を参照してください。
Lotus Domino オブジェクトを使用する Java アプレットのスケルトン
次のコードは、Lotus Domino オブジェクトを使用するアプレットの主要部分を示します。AppletBase はローカルアクセスとリモート (IIOP) アクセスを区別し、メインのアプレットコードで NotesThread を使用して、ローカルアクセスを実現します。アプレットがスレッドを作成する場合については、次のセクションを参照してください。
import lotus.domino.*; public class foo extends AppletBase { // User declarations public void notesAppletInit() { // User initialization code, for example, to set up a TextArea object } public void notesAppletStart() { Session s = null; try { // Can also do openSession(user, pwd) s = this.openSession(); if (s == null) { //not able to make the connection, warn user ta.append("Unable to create a session with the server"); return; } // User code for main activities } catch(Exception e) { e.printStackTrace(); } finally { try {this.closeSession(s);} catch(NotesException e) {e.printStackTrace();} } } }
スレッドを作成する (AWT ハンドラを含む) アプレット
アプレットが Lotus Domino オブジェクトを使用するスレッドを作成する場合は、Lotus Domino オブジェクトにローカルにアクセスするため、そのスレッドコードでは明示的に NotesThread を使用する必要があります。スレッドの作成には AWT イベントの処理が含まれます。アプレットの状態を判断するには、AppletBase.isLocal を使用します。
次のコードは、Lotus Domino オブジェクトを呼び出す前に、スレッドの先頭位置に記述する必要があります。
if (isNotesLocal()) { NotesThread.sinitThread(); }
次のコードは、Lotus Domino オブジェクトを呼び出した後に、スレッドの終了位置 (finally ブロックなど) に記述する必要があります。
if (isNotesLocal) { NotesThread.stermThread(); }
AppletBase の仕様
AppletBase クラスの仕様 (public メソッド) は次のとおりです。
public class AppletBase extends Applet implements DominoAppletBase { public Session getSession() throws NotesException; public Session getSession(String user, String pwd) throws NotesException; public Session openSession() throws NotesException; public Session openSession(String user, String pwd) throws NotesException; public void closeSession(Session session) throws NotesException; public final void init(); public void notesAppletInit(); public final void start(); public void notesAppletStart(); public final void stop(); public void notesAppletStop(); public final void destroy(); public void notesAppletDestroy(); public boolean isNotesLocal(); public NotesAppletContext getContext(Session session) throws NotesException }
例 関連項目