javax.mail.internet

## Class ParameterList

- java.lang.Object
- - javax.mail.internet.ParameterList

-     public class ParameterList
      extends Object

  This class holds MIME parameters (attribute-value pairs). The `mail.mime.encodeparameters` and `mail.mime.decodeparameters` System properties control whether encoded parameters, as specified by RFC 2231, are supported. By default, such encoded parameters are supported.

  Also, in the current implementation, setting the System property `mail.mime.decodeparameters.strict` to `"true"` will cause a `ParseException` to be thrown for errors detected while decoding encoded parameters. By default, if any decoding errors occur, the original (undecoded) string is used.

  The current implementation supports the System property `mail.mime.parameters.strict`, which if set to false when parsing a parameter list allows parameter values to contain whitespace and other special characters without being quoted; the parameter value ends at the next semicolon. If set to true (the default), parameter values are required to conform to the MIME specification and must be quoted if they contain whitespace or special characters.

  Author:
    John Mani, Bill Shannon

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParameterList()` No-arg Constructor.
    `ParameterList(String s)` Constructor that takes a parameter-list string.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `combineSegments()` Normal users of this class will use simple parameter names.
    `String` | `get(String name)` Returns the value of the specified parameter.
    `Enumeration` | `getNames()` Return an enumeration of the names of all parameters in this list.
    `void` | `remove(String name)` Removes the specified parameter from this ParameterList.
    `void` | `set(String name, String value)` Set a parameter.
    `void` | `set(String name, String value, String charset)` Set a parameter.
    `int` | `size()` Return the number of parameters in this list.
    `String` | `toString()` Convert this ParameterList into a MIME String.
    `String` | `toString(int used)` Convert this ParameterList into a MIME String.

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

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

- - ### Constructor Detail

    - #### ParameterList

          public ParameterList()

      No-arg Constructor.

    - #### ParameterList

          public ParameterList(String s)
                        throws ParseException

      Constructor that takes a parameter-list string. The String is parsed and the parameters are collected and stored internally. A ParseException is thrown if the parse fails. Note that an empty parameter-list string is valid and will be parsed into an empty ParameterList.
      Parameters:
        `s` - the parameter-list string.
      Throws:
        `ParseException` - if the parse fails.

  - ### Method Detail

    - #### combineSegments

          public void combineSegments()

      Normal users of this class will use simple parameter names. In some cases, for example, when processing IMAP protocol messages, individual segments of a multi-segment name (specified by RFC 2231) will be encountered and passed to the `set(java.lang.String, java.lang.String)` method. After all these segments are added to this ParameterList, they need to be combined to represent the logical parameter name and value. This method will combine all segments of multi-segment names.

      Normal users should never need to call this method.

      Since:
        JavaMail 1.5

    - #### size

          public int size()

      Return the number of parameters in this list.
      Returns:
        number of parameters.

    - #### get

          public String get(String name)

      Returns the value of the specified parameter. Note that parameter names are case-insensitive.
      Parameters:
        `name` - parameter name.
      Returns:
        Value of the parameter. Returns `null` if the parameter is not present.

    - #### set

          public void set(String name,
                 String value)

      Set a parameter. If this parameter already exists, it is replaced by this new value.
      Parameters:
        `name` - name of the parameter.
        `value` - value of the parameter.

    - #### set

          public void set(String name,
                 String value,
                 String charset)

      Set a parameter. If this parameter already exists, it is replaced by this new value. If the `mail.mime.encodeparameters` System property is true, and the parameter value is non-ASCII, it will be encoded with the specified charset, as specified by RFC 2231.
      Parameters:
        `name` - name of the parameter.
        `value` - value of the parameter.
        `charset` - charset of the parameter value.
      Since:
        JavaMail 1.4

    - #### remove

          public void remove(String name)

      Removes the specified parameter from this ParameterList. This method does nothing if the parameter is not present.
      Parameters:
        `name` - name of the parameter.

    - #### getNames

          public Enumeration getNames()

      Return an enumeration of the names of all parameters in this list.
      Returns:
        Enumeration of all parameter names in this list.

    - #### toString

          public String toString()

      Convert this ParameterList into a MIME String. If this is an empty list, an empty string is returned.
      Overrides:
        `toString` in class `Object`
      Returns:
        String

    - #### toString

          public String toString(int used)

      Convert this ParameterList into a MIME String. If this is an empty list, an empty string is returned. The 'used' parameter specifies the number of character positions already taken up in the field into which the resulting parameter list is to be inserted. It's used to determine where to fold the resulting parameter list.
      Parameters:
        `used` - number of character positions already used, in the field into which the parameter list is to be inserted.
      Returns:
        String

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.