com.openexchange.mail.mime
Class ParameterList

java.lang.Object
  extended by com.openexchange.mail.mime.ParameterList
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<ParameterList>

public final class ParameterList
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable, java.lang.Comparable<ParameterList>

ParameterList - Represents the parameter list of a parameterized header.

Author:
Thorben Betten
See Also:
Serialized Form

Constructor Summary
ParameterList()
          Initializes a new, empty parameter list.
ParameterList(java.lang.String parameterList)
          Initializes a new parameter list from specified parameter list's string representation.
 
Method Summary
 void addParameter(java.lang.String name, java.lang.String value)
          Adds specified value to given parameter name.
 void appendRFC2045String(java.lang.StringBuilder sb)
          Appends the RFC2045 style (ASCII-only) string representation of this parameter list including empty parameters.
 void appendRFC2045String(java.lang.StringBuilder sb, boolean skipEmptyParam)
          Appends the RFC2045 style (ASCII-only) string representation of this parameter list.
 java.lang.Object clone()
           
 int compareTo(ParameterList other)
           
 boolean containsParameter(java.lang.String name)
          Checks if parameter is present
 boolean equals(java.lang.Object obj)
           
 java.lang.String getParameter(java.lang.String name)
          Gets specified parameter's value
 java.util.Iterator<java.lang.String> getParameterNames()
          Gets all parameter names wrapped in an Iterator
 int hashCode()
           
 java.lang.String removeParameter(java.lang.String name)
          Removes specified parameter and returns its value
 void setParameter(java.lang.String name, java.lang.String value)
          Sets the given parameter.
 java.lang.String toString()
          Returns the unicode (mail-safe) string representation of this parameter list
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ParameterList

public ParameterList()
Initializes a new, empty parameter list.


ParameterList

public ParameterList(java.lang.String parameterList)
Initializes a new parameter list from specified parameter list's string representation.

Parameters:
parameterList - The parameter list's string representation
Method Detail

compareTo

public int compareTo(ParameterList other)
Specified by:
compareTo in interface java.lang.Comparable<ParameterList>

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

setParameter

public void setParameter(java.lang.String name,
                         java.lang.String value)
Sets the given parameter. Existing value is overwritten.

Parameters:
name - The sole parameter name
value - The parameter value

addParameter

public void addParameter(java.lang.String name,
                         java.lang.String value)
Adds specified value to given parameter name. If existing, the parameter is treated as a contiguous parameter according to RFC2231.

Parameters:
name - The parameter name
value - The parameter value to add

getParameter

public java.lang.String getParameter(java.lang.String name)
Gets specified parameter's value

Parameters:
name - The parameter name
Returns:
The parameter's value or null if not existing

removeParameter

public java.lang.String removeParameter(java.lang.String name)
Removes specified parameter and returns its value

Parameters:
name - The parameter name
Returns:
The parameter's value or null if not existing

containsParameter

public boolean containsParameter(java.lang.String name)
Checks if parameter is present

Parameters:
name - the parameter name
Returns:
true if parameter is present; otherwise false

getParameterNames

public java.util.Iterator<java.lang.String> getParameterNames()
Gets all parameter names wrapped in an Iterator

Returns:
All parameter names wrapped in an Iterator

appendRFC2045String

public void appendRFC2045String(java.lang.StringBuilder sb)
Appends the RFC2045 style (ASCII-only) string representation of this parameter list including empty parameters.

Parameters:
sb - The string builder to append to
See Also:
appendRFC2045String(StringBuilder, boolean)

appendRFC2045String

public void appendRFC2045String(java.lang.StringBuilder sb,
                                boolean skipEmptyParam)
Appends the RFC2045 style (ASCII-only) string representation of this parameter list.

Parameters:
sb - The string builder to append to
skipEmptyParam - true to skip empty parameters; otherwise false

toString

public java.lang.String toString()
Returns the unicode (mail-safe) string representation of this parameter list

Overrides:
toString in class java.lang.Object