read (NotesCalendarEntry - JavaScript)

Renders a calendar entry in iCalendar format.

Defined in

NotesCalendarEntry

Syntax

read() : string

read(recurid:string) : string

Parameter Description
recurid The recurrence identifier (RECURRENCE-ID item) for a recurring calendar event. The format of a recurrence identifier is a time in UTC format, for example, 20120913T160000Z.
Return value Description
string The calendar entry in iCalendar format.
Possible exception Value Text Description
NotesError.NOTES_ERR_INVALIDID 4757 Invalid ID The identifier for the NotesCalendarEntry object is not valid.
NotesError.NOTES_ERR_RECURID_NOTFOUND 4808 Recurrence-ID not found The recurrence identifier for the NotesCalendarEntry object is not valid.
NotesError.NOTES_ERR_IDNOTFOUND 4814 Identifier not found The recurrence identifier for the NotesCalendarEntry object does not identify an entry in the calendar, or the scope and recurid are missing for a recurring entry.

Usage

This method returns complete iCalendar data for the entry. For recurring entries, the data may contain multiple VEVENT entries.

Examples

This button event reads the calendar entry for a given UID, or its first instance in the case of a recurring entry.
try {

var uid:string = sessionScope.currentuid;
if (uid == null || uid == "") {
	requestScope.status = "No current UID";
	return;
}
var recurid:string = sessionScope.currentrecurid;
var dbdir:NotesDbDirectory = session.getDbDirectory("");
var maildb:NotesDatabase = dbdir.openMailDatabase();
var cal:NotesCalendar = session.getCalendar(maildb);
var cale:NotesCalendarEntry = cal.getEntry(uid);
if (recurid == null || recurid == "") {
	var calestr:string = cale.read();
} else {
	calestr = cale.read(recurid);
}
requestScope.status = calestr;

} catch(e) {
	requestScope.status = e.message;
}

LotusScript® syntax and examples

NotesCalendarEntry.Read(Optional Byval uid As String) As String
This agent reads the calendar entry for a given UID, or its first instance in the case of a recurring entry.
Sub Initialize
	Dim session As New NotesSession
	Dim maildb As New NotesDatabase("", "")
	Dim cal As NotesCalendar
	Dim cale As NotesCalendarEntry
	Dim uid As String
	Dim calestr As String
	Dim recurid As String
	Dim i As Integer
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim body As NotesRichTextItem
	uid = session.Getenvironmentstring("currentuid")
	If uid = "" Then
		MessageBox "No current UID",, "Error"
		Exit sub
	End If
	recurid = session.Getenvironmentstring("currentrecurid")
	Call maildb.Openmail()
	Set cal = session.getCalendar(maildb)
	Set cale = cal.Getentry(uid)
	If recurid = "" Then
		calestr = cale.Read()
	Else
		calestr = cale.Read(recurid)
	End If
	REM Write results to document
	Set db = session.Currentdatabase
	Set doc = db.Createdocument()
	doc.Form = "main"
	doc.Subject = "Calendar entry"
	Set body = doc.Createrichtextitem("body")
	body.Appendtext(calestr)
	Call doc.Save(true, true)
End Sub

Java syntax and examples

String NotesCalendarEntry.read()
String NotesCalendarEntry.read(String uid)
This agent reads the calendar entry for a given UID, or its first instance in the case of a recurring entry.
import lotus.domino.*;

public class JavaAgent extends AgentBase {

    public void NotesMain() {

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

          // (Your code goes here)
          String uid = session.getEnvironmentString("currentuid");
          String calestr = "";
          if (uid != null) {
              DbDirectory dbdir = session.getDbDirectory("");
              Database maildb = dbdir.openMailDatabase();
              NotesCalendar cal = session.getCalendar(maildb);
              NotesCalendarEntry cale = cal.getEntry(uid);
              String recurid = session.getEnvironmentString("currentrecurid");
              if (recurid == null || recurid.length() == 0) {
            	  calestr = cale.read();
              } else {
            	  calestr = cale.read(recurid);
              }
          } else {
        	  calestr = "Null UID";
          }
          // Write result to document
          Database db = agentContext.getCurrentDatabase();
          Document doc = db.createDocument();
          doc.appendItemValue("Form", "main");
          doc.appendItemValue("subject", "Calendar entry");
          RichTextItem body = doc.createRichTextItem("body");
          body.appendText(calestr);
          doc.save(true, true);

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