FileDocCategorySizeDatePackage
Rfc822Token.javaAPI DocAndroid 5.1 API5322Thu Mar 12 22:22:10 GMT 2015android.text.util

Rfc822Token

public class Rfc822Token extends Object
This class stores an RFC 822-like name, address, and comment, and provides methods to convert them to quoted strings.

Fields Summary
private String
mName
private String
mAddress
private String
mComment
Constructors Summary
public Rfc822Token(String name, String address, String comment)
Creates a new Rfc822Token with the specified name, address, and comment.

        mName = name;
        mAddress = address;
        mComment = comment;
    
Methods Summary
public booleanequals(java.lang.Object o)

        if (!(o instanceof Rfc822Token)) {
            return false;
        }
        Rfc822Token other = (Rfc822Token) o;
        return (stringEquals(mName, other.mName) &&
                stringEquals(mAddress, other.mAddress) &&
                stringEquals(mComment, other.mComment));
    
public java.lang.StringgetAddress()
Returns the address part.

        return mAddress;
    
public java.lang.StringgetComment()
Returns the comment part.

        return mComment;
    
public java.lang.StringgetName()
Returns the name part.

        return mName;
    
public inthashCode()

        int result = 17;
        if (mName != null) result = 31 * result + mName.hashCode();
        if (mAddress != null) result = 31 * result + mAddress.hashCode();
        if (mComment != null) result = 31 * result + mComment.hashCode();
        return result;
    
public static java.lang.StringquoteComment(java.lang.String comment)
Returns the comment, with internal backslashes and parentheses preceded by backslashes. The outer parentheses themselves are not added by this method.

        int len = comment.length();
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < len; i++) {
            char c = comment.charAt(i);

            if (c == '(" || c == ')" || c == '\\") {
                sb.append('\\");
            }

            sb.append(c);
        }

        return sb.toString();
    
public static java.lang.StringquoteName(java.lang.String name)
Returns the name, with internal backslashes and quotation marks preceded by backslashes. The outer quote marks themselves are not added by this method.

        StringBuilder sb = new StringBuilder();

        int len = name.length();
        for (int i = 0; i < len; i++) {
            char c = name.charAt(i);

            if (c == '\\" || c == '"") {
                sb.append('\\");
            }

            sb.append(c);
        }

        return sb.toString();
    
public static java.lang.StringquoteNameIfNecessary(java.lang.String name)
Returns the name, conservatively quoting it if there are any characters that are likely to cause trouble outside of a quoted string, or returning it literally if it seems safe.

        int len = name.length();

        for (int i = 0; i < len; i++) {
            char c = name.charAt(i);

            if (! ((c >= 'A" && c <= 'Z") ||
                   (c >= 'a" && c <= 'z") ||
                   (c == ' ") ||
                   (c >= '0" && c <= '9"))) {
                return '"" + quoteName(name) + '"";
            }
        }

        return name;
    
public voidsetAddress(java.lang.String address)
Changes the address to the specified address.

        mAddress = address;
    
public voidsetComment(java.lang.String comment)
Changes the comment to the specified comment.

        mComment = comment;
    
public voidsetName(java.lang.String name)
Changes the name to the specified name.

        mName = name;
    
private static booleanstringEquals(java.lang.String a, java.lang.String b)

        if (a == null) {
            return (b == null);
        } else {
            return (a.equals(b));
        }
    
public java.lang.StringtoString()
Returns the name (with quoting added if necessary), the comment (in parentheses), and the address (in angle brackets). This should be suitable for inclusion in an RFC 822 address list.

        StringBuilder sb = new StringBuilder();

        if (mName != null && mName.length() != 0) {
            sb.append(quoteNameIfNecessary(mName));
            sb.append(' ");
        }

        if (mComment != null && mComment.length() != 0) {
            sb.append('(");
            sb.append(quoteComment(mComment));
            sb.append(") ");
        }

        if (mAddress != null && mAddress.length() != 0) {
            sb.append('<");
            sb.append(mAddress);
            sb.append('>");
        }

        return sb.toString();