JAVA/CORBA クラス


AppletBase クラスと JAppletBase クラス

アプレットは、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
}


関連項目