package org.netbeans.gradle.model;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public final class MultiKey implements Serializable {
private static final long serialVersionUID = 1L;
private final List<Object> keys;
private MultiKey(List<?> keys) {
this.keys = new ArrayList<Object>(keys);
}
public static MultiKey create(Object... keys) {
return new MultiKey(Arrays.asList(keys));
}
public static MultiKey createFromList(List<?> keys) {
return new MultiKey(keys);
}
public Object[] getKeys() {
return keys.toArray();
}
@Override
public int hashCode() {
return 185 + keys.hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj == this) return true;
if (getClass() != obj.getClass()) return false;
final MultiKey other = (MultiKey)obj;
return this.keys.equals(other.keys);
}
}