AppletBase クラスおよび JAppletBase クラス (Java)

アプレットは、AppletBase または JAppletBase から派生して、その関数コードのエントリポイントとして notesAppletInit()、notesAppletStart()、notesAppletStop() を使用する必要があります。Session オブジェクトを取得するには、openSession() または openSession(String user, String pwd) を使用します。

JAppletBase クラスは AppletBase クラスと同じですが、com.sun.java.swing.* をインポートし、Applet ではなく JApplet から派生します。

詳しくは、「Java™ クラスのコーディングのガイドライン」の章の「Java プログラムを実行する」を参照してください。

Domino オブジェクトを使用する Java アプレットのスケルトン

次のコードは、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 ハンドラを含む) アプレット

アプレットが Domino オブジェクトを使用するスレッドを作成する場合は、Domino オブジェクトにローカルにアクセスするため、そのスレッドコードでは明示的に NotesThread を使用する必要があります。スレッドの作成には AWT イベントの処理が含まれます。アプレットの状態を判断するには、AppletBase.isLocal を使用します。

次のコードは、Domino オブジェクトを呼び出す前に、スレッドの先頭位置に記述する必要があります。

if (isNotesLocal())
{
  NotesThread.sinitThread();
}

次のコードは、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
}