例: データベースの作成、圧縮、削除、複製を行う

  1. 次のエージェントは salesdisc.nsf という名のローカルデータベースを作成します。データベースは初期化されません。このデータベースは、プログラムでデータを保管するには便利ですが、ワークスペースからは使用できません。
    import lotus.domino.*;
    public class JavaAgent extends AgentBase {
      public void NotesMain() {
        try {
          Session session = getSession();
          AgentContext agentContext = 
               session.getAgentContext();
          // (Your code goes here) 
          DbDirectory dir = session.getDbDirectory(null);
          Database db = dir.createDatabase("salesdisc");
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }
  2. 次のエージェントは、テンプレートに基づく salesdisc.nsf という名のローカルデータベースを作成して、タイトルを変更します。createFromTemplate の 3 番目の引数は、設計の変更を継承します。
    import lotus.domino.*;
    public class JavaAgent extends AgentBase {
      public void NotesMain() {
        try {
          Session session = getSession();
          AgentContext agentContext = 
               session.getAgentContext();
          // (Your code goes here) 
          DbDirectory dir = session.getDbDirectory(null);
          Database template = dir.openDatabase(
               "discsw50.ntf");
          Database db = template.createFromTemplate
          (null, "salesdisc", true);
          db.setTitle("Sales Discussion Database");
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }
  3. 次のエージェントは、サーバー上にあるデータベースのローカルレプリカを作成して初期化します。
    import lotus.domino.*;
    public class JavaAgent extends AgentBase {
      public void NotesMain() {
        try {
          Session session = getSession();
          AgentContext agentContext = 
               session.getAgentContext();
          // (Your code goes here) 
          DbDirectory dir = session.getDbDirectory("market");
          Database basedb = dir.openDatabase("salesdisc");
          Database db = basedb.createReplica(null,
              "salesdisc");
          if (db.replicate("market"))
            System.out.println("Replication OK");
          else
            System.out.println("Replication errors");
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }
  4. 次のエージェントは、ローカルディレクトリに names.nsf のコピーを作成します。
    import lotus.domino.*;
    public class JavaAgent extends AgentBase {
      public void NotesMain() {
        try {
          Session session = getSession();
          AgentContext agentContext = 
               session.getAgentContext();
          // (Your code goes here) 
          DbDirectory dir = session.getDbDirectory(null);
          Database basedb = dir.openDatabase("names");
          Database db = basedb.createCopy(null,
               "namescpy");
          db.setTitle("Copy of names.nsf");
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }