net.fortuna.ical4j.model.property

## Class Priority

- java.lang.Object
- - net.fortuna.ical4j.model.Content
  - - net.fortuna.ical4j.model.Property
    - - net.fortuna.ical4j.model.property.Priority

All Implemented Interfaces:
  Serializable

    public class Priority
    extends Property

$Id$ Created: [Apr 6, 2004] Defines a PRIORITY iCalendar component property.

         4.8.1.9 Priority

            Property Name: PRIORITY

            Purpose: The property defines the relative priority for a calendar
            component.

            Value Type: INTEGER

            Property Parameters: Non-standard property parameters can be
            specified on this property.

            Conformance: The property can be specified in a "VEVENT" or "VTODO"
            calendar component.

            Description: The priority is specified as an integer in the range
            zero to nine. A value of zero (US-ASCII decimal 48) specifies an
            undefined priority. A value of one (US-ASCII decimal 49) is the
            highest priority. A value of two (US-ASCII decimal 50) is the second
            highest priority. Subsequent numbers specify a decreasing ordinal
            priority. A value of nine (US-ASCII decimal 58) is the lowest
            priority.

            A CUA with a three-level priority scheme of "HIGH", "MEDIUM" and
            "LOW" is mapped into this property such that a property value in the
            range of one (US-ASCII decimal 49) to four (US-ASCII decimal 52)
            specifies "HIGH" priority. A value of five (US-ASCII decimal 53) is
            the normal or "MEDIUM" priority. A value in the range of six (US-
            ASCII decimal 54) to nine (US-ASCII decimal 58) is "LOW" priority.

            A CUA with a priority schema of "A1", "A2", "A3",
             "B1", "B2", ...,
            "C3" is mapped into this property such that a property value of one
            (US-ASCII decimal 49) specifies "A1", a property value of two (US-
            ASCII decimal 50) specifies "A2", a property value of three (US-ASCII
            decimal 51) specifies "A3", and so forth up to a property value of 9
            (US-ASCII decimal 58) specifies "C3".

            Other integer values are reserved for future use.

            Within a "VEVENT" calendar component, this property specifies a
            priority for the event. This property may be useful when more than
            one event is scheduled for a given time period.

            Within a "VTODO" calendar component, this property specified a
            priority for the to-do. This property is useful in prioritizing
            multiple action items for a given time period.

            Format Definition: The property is specified by the following
            notation:

              priority   = "PRIORITY" prioparam ":" privalue CRLF
              ;Default is zero

              prioparam  = *(";" xparam)

              privalue   = integer       ;Must be in the range [0..9]
                 ; All other values are reserved for future use

            The following is an example of a property with the highest priority:

              PRIORITY:1

            The following is an example of a property with a next highest
            priority:

              PRIORITY:2

            Example: The following is an example of a property with no priority.
            This is equivalent to not specifying the "PRIORITY" property:

              PRIORITY:0

Author:
  Ben Fortuna
See Also:
  Serialized Form

### Field Summary

Fields
`static Priority` `HIGH` High priority.
`static Priority` `LOW` Low priority.
`static Priority` `MEDIUM` Medium priority.
`static Priority` `UNDEFINED` Undefined priority.

### Fields inherited from class net.fortuna.ical4j.model.Property

`ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION`

### Constructor Summary

Constructors
Constructor and Description
`Priority()` Default constructor.
`Priority(int aLevel)`
`Priority(ParameterList aList, int aLevel)`
`Priority(ParameterList aList, String aValue)`

### Method Summary

Methods
`int` `getLevel()`
`String` `getValue()`
`void` `setLevel(int level)`
`void` `setValue(String aValue)` Sets the current value of the property.
`void` `validate()` Perform validation on a property.

### Methods inherited from class net.fortuna.ical4j.model.Property

`copy, equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### UNDEFINED

    public static final Priority UNDEFINED

Undefined priority.

#### HIGH

    public static final Priority HIGH

High priority.

#### MEDIUM

    public static final Priority MEDIUM

Medium priority.

#### LOW

    public static final Priority LOW

Low priority.

### Constructor Detail

#### Priority

    public Priority()

Default constructor.

#### Priority

    public Priority(ParameterList aList,
            String aValue)

Parameters:
  `aList` - a list of parameters for this component
  `aValue` - a value string for this component

#### Priority

    public Priority(int aLevel)

Parameters:
  `aLevel` - an int representation of a priority level

#### Priority

    public Priority(ParameterList aList,
            int aLevel)

Parameters:
  `aList` - a list of parameters for this component
  `aLevel` - an int representation of a priority level

### Method Detail

#### getLevel

    public final int getLevel()

Returns:
  Returns the level.

#### setValue

    public void setValue(String aValue)

Sets the current value of the property.

Specified by:
  `setValue` in class `Property`
Parameters:
  `aValue` - a string representation of the property value

#### getValue

    public final String getValue()

Specified by:
  `getValue` in class `Content`
Returns:
  the content value

#### setLevel

    public void setLevel(int level)

Parameters:
  `level` - The level to set.

#### validate

    public final void validate()
                        throws ValidationException

Perform validation on a property.

Specified by:
  `validate` in class `Property`
Throws:
  `ValidationException` - where the property is not in a valid state