summaryrefslogtreecommitdiff
path: root/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java
index f41897aa00..2551415a16 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/jms/QpidTopic.java
@@ -44,4 +44,39 @@ public class QpidTopic extends QpidDestination implements Topic
return address.getSubject() == null ? "" : address.getSubject();
}
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (this == obj)
+ {
+ return true;
+ }
+
+ if (!(obj instanceof QpidTopic))
+ {
+ return false;
+ }
+
+ QpidTopic topic = (QpidTopic)obj;
+
+ try
+ {
+ if (!address.getName().equals(topic.getAddress().getName()))
+ {
+ return false;
+ }
+
+ // The subject being the topic name
+ if (!address.getSubject().equals(topic.getAddress().getSubject()))
+ {
+ return false;
+ }
+ }
+ catch (Exception e)
+ {
+ return false;
+ }
+
+ return true;
+ }
}