FileDocCategorySizeDatePackage
TokenValue.javaAPI DocGlassfish v2 API5336Fri May 04 22:25:58 BST 2007com.sun.enterprise.admin.util

TokenValue

public final class TokenValue extends Object implements Comparable
author
kedar

Fields Summary
public final String
token
public final String
value
public final String
delimiter
public final String
delimitedToken
public static final String
DEFAULT_DELIMITER
Constructors Summary
public TokenValue(String token, String value)
Creates a new instance of TokenValue - with default delimiter. Also note that if the value contains any '\' characters, then these are appended to by another '\' character to work around the Java byte code interpretation. Note that none of the arguments can be null. The value of delimiter is given by DEFAULT_DELIMITER.

param
token a String that is the name of the token in this TokenValue.
param
value a String that is the value of the token.
throws
IllegalArgumentException in case of null values.
see
#TokenValue(java.lang.String, java.lang.String, java.lang.String)
see
#DEFAULT_DELIMITER

    
                                                                                                                  	   
    
         
        this(token, value, DEFAULT_DELIMITER);
    
public TokenValue(String token, String value, String delimiter)

        if (token == null || value == null || delimiter == null) {
            throw new IllegalArgumentException("Null Argument");
        }
        this.token          = token;
	/* Because of escaping process of a '\' by Java's bytecode
	 * interpreter in string literals */
        this.value          = escapeBackslashes(value);
        this.delimiter      = delimiter;
        this.delimitedToken = delimiter + token + delimiter;
    
public TokenValue(TokenValue other)

        this.token                  = other.token;
        this.value                  = other.value;
        this.delimiter              = other.delimiter;
        this.delimitedToken         = other.delimitedToken;
    
Methods Summary
public intcompareTo(java.lang.Object other)

        final TokenValue otherTokenValue = (TokenValue) other;
        return (this.token.compareTo(otherTokenValue.token));
    
public booleanequals(java.lang.Object other)

        boolean same = false;
        if (other instanceof TokenValue) {
            same = token.equals(((TokenValue)other).token) &&
                   delimiter.equals(((TokenValue)other).value);
        }
        return (same);
    
private java.lang.StringescapeBackslashes(java.lang.String anyString)
Just appends additional '\' characters in the passed string.

	    final char 		BACK_SLASH 	= '\\";
	    final StringBuffer 	escaped 	= new StringBuffer();
	    for(int i = 0 ;  i < anyString.length() ; i++) {
		    final char ch = anyString.charAt(i);
		    escaped.append(ch);
		    if (ch == BACK_SLASH) {
			    escaped.append(BACK_SLASH);
		    }
	    }
	    return ( escaped.toString() );
    
public inthashCode()

        int result = 43;
        result = 17 * result + token.hashCode();
        result = 17 * result + delimiter.hashCode();
        result = 17 * result + value.hashCode();
        
        return ( result );
    
public java.lang.StringtoString()

        return ( delimiter + token + delimiter + "=" + value);