readRange (NotesCalendar - Java)

任意の時刻範囲のカレンダーエントリの要約を取得します。

定義位置

NotesCalendar

構文

String readRange(DateTime start, DateTime end)
	throws NotesException
String readRange(DateTime start, DateTime end, int skipcount, int maxread)
	throws NotesException
パラメータ 説明
start 範囲の開始時刻。
end 範囲の終了時刻。終了時刻が開始時刻より後の時刻になっていない場合は、例外が発生します。
skipcount 範囲の最初からスキップするエントリの数。 このパラメータを EntriesProcessed とともに使用することで、一連の呼び出しのエントリを読み取ることができます。
maxread 読み取るエントリの最大数。
戻り値 説明
String 開始日から終了日まで (両日を含む) のエントリに関する iCalendar 形式の要約。 この範囲内にエントリが存在しない場合は、例外が発生します。

使用法

繰り返し発生するエントリの場合、範囲内の各エントリは、 一意の反復識別子を持つ別個の VEVENT として出力されます。

各エントリには UID アイテムが含まれており、この値を使用して、対応する NotesCalendarEntry オブジェクトを取得できます。

日付範囲に含める対象は、会議の開始時刻によって決定されます。

戻り値の内容は、ReadRangeMask1ReadRangeMask2 に設定された値によって変更されます。

最後の 2 つのパラメータは、 EntriesProcessed とともに使用し、後続の操作でエントリを処理します。最後の 2 つのパラメータの使用例については、EntriesProcessed を参照してください。

このエージェントにより、現在のユーザーについて、今日と明日のカレンダー情報とスケジュール情報が取得されます。
import lotus.domino.*;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

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

          // (Your code goes here)
          // Get calendar for current user
          DbDirectory dbdir = session.getDbDirectory("");
          Database maildb = dbdir.openMailDatabase();
          NotesCalendar cal = session.getCalendar(maildb);
          DateTime dt1 = session.createDateTime("Today 08");
          DateTime dt2 = session.createDateTime("Tomorrow 17");
          // Create document to post results
          Database db = agentContext.getCurrentDatabase();
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "main");
          doc.appendItemValue("subject", "Today 08");
          RichTextItem body = doc.createRichTextItem("body");
          // Read range and put in body of document
          body.appendText(cal.readRange(dt1, dt2));
          doc.save(true, true);

      } catch(Exception e) {
          e.printStackTrace();
       }
   }
}
これはサンプル出力です。
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
BEGIN:VEVENT
DTSTART:20120403T183000Z
DTEND:20120403T190000Z
TRANSP:OPAQUE
RECURRENCE-ID:20120403T183000Z
DTSTAMP:20120403T141313Z
SEQUENCE:3
X-LOTUS-ORGANIZER:CN=Robert F Harwood/OU=Westford/O=IBM
CLASS:PUBLIC
SUMMARY:Domino Designer ID Team meeting
UID:F0A3694E4E7E20938525790F004D370A-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-NOTICETYPE:A
X-LOTUS-APPTTYPE:3
END:VEVENT
BEGIN:VEVENT
DTSTART:20120403T190000Z
DTEND:20120403T200000Z
TRANSP:OPAQUE
DTSTAMP:20120403T141313Z
SEQUENCE:0
X-LOTUS-ORGANIZER:CN=Craig Lordan/OU=Westford/O=IBM
X-LOTUS-ROOM:B2-B2104/LKG2/550 King St/MA-Littleton@IBMUS
CLASS:PUBLIC
SUMMARY:Translation packaging enablement session by Bruce Webster
LOCATION:USA: 888-555-5555 | passcode: 5555555
UID:C4FC689987507AC2852579CF00720024-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-NOTICETYPE:A
X-LOTUS-APPTTYPE:3
X-LOTUS-ONLINEMEETING-URL:http://www.webdialogs.com/
X-LOTUS-ONLINEMEETING-CONFID:w555
END:VEVENT
BEGIN:VEVENT
DTSTART:20120404T124500Z
DTEND:20120404T131500Z
TRANSP:OPAQUE
RECURRENCE-ID:20120404T124500Z
DTSTAMP:20120403T141313Z
SEQUENCE:0
X-LOTUS-ORGANIZER:CN=Maire Kehoe/OU=Ireland/O=IBM
X-LOTUS-ROOM:G07 - Meeting Room/Campus Building 6@IBMIE
CLASS:PUBLIC
SUMMARY:XPages scrum
LOCATION:Location: ¥nIRELAND Toll-Free
 :  1-800-555-555¥nIRELAND Caller Paid
 :  0-1-5555555¥nUSA Caller Paid 555-555-5555¥nUSA Toll-Free 888-555-55
 55¥nUnited Kingdom Caller Paid 0-55-55555555¥nUnited Kingdom Toll-Free
  0800-555-5555¥nParticipant Code:  5555555¥nFor other Countries
 : ¥nhttps
 ://www.teleconference.att.com/servlet/glbAccess?process=1&accessCode=5
 555555&accessNumber=015555555
UID:26CBC9B27E8660C1802579B3003DF9C0-Lotus_Notes_Generated
X-LOTUS-SUMMARYDATAONLY:TRUE
X-LOTUS-NOTICETYPE:A
X-LOTUS-APPTTYPE:3
END:VEVENT
END:VCALENDAR

クロスリファレンス

LotusScript® NotesCalendar クラスの ReadRange メソッド