org.restlet.data

## Class Form

- java.lang.Object
- - org.restlet.util.WrapperList<E>
  - - org.restlet.util.Series<Parameter>
    - - org.restlet.data.Form

All Implemented Interfaces:
  java.lang.Iterable<Parameter>, java.util.Collection<Parameter>, java.util.List<Parameter>

    public class Form
    extends Series<Parameter>

Form which is a specialized modifiable list of parameters.

Author:
  Jerome Louvel
See Also:
  User Guide - Getting parameter values

### Field Summary

### Fields inherited from class org.restlet.util.Series

`EMPTY_VALUE`

### Constructor Summary

Constructors
Constructor and Description
`Form()` Empty constructor.
`Form(int initialCapacity)` Constructor.
`Form(java.util.List<Parameter> delegate)` Constructor.
`Form(Representation webForm)` Constructor.
`Form(java.lang.String queryString)` Constructor.
`Form(java.lang.String parametersString, char separator)` Constructor.
`Form(java.lang.String queryString, CharacterSet characterSet)` Constructor.
`Form(java.lang.String parametersString, CharacterSet characterSet, char separator)` Constructor.

### Method Summary

Methods
`Parameter` `createEntry(java.lang.String name, java.lang.String value)` Creates a new entry.
`Series<Parameter>` `createSeries(java.util.List<Parameter> delegate)` Creates a new series.
`java.lang.String` `encode()` Encodes the form using the standard URI encoding mechanism and the UTF-8 character set.
`java.lang.String` `encode(CharacterSet characterSet)` URL encodes the form.
`java.lang.String` `encode(CharacterSet characterSet, char separator)` URL encodes the form.
`java.lang.String` `getMatrixString()` Formats the form as a matrix path string.
`java.lang.String` `getMatrixString(CharacterSet characterSet)` Formats the form as a query string.
`java.lang.String` `getQueryString()` Formats the form as a query string.
`java.lang.String` `getQueryString(CharacterSet characterSet)` Formats the form as a query string.
`Representation` `getWebRepresentation()` Returns the form as a Web representation (MediaType.APPLICATION_WWW_FORM).
`Representation` `getWebRepresentation(CharacterSet characterSet)` Returns the form as a Web representation (MediaType.APPLICATION_WWW_FORM).

### Methods inherited from class org.restlet.util.Series

`add, copyTo, getFirst, getFirst, getFirstValue, getFirstValue, getFirstValue, getFirstValue, getNames, getValues, getValues, getValuesArray, getValuesArray, getValuesMap, removeAll, removeAll, removeFirst, removeFirst, set, set, subList, subList, subList, unmodifiableSeries`

### Methods inherited from class org.restlet.util.WrapperList

`add, add, addAll, addAll, clear, contains, containsAll, equals, get, getDelegate, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, set, size, toArray, toArray, toString`

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

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

### Constructor Detail

#### Form

    public Form()

Empty constructor.

#### Form

    public Form(int initialCapacity)

Constructor.

Parameters:
  `initialCapacity` - The initial list capacity.

#### Form

    public Form(java.util.List<Parameter> delegate)

Constructor.

Parameters:
  `delegate` - The delegate list.

#### Form

    public Form(Representation webForm)

Constructor.

Parameters:
  `webForm` - The URL encoded Web form.
Throws:
  `java.io.IOException`

#### Form

    public Form(java.lang.String queryString)

Constructor. Uses UTF-8 as the character set for encoding non-ASCII characters.

Parameters:
  `queryString` - The Web form parameters as a string.
Throws:
  `java.io.IOException`

#### Form

    public Form(java.lang.String parametersString,
        char separator)

Constructor. Uses UTF-8 as the character set for encoding non-ASCII characters.

Parameters:
  `parametersString` - The parameters string to parse.
  `separator` - The separator character to append between parameters.
Throws:
  `java.io.IOException`

#### Form

    public Form(java.lang.String queryString,
        CharacterSet characterSet)

Constructor.

Parameters:
  `queryString` - The Web form parameters as a string.
  `characterSet` - The supported character encoding.
Throws:
  `java.io.IOException`

#### Form

    public Form(java.lang.String parametersString,
        CharacterSet characterSet,
        char separator)

Constructor.

Parameters:
  `parametersString` - The parameters string to parse.
  `characterSet` - The supported character encoding.
  `separator` - The separator character to append between parameters.
Throws:
  `java.io.IOException`

### Method Detail

#### createEntry

    public Parameter createEntry(java.lang.String name,
                        java.lang.String value)

Description copied from class: `Series`
Creates a new entry.

Specified by:
  `createEntry` in class `Series<Parameter>`
Parameters:
  `name` - The name of the entry.
  `value` - The value of the entry.
Returns:
  A new entry.

#### createSeries

    public Series<Parameter> createSeries(java.util.List<Parameter> delegate)

Description copied from class: `Series`
Creates a new series.

Specified by:
  `createSeries` in class `Series<Parameter>`
Parameters:
  `delegate` - Optional delegate series.
Returns:
  A new series.

#### encode

    public java.lang.String encode()
                            throws java.io.IOException

Encodes the form using the standard URI encoding mechanism and the UTF-8 character set.

Returns:
  The encoded form.
Throws:
  `java.io.IOException`

#### encode

    public java.lang.String encode(CharacterSet characterSet)
                            throws java.io.IOException

URL encodes the form. The '&' character is used as a separator.

Parameters:
  `characterSet` - The supported character encoding.
Returns:
  The encoded form.
Throws:
  `java.io.IOException`

#### encode

    public java.lang.String encode(CharacterSet characterSet,
                          char separator)
                            throws java.io.IOException

URL encodes the form.

Parameters:
  `characterSet` - The supported character encoding.
  `separator` - The separator character to append between parameters.
Returns:
  The encoded form.
Throws:
  `java.io.IOException`

#### getMatrixString

    public java.lang.String getMatrixString()

Formats the form as a matrix path string. Uses UTF-8 as the character set for encoding non-ASCII characters.

Returns:
  The form as a matrix string.
See Also:
  Matrix URIs by Tim Berners Lee

#### getMatrixString

    public java.lang.String getMatrixString(CharacterSet characterSet)

Formats the form as a query string.

Parameters:
  `characterSet` - The supported character encoding.
Returns:
  The form as a matrix string.
See Also:
  Matrix URIs by Tim Berners Lee

#### getQueryString

    public java.lang.String getQueryString()

Formats the form as a query string. Uses UTF-8 as the character set for encoding non-ASCII characters.

Returns:
  The form as a query string.

#### getQueryString

    public java.lang.String getQueryString(CharacterSet characterSet)

Formats the form as a query string.

Parameters:
  `characterSet` - The supported character encoding.
Returns:
  The form as a query string.

#### getWebRepresentation

    public Representation getWebRepresentation()

Returns the form as a Web representation (MediaType.APPLICATION_WWW_FORM). Uses UTF-8 as the character set for encoding non-ASCII characters.

Returns:
  The form as a Web representation.

#### getWebRepresentation

    public Representation getWebRepresentation(CharacterSet characterSet)

Returns the form as a Web representation (MediaType.APPLICATION_WWW_FORM).

Parameters:
  `characterSet` - The supported character encoding.
Returns:
  The form as a Web representation.