Examples: DocUnID property

This agent displays value of the Subject item of the target document of the first or only doclink in the Body item of the current document.

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)) {
        String idzero = new String("00000000000000000000000000000000");
        RichTextDoclink rtlink = (RichTextDoclink)rtnav.getElement();
        String docunid = rtlink.getDocUnID();
        if (!docunid.equals(idzero)) {
          DbDirectory dbdir = session.getDbDirectory(
            rtlink.getServerHint());
          Database db = dbdir.openDatabaseByReplicaID(
            rtlink.getDBReplicaID());
          if (db.isOpen()) {
            try {
              Document doc2 = db.getDocumentByUNID(
                rtlink.getDocUnID());
              System.out.println(doc2.getItemValueString("Subject"));
            } catch(NotesException ne) {
              System.out.println("Could not open document");
           }
          }
          else
            System.out.println("No local replica");
        }
        else
          System.out.println("Link does not have doc component");
      }
      else
        System.out.println("No doclinks in Body");

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