/** * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio */ package com.hundsun.ares.studio.reference.collect; import java.util.Arrays; import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.builder.HashCodeBuilder; /** * @author gongyf * */ public final class TreeKey { final private Object[] keys; private TreeKey[] resolved; /** * */ public TreeKey(Object... keys) { this.keys = keys; } public TreeKey[] resolve() { if (resolved == null) { resolved = new TreeKey[keys.length]; for (int i = 0; i < keys.length; i++) { resolved[i] = new TreeKey(ArrayUtils.subarray(keys, 0, i + 1)); } } return resolved; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if(!(obj instanceof TreeKey)){ return false; } return Arrays.equals(keys, ((TreeKey)obj).keys); } @Override public int hashCode() { return new HashCodeBuilder().append(keys).toHashCode(); } }