net.fortuna.ical4j.model

## Class ParameterList

- java.lang.Object
- - net.fortuna.ical4j.model.ParameterList

All Implemented Interfaces:
  Serializable

    public class ParameterList
    extends Object
    implements Serializable

$Id$ [Apr 5, 2004] Defines a list of iCalendar parameters. A parameter list may be specified as unmodifiable at instantiation - useful for constant properties that you don't want modified.

Author:
  Ben Fortuna
See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`ParameterList()` Default constructor.
`ParameterList(boolean unmodifiable)` Constructor.
`ParameterList(ParameterList list, boolean unmodifiable)` Creates a deep copy of the specified parameter list.

### Method Summary

Methods
`boolean` `add(Parameter parameter)` Add a parameter to the list.
`boolean` `equals(Object arg0)`
`Parameter` `getParameter(String aName)` Returns the first parameter with the specified name.
`ParameterList` `getParameters(String name)` Returns a list of parameters with the specified name.
`int` `hashCode()`
`boolean` `isEmpty()`
`Iterator` `iterator()`
`boolean` `remove(Parameter parameter)` Remove a parameter from the list.
`void` `removeAll(String paramName)` Remove all parameters with the specified name.
`boolean` `replace(Parameter parameter)` Replace any parameters of the same type with the one specified.
`int` `size()`
`String` `toString()`

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

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

### Constructor Detail

#### ParameterList

    public ParameterList()

Default constructor. Creates a modifiable parameter list.

#### ParameterList

    public ParameterList(boolean unmodifiable)

Constructor.

Parameters:
  `unmodifiable` - indicates whether the list should be mutable

#### ParameterList

    public ParameterList(ParameterList list,
                 boolean unmodifiable)
                  throws URISyntaxException

Creates a deep copy of the specified parameter list. That is, copies of all parameters in the specified list are added to this list.

Parameters:
  `list` - a parameter list to copy parameters from
  `unmodifiable` - indicates whether the list should be mutable
Throws:
  `URISyntaxException` - where a parameter in the list specifies an invalid URI value

### Method Detail

#### toString

    public final String toString()

Overrides:
  `toString` in class `Object`

#### getParameter

    public final Parameter getParameter(String aName)

Returns the first parameter with the specified name.

Parameters:
  `aName` - name of the parameter
Returns:
  the first matching parameter or null if no matching parameters

#### getParameters

    public final ParameterList getParameters(String name)

Returns a list of parameters with the specified name.

Parameters:
  `name` - name of parameters to return
Returns:
  a parameter list

#### add

    public final boolean add(Parameter parameter)

Add a parameter to the list. Note that this method will not remove existing parameters of the same type. To achieve this use {

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

#### replace

    public final boolean replace(Parameter parameter)

Replace any parameters of the same type with the one specified.

Parameters:
  `parameter` - parameter to add to this list in place of all others with the same name
Returns:
  true if successfully added to this list

#### isEmpty

    public final boolean isEmpty()

Returns:
  boolean indicates if the list is empty
See Also:
  `List.isEmpty()`

#### iterator

    public final Iterator iterator()

Returns:
  an iterator
See Also:
  `List.iterator()`

#### remove

    public final boolean remove(Parameter parameter)

Remove a parameter from the list.

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

#### removeAll

    public final void removeAll(String paramName)

Remove all parameters with the specified name.

Parameters:
  `paramName` - the name of parameters to remove

#### size

    public final int size()

Returns:
  the number of parameters in the list
See Also:
  `List.size()`

#### equals

    public final boolean equals(Object arg0)

Overrides:
  `equals` in class `Object`

#### hashCode

    public final int hashCode()

Overrides:
  `hashCode` in class `Object`