JAVA/CORBA クラス


例:getModifiedDocuments メソッド
次のエージェントでは、エージェントを前回実行してから修正されたすべてのデータ文書が、現在のデータベースから取得されます。getModifiedDocuments が動作するたびに、データベース終了時刻がプロフィール文書に保存されます。

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();

// Check UntilTime in profile document
Document profile = db.getProfileDocument("Profile", null);
DateTime untilTime = null;
DocumentCollection dc = null;
if (profile.hasItem("UntilTime")) {
// Start processing from UntilTime
Vector untilTimeVector =
profile.getItemValueDateTimeArray("UntilTime");
untilTime = (DateTime)untilTimeVector.firstElement();
dc = db.getModifiedDocuments(
untilTime, Database.DBMOD_DOC_DATA);
}
else {
// First time through get all documents
dc = db.getModifiedDocuments(
null, Database.DBMOD_DOC_DATA);
}

if (dc.getCount() > 0) {
// Display LastModified and Subject from each document
Document doc = dc.getFirstDocument();
while(doc != null) {
System.out.println(
doc.getLastModified() + " " +
doc.getItemValueString("Subject"));
doc = dc.getNextDocument(doc);
}
}
else {
// If nothing modified since last time
if (profile.hasItem("UntilTime"))
System.out.println("No documents modified since " +
untilTime.getLocalTime());
else
System.out.println("No documents modified since beginning");
}

// Write UntilTime back to profile document
profile.replaceItemValue("UntilTime", dc.getUntilTime());
profile.save(true, true, true);

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

関連項目