| | |
| | | private String dn; |
| | | private Map<String, Set<Object>> attributes; |
| | | private SortedSet<String> attrNames; |
| | | private String toString; |
| | | private int hashCode; |
| | | |
| | | /** |
| | | * Constructor of an empty search result. This constructor is used by the |
| | |
| | | this.dn = dn; |
| | | attributes = new HashMap<String, Set<Object>>(); |
| | | attrNames = new TreeSet<String>(); |
| | | toString = calculateToString(); |
| | | hashCode = calculateHashCode(); |
| | | } |
| | | |
| | | /** |
| | |
| | | attributes.put(name.toLowerCase(), values); |
| | | } |
| | | } |
| | | toString = calculateToString(); |
| | | hashCode = calculateHashCode(); |
| | | } |
| | | |
| | | /** |
| | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | public boolean equals(Object o) |
| | | { |
| | | boolean equals = false; |
| | | if (o != null) |
| | | { |
| | | equals = o == this; |
| | | if (!equals && (o instanceof CustomSearchResult)) |
| | | { |
| | | CustomSearchResult sr = (CustomSearchResult)o; |
| | | equals = getDN().equals(sr.getDN()); |
| | | if (equals) |
| | | { |
| | | equals = getAttributeNames().equals(sr.getAttributeNames()); |
| | | if (equals) |
| | | { |
| | | for (String attrName : getAttributeNames()) |
| | | { |
| | | equals = getAttributeValues(attrName).equals( |
| | | sr.getAttributeValues(attrName)); |
| | | if (!equals) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return equals; |
| | | } |
| | | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | public String toString() { |
| | | return "dn: "+dn+"\nattributes: "+attributes; |
| | | return toString; |
| | | } |
| | | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | | public int hashCode() { |
| | | return hashCode; |
| | | } |
| | | |
| | | /** |
| | |
| | | attrNames.add(attrName); |
| | | attrName = attrName.toLowerCase(); |
| | | attributes.put(attrName, values); |
| | | toString = calculateToString(); |
| | | hashCode = calculateHashCode(); |
| | | } |
| | | |
| | | private String calculateToString() |
| | | { |
| | | return "dn: "+dn+"\nattributes: "+attributes; |
| | | } |
| | | |
| | | private int calculateHashCode() |
| | | { |
| | | return 23 + toString.hashCode(); |
| | | } |
| | | } |