例: IsAutoUpdate property

  1. 次のエージェントは、ビューに表示される文書の作成前と作成後に、カテゴリに分類されていないビューのエントリ数を表示します。新規文書については、ナビゲーションによってビューが自動的に更新されるため、この数は増えます。
    import lotus.domino.*;
    
    public class JavaAgent extends AgentBase {
    
      public void NotesMain() {
    
        try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();
    
          // (Your code goes here) 
          Database db = agentContext.getCurrentDatabase();
          View view = db.getView("All");
          System.out.println("Entries = " + view.getTopLevelEntryCount());
          Document tmpdoc;
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "Main Topic");
          doc.appendItemValue("Subject", "New document");
          doc.save();
          view.setAutoUpdate(true); /* not necessary except for IIOP */
          doc = view.getFirstDocument();
          while(doc != null) {
            tmpdoc = view.getNextDocument(doc);
            doc.recycle();
            doc = tmpdoc;
          }
          /* Entry count is incremented because the view was auto refreshed */
          System.out.println("Entries = " + view.getTopLevelEntryCount());
          
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }
  2. 次のエージェントは、ビューに表示される文書の作成前と作成後に、カテゴリに分類されていないビューのエントリ数を表示します。ビューが自動的に更新されないため、この数は同じになります。
    import lotus.domino.*;
    
    public class JavaAgent extends AgentBase {
    
      public void NotesMain() {
    
        try {
          Session session = getSession();
          AgentContext agentContext = session.getAgentContext();
    
          // (Your code goes here) 
          Database db = agentContext.getCurrentDatabase();
          View view = db.getView("All");
          System.out.println("Entries = " + view.getTopLevelEntryCount());
          Document tmpdoc;
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "Main Topic");
          doc.appendItemValue("Subject", "New document");
          doc.save();
          view.setAutoUpdate(false); /* default for IIOP */
          doc = view.getFirstDocument();
          while(doc != null) {
            tmpdoc = view.getNextDocument(doc);
            doc.recycle();
            doc = tmpdoc;
          }
          /* Entry count is incremented because the view was auto refreshed */
          System.out.println("Entries = " + view.getTopLevelEntryCount());
          
        } 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) 
          Database db = agentContext.getCurrentDatabase();
          View view = db.getView("By Category");
          // Turn off auto-update before proceeding
          view.setAutoUpdate(false);
          System.out.println
          ("Auto-update is " + view.isAutoUpdate());
          // Work in view
          // ...
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }