aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/impl/protocol/gibberish/ContactGroupGibberishImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/sip/communicator/impl/protocol/gibberish/ContactGroupGibberishImpl.java')
-rw-r--r--src/net/java/sip/communicator/impl/protocol/gibberish/ContactGroupGibberishImpl.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/gibberish/ContactGroupGibberishImpl.java b/src/net/java/sip/communicator/impl/protocol/gibberish/ContactGroupGibberishImpl.java
index 2a95493..8528267 100644
--- a/src/net/java/sip/communicator/impl/protocol/gibberish/ContactGroupGibberishImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/gibberish/ContactGroupGibberishImpl.java
@@ -577,4 +577,29 @@ public class ContactGroupGibberishImpl
return true;
}
+
+ @Override
+ public int hashCode()
+ {
+ List<Object> objects = new ArrayList<Object>();
+ objects.add(getGroupName());
+ objects.add(getUID());
+ objects.add(countContacts());
+ objects.add(countSubgroups());
+
+ //traverse child contacts
+ for (Contact c : contacts)
+ {
+ objects.add(c.getAddress());
+ }
+
+
+ //traverse subgroups
+ for (ContactGroup g : subGroups)
+ {
+ objects.add(g.getGroupName());
+ }
+
+ return Objects.hash(objects.toArray());
+ }
}