Methods Summary |
---|
public static java.lang.String | getUniqueBoundaryValue()Get a unique value for use in a multipart boundary string.
This implementation generates it by concatenating a global
part number, a newly created object's hashCode() ,
and the current time (in milliseconds).
StringBuffer s = new StringBuffer();
// Unique string is ----=_Part_<part>_<hashcode>.<currentTime>
s.append("----=_Part_").append(getUniqueId()).append("_").
append(s.hashCode()).append('.").
append(System.currentTimeMillis());
return s.toString();
|
private static synchronized int | getUniqueId()Ensure ID is unique by synchronizing access.
XXX - Could use AtomicInteger.getAndIncrement() in J2SE 5.0.
return id++;
|
public static java.lang.String | getUniqueMessageIDValue(javax.mail.Session ssn)Get a unique value for use in a Message-ID.
This implementation generates it by concatenating a newly
created object's hashCode() , a global ID
(incremented on every use), the current
time (in milliseconds), the string "JavaMail", and
this user's local address generated by
InternetAddress.getLocalAddress() .
(The address defaults to "javamailuser@localhost" if
getLocalAddress() returns null.)
String suffix = null;
InternetAddress addr = InternetAddress.getLocalAddress(ssn);
if (addr != null)
suffix = addr.getAddress();
else {
suffix = "javamailuser@localhost"; // worst-case default
}
StringBuffer s = new StringBuffer();
// Unique string is <hashcode>.<id>.<currentTime>.JavaMail.<suffix>
s.append(s.hashCode()).append('.").append(getUniqueId()).append('.").
append(System.currentTimeMillis()).append('.").
append("JavaMail.").
append(suffix);
return s.toString();
|