net.fortuna.ical4j.model.component

Class VJournal


public class VJournal
extends CalendarComponent

$Id: VJournal.java,v 1.24 2009/01/07 10:02:30 fortuna Exp $ [Apr 5, 2004] Defines an iCalendar VJOURNAL component.
    4.6.3 Journal Component

       Component Name: VJOURNAL

       Purpose: Provide a grouping of component properties that describe a
       journal entry.

       Formal Definition: A "VJOURNAL" calendar component is defined by the
       following notation:

         journalc   = "BEGIN" ":" "VJOURNAL" CRLF
                      jourprop
                      "END" ":" "VJOURNAL" CRLF

         jourprop   = *(

                    ; the following are optional,
                    ; but MUST NOT occur more than once

                    class / created / description / dtstart / dtstamp /
                    last-mod / organizer / recurid / seq / status /
                    summary / uid / url /

                    ; the following are optional,
                    ; and MAY occur more than once

                    attach / attendee / categories / comment /
                    contact / exdate / exrule / related / rdate /
                    rrule / rstatus / x-prop

                    )
 
Example 1 - Creating a journal associated with an event:

 DtStart meetingDate = (DtStart) meeting.getProperties().getProperty(
         Property.DTSTART);

 VJournal minutes = new VJournal(meetingDate.getTime(),
         "Progress Meeting - Minutes");

 // add timezone information..
 TzId tzParam = meetingDate.getParameters().getParmaeter(Parameter.TZID);
 minutes.getProperties().getProperty(Property.DTSTART).getParameters().add(
         tzParam);

 // add description..
 minutes.getProperties().add(new Description("1. Agenda.., 2. Action Items.."));
 

Constructor Summary

VJournal()
Default constructor.
VJournal(Date start, String summary)
Constructs a new VJOURNAL instance associated with the specified time with the specified summary.
VJournal(PropertyList properties)
Constructor.

Method Summary

Clazz
getClassification()
Created
getCreated()
DtStamp
getDateStamp()
Description
getDescription()
LastModified
getLastModified()
Organizer
getOrganizer()
RecurrenceId
getRecurrenceId()
Sequence
getSequence()
DtStart
getStartDate()
Convenience method to pull the DTSTART out of the property list.
Status
getStatus()
Summary
getSummary()
Uid
getUid()
Returns the UID property of this component if available.
Url
getUrl()
void
validate(boolean recurse)
void
validateAdd()
 Component/Property  Presence
 ------------------- ----------------------------------------------
 METHOD               1      MUST be "ADD"
 VJOURNAL             1
     DESCRIPTION      1      Can be null.
void
validateCancel()
 Component/Property   Presence
 -------------------  ---------------------------------------------
 METHOD               1       MUST be "CANCEL"
 VJOURNAL             1+      All MUST have the same UID
     DTSTAMP          1
     ORGANIZER        1
     SEQUENCE         1
     UID              1       MUST be the UID of the original REQUEST
 
     ATTACH           0+
     ATTENDEE         0+
     CATEGORIES       0 or 1  This property MAY contain a list of values
     CLASS            0 or 1
     COMMENT          0 or 1
     CONTACT          0+
     CREATED          0 or 1
     DESCRIPTION      0 or 1
     DTSTART          0 or 1
     EXDATE           0+
     EXRULE           0+
     LAST-MODIFIED    0 or 1
     RDATE            0+
     RECURRENCE-ID    0 or 1  only if referring to an instance of a
                              recurring calendar component.
void
validateCounter()
void
validateDeclineCounter()
void
validatePublish()
 Component/Property  Presence
 ------------------- ----------------------------------------------
 METHOD               1       MUST be "PUBLISH"
 VJOURNAL             1+
     DESCRIPTION      1       Can be null.
void
validateRefresh()
void
validateReply()
void
validateRequest()

Constructor Details

VJournal

public VJournal()
Default constructor.

VJournal

public VJournal(Date start,
                String summary)
Constructs a new VJOURNAL instance associated with the specified time with the specified summary.
Parameters:
start - the date the journal entry is associated with
summary - the journal summary

VJournal

public VJournal(PropertyList properties)
Constructor.
Parameters:
properties - a list of properties

Method Details

getClassification

public final Clazz getClassification()
Returns:
the optional access classification property for a journal entry

getCreated

public final Created getCreated()
Returns:
the optional creation-time property for a journal entry

getDateStamp

public final DtStamp getDateStamp()
Returns:
the optional date-stamp property

getDescription

public final Description getDescription()
Returns:
the optional description property for a journal entry

getLastModified

public final LastModified getLastModified()
Returns:
the optional last-modified property for a journal entry

getOrganizer

public final Organizer getOrganizer()
Returns:
the optional organizer property for a journal entry

getRecurrenceId

public final RecurrenceId getRecurrenceId()
Returns:
the optional recurrence identifier property for a journal entry

getSequence

public final Sequence getSequence()
Returns:
the optional sequence number property for a journal entry

getStartDate

public final DtStart getStartDate()
Convenience method to pull the DTSTART out of the property list.
Returns:
The DtStart object representation of the start Date

getStatus

public final Status getStatus()
Returns:
the optional status property for a journal entry

getSummary

public final Summary getSummary()
Returns:
the optional summary property for a journal entry

getUid

public final Uid getUid()
Returns the UID property of this component if available.
Returns:
a Uid instance, or null if no UID property exists

getUrl

public final Url getUrl()
Returns:
the optional URL property for a journal entry

validate

public final void validate(boolean recurse)
            throws ValidationException

validateAdd

public void validateAdd()
            throws ValidationException
 Component/Property  Presence
 ------------------- ----------------------------------------------
 METHOD               1      MUST be "ADD"
 VJOURNAL             1
     DESCRIPTION      1      Can be null.
     DTSTAMP          1
     DTSTART          1
     ORGANIZER        1
     SEQUENCE         1      MUST be greater than 0
     UID              1      MUST match that of the original journal
 
     ATTACH           0+
     CATEGORIES       0 or 1 This property MAY contain a list of values
     CLASS            0 or 1
     COMMENT          0 or 1
     CONTACT          0+
     CREATED          0 or 1
     EXDATE           0+
     EXRULE           0+
     LAST-MODIFIED    0 or 1
     RDATE            0+
     RELATED-TO       0+
     RRULE            0+
     STATUS           0 or 1  MAY be one of DRAFT/FINAL/CANCELLED
     SUMMARY          0 or 1  Can be null
     URL              0 or 1
     X-PROPERTY       0+
 
     ATTENDEE         0
     RECURRENCE-ID    0
 
 VALARM               0+
 VTIMEZONE            0 or 1 MUST be present if any date/time refers to
                             a timezone
 X-COMPONENT          0+
 
 VEVENT               0
 VFREEBUSY            0
 VTODO                0
 

validateCancel

public void validateCancel()
            throws ValidationException
 Component/Property   Presence
 -------------------  ---------------------------------------------
 METHOD               1       MUST be "CANCEL"
 VJOURNAL             1+      All MUST have the same UID
     DTSTAMP          1
     ORGANIZER        1
     SEQUENCE         1
     UID              1       MUST be the UID of the original REQUEST
 
     ATTACH           0+
     ATTENDEE         0+
     CATEGORIES       0 or 1  This property MAY contain a list of values
     CLASS            0 or 1
     COMMENT          0 or 1
     CONTACT          0+
     CREATED          0 or 1
     DESCRIPTION      0 or 1
     DTSTART          0 or 1
     EXDATE           0+
     EXRULE           0+
     LAST-MODIFIED    0 or 1
     RDATE            0+
     RECURRENCE-ID    0 or 1  only if referring to an instance of a
                              recurring calendar component.  Otherwise
                              it MUST NOT be present.
     RELATED-TO       0+
     RRULE            0+
     STATUS           0 or 1  MAY be present, must be "CANCELLED" if
                              present
     SUMMARY          0 or 1
     URL              0 or 1
     X-PROPERTY       0+
 
     REQUEST-STATUS   0
 
 VTIMEZONE            0+      MUST be present if any date/time refers to
                              a timezone
 X-COMPONENT          0+
 VALARM               0
 VEVENT               0
 VFREEBUSY            0
 VTODO                0
 

validateCounter

public void validateCounter()
            throws ValidationException

validateDeclineCounter

public void validateDeclineCounter()
            throws ValidationException

validatePublish

public void validatePublish()
            throws ValidationException
 Component/Property  Presence
 ------------------- ----------------------------------------------
 METHOD               1       MUST be "PUBLISH"
 VJOURNAL             1+
     DESCRIPTION      1       Can be null.
     DTSTAMP          1
     DTSTART          1
     ORGANIZER        1
     UID              1
 
     ATTACH           0+
     CATEGORIES       0 or 1  This property MAY contain a list of values
     CLASS            0 or 1
     COMMENT          0 or 1
     CONTACT          0+
     CREATED          0 or 1
     EXDATE           0+
     EXRULE           0+
     LAST-MODIFIED    0 or 1
     RDATE            0+
     RECURRENCE-ID    0 or 1  MUST only if referring to an instance of a
                              recurring calendar component.  Otherwise
                              it MUST NOT be present.
     RELATED-TO       0+
     RRULE            0+
     SEQUENCE         0 or 1  MUST echo the original SEQUENCE number.
                              MUST be present if non-zero. MAY be
                              present if zero.
     STATUS           0 or 1  MAY be one of DRAFT/FINAL/CANCELLED
     SUMMARY          0 or 1  Can be null
     URL              0 or 1
     X-PROPERTY       0+
 
     ATTENDEE         0
 
 VALARM               0+
 VTIMEZONE            0+      MUST be present if any date/time refers to
                              a timezone
 X-COMPONENT          0+
 
 VEVENT               0
 VFREEBUSY            0
 VTODO                0
 

validateRefresh

public void validateRefresh()
            throws ValidationException

validateReply

public void validateReply()
            throws ValidationException

validateRequest

public void validateRequest()
            throws ValidationException