net.fortuna.ical4j.model

## Class PropertyList

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractList<E>
    - - java.util.ArrayList
      - - net.fortuna.ical4j.model.PropertyList

All Implemented Interfaces:
  Serializable, Cloneable, Iterable, Collection, List, RandomAccess

    public class PropertyList
    extends ArrayList
    implements Serializable

$Id$ [Apr 5, 2004] Defines a list of iCalendar properties.

Author:
  Ben Fortuna
See Also:
  Serialized Form

### Field Summary

### Fields inherited from class java.util.AbstractList

`modCount`

### Constructor Summary

Constructors
Constructor and Description
`PropertyList()` Default constructor.
`PropertyList(int initialCapacity)` Creates a new instance with the specified initial capacity.
`PropertyList(PropertyList properties)` Creates a deep copy of the specified property list.

### Method Summary

Methods
`boolean` `add(Object property)` Overrides superclass to throw an `IllegalArgumentException` where argument is not a `net.fortuna.ical4j.model.Property`.
`boolean` `add(Property property)` Add a property to the list.
`PropertyList` `getProperties(String name)` Returns a list of properties with the specified name.
`Property` `getProperty(String aName)` Returns the first property of specified name.
`boolean` `remove(Property property)` Remove a property from the list.
`String` `toString()`

### Methods inherited from class java.util.ArrayList

`add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeRange, retainAll, set, size, subList, toArray, toArray, trimToSize`

### Methods inherited from class java.util.AbstractList

`equals, hashCode`

### Methods inherited from class java.util.AbstractCollection

`containsAll`

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

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

### Methods inherited from interface java.util.List

`containsAll, equals, hashCode`

### Constructor Detail

#### PropertyList

    public PropertyList()

Default constructor.

#### PropertyList

    public PropertyList(int initialCapacity)

Creates a new instance with the specified initial capacity.

Parameters:
  `initialCapacity` - the initial capacity of the list

#### PropertyList

    public PropertyList(PropertyList properties)
                 throws ParseException,
                        IOException,
                        URISyntaxException

Creates a deep copy of the specified property list.

Parameters:
  `properties` - a property list
Throws:
  `ParseException` - where property data cannot be parsed
  `IOException` - where property data cannot be read
  `URISyntaxException` - where a property contains an invalid URI

### Method Detail

#### toString

    public final String toString()

Overrides:
  `toString` in class `AbstractCollection`

#### getProperty

    public final Property getProperty(String aName)

Returns the first property of specified name.

Parameters:
  `aName` - name of property to return
Returns:
  a property or null if no matching property found

#### getProperties

    public final PropertyList getProperties(String name)

Returns a list of properties with the specified name.

Parameters:
  `name` - name of properties to return
Returns:
  a property list

#### add

    public final boolean add(Property property)

Add a property to the list.

Parameters:
  `property` - the property to add
Returns:
  true
See Also:
  `List.add(java.lang.Object)`

#### add

    public final boolean add(Object property)

Overrides superclass to throw an `IllegalArgumentException` where argument is not a `net.fortuna.ical4j.model.Property`.

Specified by:
  `add` in interface `Collection`
Specified by:
  `add` in interface `List`
Overrides:
  `add` in class `ArrayList`
Parameters:
  `property` - a property to add
Returns:
  true if the property is added, otherwise false
See Also:
  `List.add(Object)`

#### remove

    public final boolean remove(Property property)

Remove a property from the list.

Parameters:
  `property` - the property to remove
Returns:
  true if the list contained the specified property
See Also:
  `List.remove(java.lang.Object)`