例: getNthElement method

次のエージェントは、現在の文書または選択された最初の文書の Body アイテム内の全文書リンクのターゲットデータベースへのファイルパスを逆順に表示します。

import lotus.domino.*;

public class JavaAgent extends AgentBase {

  public void NotesMain() {

    try {
      Session session = getSession();
      AgentContext agentContext = session.getAgentContext();

      // (Your code goes here) 
      DocumentCollection dc = agentContext.getUnprocessedDocuments();
      Document doc = dc.getFirstDocument();
      RichTextItem body = (RichTextItem)doc.getFirstItem("Body");
      RichTextNavigator rtnav = body.createNavigator();
      if (rtnav.findFirstElement(RichTextItem.RTELEM_TYPE_DOCLINK)) {
        int count = 0;
        do {
          count++;
        } while (rtnav.findNextElement());
        for (int i = count; i > 0; i--) {
          RichTextDoclink rtlink = (RichTextDoclink)rtnav.getNthElement(
          RichTextItem.RTELEM_TYPE_DOCLINK, i);
          DbDirectory dbdir = session.getDbDirectory("");
          Database db = dbdir.openDatabaseByReplicaID(
            rtlink.getDBReplicaID());
          if (db.isOpen())
            System.out.println(i + ") " + db.getFilePath());
          else
            System.out.println("No local replica");
          db.recycle();
        }
      }
      else
        System.out.println("No doclinks in Body");
      
      /*
      
      if (rtlink != null) {
        rtlink = (RichTextDoclink)rtnav.getNextElement();
      }
      */

    } catch(Exception e) {
      e.printStackTrace();
    }
  }
}