net.fortuna.ical4j.model
Class Property

java.lang.Object
  extended bynet.fortuna.ical4j.model.Content
      extended bynet.fortuna.ical4j.model.Property
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
Action, Attach, Attendee, CalScale, Categories, Clazz, Comment, Contact, DateListProperty, DateProperty, Description, Duration, ExRule, FreeBusy, Geo, Location, Method, Organizer, PercentComplete, Priority, ProdId, RelatedTo, Repeat, RequestStatus, Resources, RRule, Sequence, Status, Summary, Transp, TzId, TzName, TzOffsetFrom, TzOffsetTo, TzUrl, Uid, Url, Version, XProperty

public abstract class Property
extends Content

Defines an iCalendar property. Subclasses of this class provide additional validation and typed values for specific iCalendar properties.

Author:
Ben Fortuna
See Also:
Serialized Form

Field Summary
static String ACTION
           
static String ATTACH
          the following are optional, and MAY occur more than once.
static String ATTENDEE
           
static String CALSCALE
          'calscale' and 'method' are optional, but MUST NOT occur more than once.
static String CATEGORIES
           
static String CLASS
          the following are optional, but MUST NOT occur more than once.
static String COMMENT
           
static String COMPLETED
           
static String CONTACT
           
static String CREATED
           
static String DESCRIPTION
           
static String DTEND
          either 'dtend' or 'duration' may appear in a 'eventprop', but 'dtend' and 'duration' MUST NOT occur in the same 'eventprop'.
static String DTSTAMP
           
static String DTSTART
           
static String DUE
           
static String DURATION
           
static String EXDATE
           
static String EXPERIMENTAL_PREFIX
           
static String EXRULE
           
static String FREEBUSY
           
static String GEO
           
static String LAST_MODIFIED
           
static String LOCATION
           
static String METHOD
           
static String ORGANIZER
           
static String PERCENT_COMPLETE
           
static String PRIORITY
           
static String PRODID
          'prodid' and 'version' are both REQUIRED, but MUST NOT occur more than once.
static String RDATE
           
static String RECURRENCE_ID
           
static String RELATED_TO
           
static String REPEAT
           
static String REQUEST_STATUS
           
static String RESOURCES
           
static String RRULE
           
static String SEQUENCE
           
static String STATUS
           
static String SUMMARY
           
static String TRANSP
           
static String TRIGGER
           
static String TZID
           
static String TZNAME
           
static String TZOFFSETFROM
           
static String TZOFFSETTO
           
static String TZURL
           
static String UID
           
static String URL
           
static String VERSION
           
 
Constructor Summary
protected Property(Property property)
          Creates a deep copy of the specified property.
protected Property(String aName)
          Constructor.
protected Property(String aName, ParameterList aList)
          Constructor made protected to enforce the use of PropertyFactory for property instantiation.
 
Method Summary
 boolean equals(Object arg0)
          Two properties are equal if and only if their name, value and parameter list are equal.
 String getName()
           
 Parameter getParameter(String name)
          Convenience method for retrieving a single parameter.
 ParameterList getParameters()
           
 ParameterList getParameters(String name)
          Convenience method for retrieving a list of named parameters.
abstract  String getValue()
           
 int hashCode()
           
 boolean isCalendarProperty()
          Indicates whether this property is a calendar property.
 boolean isComponentProperty()
          Indicates whether this property is a component property.
abstract  void setValue(String aValue)
          Sets the current value of the property.
 String toString()
           
abstract  void validate()
          Perform validation on a property.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

PRODID

public static final String PRODID
'prodid' and 'version' are both REQUIRED, but MUST NOT occur more than once.

See Also:
Constant Field Values

VERSION

public static final String VERSION
See Also:
Constant Field Values

CALSCALE

public static final String CALSCALE
'calscale' and 'method' are optional, but MUST NOT occur more than once.

See Also:
Constant Field Values

METHOD

public static final String METHOD
See Also:
Constant Field Values

CLASS

public static final String CLASS
the following are optional, but MUST NOT occur more than once.

See Also:
Constant Field Values

CREATED

public static final String CREATED
See Also:
Constant Field Values

DESCRIPTION

public static final String DESCRIPTION
See Also:
Constant Field Values

DTSTART

public static final String DTSTART
See Also:
Constant Field Values

GEO

public static final String GEO
See Also:
Constant Field Values

LAST_MODIFIED

public static final String LAST_MODIFIED
See Also:
Constant Field Values

LOCATION

public static final String LOCATION
See Also:
Constant Field Values

ORGANIZER

public static final String ORGANIZER
See Also:
Constant Field Values

PERCENT_COMPLETE

public static final String PERCENT_COMPLETE
See Also:
Constant Field Values

PRIORITY

public static final String PRIORITY
See Also:
Constant Field Values

DTSTAMP

public static final String DTSTAMP
See Also:
Constant Field Values

SEQUENCE

public static final String SEQUENCE
See Also:
Constant Field Values

STATUS

public static final String STATUS
See Also:
Constant Field Values

SUMMARY

public static final String SUMMARY
See Also:
Constant Field Values

TRANSP

public static final String TRANSP
See Also:
Constant Field Values

UID

public static final String UID
See Also:
Constant Field Values

URL

public static final String URL
See Also:
Constant Field Values

RECURRENCE_ID

public static final String RECURRENCE_ID
See Also:
Constant Field Values

COMPLETED

public static final String COMPLETED
See Also:
Constant Field Values

DUE

public static final String DUE
See Also:
Constant Field Values

FREEBUSY

public static final String FREEBUSY
See Also:
Constant Field Values

TZID

public static final String TZID
See Also:
Constant Field Values

TZNAME

public static final String TZNAME
See Also:
Constant Field Values

TZOFFSETFROM

public static final String TZOFFSETFROM
See Also:
Constant Field Values

TZOFFSETTO

public static final String TZOFFSETTO
See Also:
Constant Field Values

TZURL

public static final String TZURL
See Also:
Constant Field Values

ACTION

public static final String ACTION
See Also:
Constant Field Values

REPEAT

public static final String REPEAT
See Also:
Constant Field Values

TRIGGER

public static final String TRIGGER
See Also:
Constant Field Values

REQUEST_STATUS

public static final String REQUEST_STATUS
See Also:
Constant Field Values

DTEND

public static final String DTEND
either 'dtend' or 'duration' may appear in a 'eventprop', but 'dtend' and 'duration' MUST NOT occur in the same 'eventprop'.

See Also:
Constant Field Values

DURATION

public static final String DURATION
See Also:
Constant Field Values

ATTACH

public static final String ATTACH
the following are optional, and MAY occur more than once.

See Also:
Constant Field Values

ATTENDEE

public static final String ATTENDEE
See Also:
Constant Field Values

CATEGORIES

public static final String CATEGORIES
See Also:
Constant Field Values

COMMENT

public static final String COMMENT
See Also:
Constant Field Values

CONTACT

public static final String CONTACT
See Also:
Constant Field Values

EXDATE

public static final String EXDATE
See Also:
Constant Field Values

EXRULE

public static final String EXRULE
See Also:
Constant Field Values

RELATED_TO

public static final String RELATED_TO
See Also:
Constant Field Values

RESOURCES

public static final String RESOURCES
See Also:
Constant Field Values

RDATE

public static final String RDATE
See Also:
Constant Field Values

RRULE

public static final String RRULE
See Also:
Constant Field Values

EXPERIMENTAL_PREFIX

public static final String EXPERIMENTAL_PREFIX
See Also:
Constant Field Values
Constructor Detail

Property

protected Property(String aName)
Constructor.

Parameters:
aName - property name

Property

protected Property(String aName,
                   ParameterList aList)
Constructor made protected to enforce the use of PropertyFactory for property instantiation.

Parameters:
aName - property name
aList - a list of parameters

Property

protected Property(Property property)
            throws IOException,
                   URISyntaxException,
                   ParseException
Creates a deep copy of the specified property. That is, the name, parameter list, and value are duplicated from the specified property. This constructor should only be called from sub-classes to ensure type integrity is maintained.

Parameters:
property - a property to copy
Throws:
URISyntaxException
IOException
ParseException
Method Detail

toString

public final String toString()
See Also:
Object.toString()

isCalendarProperty

public boolean isCalendarProperty()
Indicates whether this property is a calendar property.

Returns:
boolean

isComponentProperty

public final boolean isComponentProperty()
Indicates whether this property is a component property.

Returns:
boolean

getName

public final String getName()
Returns:
Returns the name.

getParameters

public final ParameterList getParameters()
Returns:
Returns the parameters.

getParameters

public final ParameterList getParameters(String name)
Convenience method for retrieving a list of named parameters.

Parameters:
name - name of parameters to retrieve
Returns:
a parameter list containing only parameters with the specified name

getParameter

public final Parameter getParameter(String name)
Convenience method for retrieving a single parameter.

Parameters:
name - name of the parameter to retrieve
Returns:
the first parameter from the parameter list with the specified name

setValue

public abstract void setValue(String aValue)
                       throws IOException,
                              URISyntaxException,
                              ParseException
Sets the current value of the property.

Parameters:
aValue - a string representation of the property value
Throws:
IOException - possibly thrown by setting the value of certain properties
URISyntaxException - possibly thrown by setting the value of certain properties
ParseException - possibly thrown by setting the value of certain properties

getValue

public abstract String getValue()
Returns:
Returns the value.

validate

public abstract void validate()
                       throws ValidationException
Perform validation on a property.

Throws:
ValidationException - where the property is not in a valid state

equals

public final boolean equals(Object arg0)
Two properties are equal if and only if their name, value and parameter list are equal.

See Also:
Object.equals(java.lang.Object)

hashCode

public final int hashCode()