JAVA/CORBA クラス


例:エージェントにアクセスする
1. 次のエージェントは、現在のデータベースの管理者に、データベース内の各エージェントの名前とコメントを列挙したメモを送信します。

import lotus.domino.*;
import java.util.Vector;
public class JavaAgent extends AgentBase {
 public void NotesMain() {
   try {
     Session session = getSession();
     AgentContext agentContext =
         session.getAgentContext();
     // (Your code goes here)
     Database db = agentContext.getCurrentDatabase();
     Document doc = db.createDocument();
     RichTextItem rti =
          doc.createRichTextItem("Body");
     Vector agents = db.getAgents();
     for (int i=0; i<agents.size(); i++)
     {
       Agent agent = (Agent)agents.elementAt(i);
       if (agent.isPublic() & agent.isEnabled())
       {
         rti.appendText(agent.getName());
         rti.addTab(2);
         rti.appendText(agent.getComment());
         rti.addNewLine(1);
       }
     }
     doc.appendItemValue("Subject",
     "Shared agent summary for " + db.getTitle());
     doc.send(false, db.getManagers());
   } catch(Exception e) {
     e.printStackTrace();
   }
 }
}

2. 次の例は、getParameterDocID メソッドを実行する他のエージェント経由で、runOnServer メソッドを使用して文書の NoteID を取得するエージェントを示します。

import lotus.domino.*;
import java.util.*;
public class JavaAgent extends AgentBase {
   public void NotesMain() {
       try {
       Session session = getSession();
       AgentContext agentContext = session.getAgentContext();
       // (Your code goes here)
        Database db = agentContext.getCurrentDatabase();
       Agent ag1 = agentContext.getCurrentAgent();
       Agent ag2 = db.getAgent("AgentGetParameterDocID");
       Document doc = db.createDocument();
       doc.replaceItemValue("AgentList", ag1.getName() +
           " performing agent.run(NoteID)");
       doc.save(true,true);
       String paramid = doc.getNoteID();
       ag2.runOnServer(paramid);
       doc.recycle();
       Document doc2 = db.getDocumentByID(paramid);
       Vector v = doc2.getItemValue("AgentList");
       String sAgList = (String)v.elementAt(0);
       System.out.println("Agent calling sequence:" +
               sAgList );
       doc2.remove(true);
        } catch(Exception e) {
       e.printStackTrace();
   }
   }
}

AgentGetParameterDocID

import lotus.domino.*;
import java.util.*;
public class JavaAgent extends AgentBase {
   public void NotesMain() {
   try {
       Session session = getSession();
       AgentContext agentContext = session.getAgentContext();
       Database db = agentContext.getCurrentDatabase();
       Agent ag1 = agentContext.getCurrentAgent();
       String paramid =  ag1.getParameterDocID();
       Document doc = db.getDocumentByID(paramid);
       Vector v = doc.getItemValue("AgentList");
       String sAgList = (String)v.elementAt(0);
       doc.replaceItemValue("AgentList", sAgList +
           " > " + ag1.getName());
       doc.save(true,true);
       } catch(Exception e) {
       e.printStackTrace();
   }
   }
}