".
- Author:
- Bill Shannon, John Mani
- See Also:
- Serialized Form
| Field Summary | 
| protected  java.lang.String | address
 | 
| protected  java.lang.String | encodedPersonalThe RFC 2047 encoded version of the personal name.
 | 
| protected  java.lang.String | personalThe personal name.
 | 
 
| Constructor Summary | 
| InternetAddress()Default constructor.
 | 
| InternetAddress(java.lang.String address)Constructor.
 | 
| InternetAddress(java.lang.String address,
                boolean strict)Parse the given string and create an InternetAddress.
 | 
| InternetAddress(java.lang.String address,
                java.lang.String personal)Construct an InternetAddress given the address and personal name.
 | 
| InternetAddress(java.lang.String address,
                java.lang.String personal,
                java.lang.String charset)Construct an InternetAddress given the address and personal name.
 | 
 
| Method Summary | 
|  java.lang.Object | clone()Return a copy of this InternetAddress object.
 | 
|  boolean | equals(java.lang.Object a)The equality operator.
 | 
|  java.lang.String | getAddress()Get the email address.
 | 
|  InternetAddress[] | getGroup(boolean strict)Return the members of a group address.
 | 
| static InternetAddress | getLocalAddress(Session session)Return an InternetAddress object representing the current user.
 | 
|  java.lang.String | getPersonal()Get the personal name.
 | 
|  java.lang.String | getType()Return the type of this address.
 | 
|  int | hashCode()Compute a hash code for the address.
 | 
|  boolean | isGroup()Indicates whether this address is an RFC 822 group address.
 | 
| static InternetAddress[] | parse(java.lang.String addresslist)Parse the given comma separated sequence of addresses into
 InternetAddress objects.
 | 
| static InternetAddress[] | parse(java.lang.String addresslist,
      boolean strict)Parse the given sequence of addresses into InternetAddress
 objects.
 | 
| static InternetAddress[] | parseHeader(java.lang.String addresslist,
            boolean strict)Parse the given sequence of addresses into InternetAddress
 objects.
 | 
|  void | setAddress(java.lang.String address)Set the email address.
 | 
|  void | setPersonal(java.lang.String name)Set the personal name.
 | 
|  void | setPersonal(java.lang.String name,
            java.lang.String charset)Set the personal name.
 | 
|  java.lang.String | toString()Convert this address into a RFC 822 / RFC 2047 encoded address.
 | 
| static java.lang.String | toString(Address[] addresses)Convert the given array of InternetAddress objects into
 a comma separated sequence of address strings.
 | 
| static java.lang.String | toString(Address[] addresses,
         int used)Convert the given array of InternetAddress objects into
 a comma separated sequence of address strings.
 | 
|  java.lang.String | toUnicodeString()Returns a properly formatted address (RFC 822 syntax) of
 Unicode characters.
 | 
|  void | validate()Validate that this address conforms to the syntax rules of
 RFC 822.
 | 
 
| Methods inherited from class java.lang.Object | 
| finalize, getClass, notify, notifyAll, wait, wait, wait | 
 
address
protected java.lang.String address
personal
protected java.lang.String personal
- The personal name.
 
 
encodedPersonal
protected java.lang.String encodedPersonal
- The RFC 2047 encoded version of the personal name. 
 This field and the personalfield track each
 other, so if a subclass sets one of these fields directly, it
 should set the other tonull, so that it is
 suitably recomputed.
 
 
 
InternetAddress
public InternetAddress()
- Default constructor.
 
InternetAddress
public InternetAddress(java.lang.String address)
                throws AddressException
- Constructor. 
 Parse the given string and create an InternetAddress.
 See the parsemethod for details of the parsing.
 The address is parsed using "strict" parsing.
 
 
- Parameters:
- address- the address in RFC822 format
- Throws:
- AddressException- if the parse failed
InternetAddress
public InternetAddress(java.lang.String address,
                       boolean strict)
                throws AddressException
- Parse the given string and create an InternetAddress.
 If strictis false, the detailed syntax of the
 address isn't checked.
 
- Parameters:
- address- the address in RFC822 format
- strict- enforce RFC822 syntax
- Throws:
- AddressException- if the parse failed
- Since:
- JavaMail 1.3
InternetAddress
public InternetAddress(java.lang.String address,
                       java.lang.String personal)
                throws java.io.UnsupportedEncodingException
- Construct an InternetAddress given the address and personal name.
 The address is assumed to be a syntactically valid RFC822 address.
 
- Parameters:
- address- the address in RFC822 format
- personal- the personal name
InternetAddress
public InternetAddress(java.lang.String address,
                       java.lang.String personal,
                       java.lang.String charset)
                throws java.io.UnsupportedEncodingException
- Construct an InternetAddress given the address and personal name.
 The address is assumed to be a syntactically valid RFC822 address.
 
- Parameters:
- address- the address in RFC822 format
- personal- the personal name
- charset- the MIME charset for the name
clone
public java.lang.Object clone()
- Return a copy of this InternetAddress object.
 
- 
 
- 
- Since:
- JavaMail 1.2
 
getType
public java.lang.String getType()
- Return the type of this address. The type of an InternetAddress
 is "rfc822".
 
- 
- Specified by:
- getTypein class- Address
 
- 
- Returns:
- address type
- See Also:
- InternetAddress
 
setAddress
public void setAddress(java.lang.String address)
- Set the email address.
 
- 
 
- 
- Parameters:
- address- email address
 
setPersonal
public void setPersonal(java.lang.String name,
                        java.lang.String charset)
                 throws java.io.UnsupportedEncodingException
- Set the personal name. If the name contains non US-ASCII
 characters, then the name will be encoded using the specified
 charset as per RFC 2047. If the name contains only US-ASCII
 characters, no encoding is done and the name is used as is. 
 
 
- 
 
- 
- Parameters:
- name- personal name
- charset- MIME charset to be used to encode the name as 
			per RFC 2047
- Throws:
- java.io.UnsupportedEncodingException- if the charset encoding
		  fails.
- See Also:
- setPersonal(String)
 
setPersonal
public void setPersonal(java.lang.String name)
                 throws java.io.UnsupportedEncodingException
- Set the personal name. If the name contains non US-ASCII
 characters, then the name will be encoded using the platform's 
 default charset. If the name contains only US-ASCII characters,
 no encoding is done and the name is used as is. 
 
 
- 
 
- 
- Parameters:
- name- personal name
- Throws:
- java.io.UnsupportedEncodingException- if the charset encoding
		  fails.
- See Also:
- setPersonal(String name, String charset)
 
getAddress
public java.lang.String getAddress()
- Get the email address.
 
- 
 
- 
- Returns:
- email address
 
getPersonal
public java.lang.String getPersonal()
- Get the personal name. If the name is encoded as per RFC 2047,
 it is decoded and converted into Unicode. If the decoding or
 conversion fails, the raw data is returned as is.
 
- 
 
- 
- Returns:
- personal name
 
toString
public java.lang.String toString()
- Convert this address into a RFC 822 / RFC 2047 encoded address.
 The resulting string contains only US-ASCII characters, and
 hence is mail-safe.
 
- 
- Specified by:
- toStringin class- Address
 
- 
- Returns:
- possibly encoded address string
 
toUnicodeString
public java.lang.String toUnicodeString()
- Returns a properly formatted address (RFC 822 syntax) of
 Unicode characters.
 
- 
 
- 
- Returns:
- Unicode address string
- Since:
- JavaMail 1.2
 
equals
public boolean equals(java.lang.Object a)
- The equality operator.
 
- 
- Specified by:
- equalsin class- Address
 
- 
- Parameters:
- a- Address object
 
hashCode
public int hashCode()
- Compute a hash code for the address.
 
- 
 
- 
 
toString
public static java.lang.String toString(Address[] addresses)
- Convert the given array of InternetAddress objects into
 a comma separated sequence of address strings. The
 resulting string contains only US-ASCII characters, and
 hence is mail-safe. 
 
 
- 
 
- 
- Parameters:
- addresses- array of InternetAddress objects
- Returns:
- comma separated string of addresses
- Throws:
- ClassCastException,- if any address object in the 
			given array is not an InternetAddress object. Note
			that this is a RuntimeException.
 
toString
public static java.lang.String toString(Address[] addresses,
                                        int used)
- Convert the given array of InternetAddress objects into
 a comma separated sequence of address strings. The
 resulting string contains only US-ASCII characters, and
 hence is mail-safe. 
 The 'used' parameter specifies the number of character positions
 already taken up in the field into which the resulting address 
 sequence string is to be inserted. It is used to determine the 
 line-break positions in the resulting address sequence string.
 
 
- 
 
- 
- Parameters:
- addresses- array of InternetAddress objects
- used- number of character positions already used, in
			the field into which the address string is to
			be inserted.
- Returns:
- comma separated string of addresses
- Throws:
- ClassCastException,- if any address object in the 
			given array is not an InternetAddress object. Note
			that this is a RuntimeException.
 
getLocalAddress
public static InternetAddress getLocalAddress(Session session)
- Return an InternetAddress object representing the current user.
 The entire email address may be specified in the "mail.from"
 property.  If not set, the "mail.user" and "mail.host" properties
 are tried.  If those are not set, the "user.name" property and
 InetAddress.getLocalHostmethod are tried.
 Security exceptions that may occur while accessing this information
 are ignored.  If it is not possible to determine an email address,
 null is returned.
 
- 
 
- 
- Parameters:
- session- Session object used for property lookup
- Returns:
- current user's email address
 
parse
public static InternetAddress[] parse(java.lang.String addresslist)
                               throws AddressException
- Parse the given comma separated sequence of addresses into
 InternetAddress objects.  Addresses must follow RFC822 syntax.
 
- 
 
- 
- Parameters:
- addresslist- comma separated address strings
- Returns:
- array of InternetAddress objects
- Throws:
- AddressException- if the parse failed
 
parse
public static InternetAddress[] parse(java.lang.String addresslist,
                                      boolean strict)
                               throws AddressException
- Parse the given sequence of addresses into InternetAddress
 objects.  If strictis false, simple email addresses
 separated by spaces are also allowed.  Ifstrictis
 true, many (but not all) of the RFC822 syntax rules are enforced.
 In particular, even ifstrictis true, addresses
 composed of simple names (with no "@domain" part) are allowed.
 Such "illegal" addresses are not uncommon in real messages.
 Non-strict parsing is typically used when parsing a list of
 mail addresses entered by a human.  Strict parsing is typically
 used when parsing address headers in mail messages.
 
 
- 
 
- 
- Parameters:
- addresslist- comma separated address strings
- strict- enforce RFC822 syntax
- Returns:
- array of InternetAddress objects
- Throws:
- AddressException- if the parse failed
 
parseHeader
public static InternetAddress[] parseHeader(java.lang.String addresslist,
                                            boolean strict)
                                     throws AddressException
- Parse the given sequence of addresses into InternetAddress
 objects.  If strictis false, the full syntax rules for
 individual addresses are not enforced.  Ifstrictis
 true, many (but not all) of the RFC822 syntax rules are enforced.
 To better support the range of "invalid" addresses seen in real
 messages, this method enforces fewer syntax rules than the
 parsemethod when the strict flag is false
 and enforces more rules when the strict flag is true.  If the
 strict flag is false and the parse is successful in separating out an
 email address or addresses, the syntax of the addresses themselves
 is not checked.
 
 
- 
 
- 
- Parameters:
- addresslist- comma separated address strings
- strict- enforce RFC822 syntax
- Returns:
- array of InternetAddress objects
- Throws:
- AddressException- if the parse failed
- Since:
- JavaMail 1.3
 
validate
public void validate()
              throws AddressException
- Validate that this address conforms to the syntax rules of
 RFC 822.  The current implementation checks many, but not
 all, syntax rules.  Note that even though the syntax of
 the address may be correct, there's no guarantee that a
 mailbox of that name exists.
 
- 
 
- 
- Throws:
- AddressException- if the address isn't valid.
- Since:
- JavaMail 1.3
 
isGroup
public boolean isGroup()
- Indicates whether this address is an RFC 822 group address.
 Note that a group address is different than the mailing
 list addresses supported by most mail servers.  Group addresses
 are rarely used; see RFC 822 for details.
 
- 
 
- 
- Returns:
- true if this address represents a group
- Since:
- JavaMail 1.3
 
getGroup
public InternetAddress[] getGroup(boolean strict)
                           throws AddressException
- Return the members of a group address.  A group may have zero,
 one, or more members.  If this address is not a group, null
 is returned.  The strictparameter controls whether
 the group list is parsed using strict RFC 822 rules or not.
 The parsing is done using theparseHeadermethod.
 
- 
 
- 
- Returns:
- array of InternetAddress objects, or null
- Throws:
- AddressException- if the group list can't be parsed
- Since:
- JavaMail 1.3
 
Submit a bug or feature Copyright 2003 Sun Microsystems, Inc. All rights reserved.