FileDocCategorySizeDatePackage
PropertyNode.javaAPI DocAndroid 1.5 API5500Wed May 06 22:41:56 BST 2009android.syncml.pim

PropertyNode

public class PropertyNode extends Object

Fields Summary
public String
propName
public String
propValue
public List
propValue_vector
public byte[]
propValue_bytes
Store value as byte[],after decode. Used when propValue is encoded by something like BASE64, QUOTED-PRINTABLE, etc.
public android.content.ContentValues
paramMap
param store: key=paramType, value=paramValue Note that currently PropertyNode class does not support multiple param-values defined in vCard 3.0 (See also RFC 2426). multiple-values are stored as one String value like "A,B", not ["A", "B"]... TODO: fix this.
public Set
paramMap_TYPE
Only for TYPE=??? param store.
public Set
propGroupSet
Store group values. Used only in VCard.
Constructors Summary
public PropertyNode()

        propValue = "";
        paramMap = new ContentValues();
        paramMap_TYPE = new HashSet<String>();
        propGroupSet = new HashSet<String>();
    
public PropertyNode(String propName, String propValue, List propValue_vector, byte[] propValue_bytes, android.content.ContentValues paramMap, Set paramMap_TYPE, Set propGroupSet)

        this.propName = propName;
        if (propValue != null) {
            this.propValue = propValue;
        } else {
            this.propValue = "";
        }
        this.propValue_vector = propValue_vector;
        this.propValue_bytes = propValue_bytes;
        if (paramMap != null) {
            this.paramMap = paramMap;
        } else {
            this.paramMap = new ContentValues();
        }
        if (paramMap_TYPE != null) {
            this.paramMap_TYPE = paramMap_TYPE;
        } else {
            this.paramMap_TYPE = new HashSet<String>();
        }
        if (propGroupSet != null) {
            this.propGroupSet = propGroupSet;
        } else {
            this.propGroupSet = new HashSet<String>();
        }
    
Methods Summary
public booleanequals(java.lang.Object obj)

        if (!(obj instanceof PropertyNode)) {
            return false;
        }
        
        PropertyNode node = (PropertyNode)obj;
        
        if (propName == null || !propName.equals(node.propName)) {
            return false;
        } else if (!paramMap.equals(node.paramMap)) {
            return false;
        } else if (!paramMap_TYPE.equals(node.paramMap_TYPE)) {
            return false;
        } else if (!propGroupSet.equals(node.propGroupSet)) {
            return false;
        }
        
        if (propValue_bytes != null && Arrays.equals(propValue_bytes, node.propValue_bytes)) {
            return true;
        } else {
            // Log.d("@@@", propValue + ", " + node.propValue);
            if (!propValue.equals(node.propValue)) {
                return false;
            }

            // The value in propValue_vector is not decoded even if it should be
            // decoded by BASE64 or QUOTED-PRINTABLE. When the size of propValue_vector
            // is 1, the encoded value is stored in propValue, so we do not have to
            // check it.
            if (propValue_vector != null) {
                // Log.d("@@@", "===" + propValue_vector + ", " + node.propValue_vector);
                return (propValue_vector.equals(node.propValue_vector) ||
                        (propValue_vector.size() == 1));
            } else if (node.propValue_vector != null) {
                // Log.d("@@@", "===" + propValue_vector + ", " + node.propValue_vector);
                return (node.propValue_vector.equals(propValue_vector) ||
                        (node.propValue_vector.size() == 1));
            } else {
                return true;
            }
        }
    
public java.lang.StringtoString()

        StringBuilder builder = new StringBuilder();
        builder.append("propName: ");
        builder.append(propName);
        builder.append(", paramMap: ");
        builder.append(paramMap.toString());
        builder.append(", propmMap_TYPE: ");
        builder.append(paramMap_TYPE.toString());
        builder.append(", propGroupSet: ");
        builder.append(propGroupSet.toString());
        if (propValue_vector != null && propValue_vector.size() > 1) {
            builder.append(", propValue_vector size: ");
            builder.append(propValue_vector.size());
        }
        if (propValue_bytes != null) {
            builder.append(", propValue_bytes size: ");
            builder.append(propValue_bytes.length);
        }
        builder.append(", propValue: ");
        builder.append(propValue);
        return builder.toString();