Key.java 1.46 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.xfa.ut;

import java.util.ArrayList;
import java.util.List;

public final class Key {
    private final List<String> mKeyValues;

    public Key() {
        this.mKeyValues = new ArrayList<String>();
    }

    public Key(int initialCapacity) {
        this.mKeyValues = new ArrayList<String>(initialCapacity);
    }

    public Key(List<String> keyValues) {
        this.mKeyValues = new ArrayList<String>(keyValues);
    }

    public int numValues() {
        return this.mKeyValues.size();
    }

    public String value(int index) {
        return this.mKeyValues.get(index);
    }

    public void appendValue(String aValue) {
        this.mKeyValues.add(aValue);
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (o == null) {
            return false;
        }
        if (o.getClass() != Key.class) {
            return false;
        }
        Key key = (Key)o;
        if (key.mKeyValues.size() != this.mKeyValues.size()) {
            return false;
        }
        for (int i = 0; i < this.mKeyValues.size(); ++i) {
            if (key.mKeyValues.get(i).equals(this.mKeyValues.get(i))) continue;
            return false;
        }
        return true;
    }

    public int hashCode() {
        int hash = 0;
        for (int i = 0; i < this.mKeyValues.size(); ++i) {
            hash ^= this.mKeyValues.get(i).hashCode();
        }
        return hash;
    }
}