1
2
3
4
5
6
7 package org.mule.transport.xmpp.filters;
8
9 import org.mule.util.ClassUtils;
10
11 import org.jivesoftware.smack.filter.NotFilter;
12 import org.jivesoftware.smack.filter.PacketFilter;
13
14
15
16
17 public class XmppNotFilter extends AbstractXmppFilter
18 {
19 private volatile PacketFilter filter;
20
21 public XmppNotFilter()
22 {
23 super();
24 }
25
26 public XmppNotFilter(PacketFilter filter)
27 {
28 this.filter = filter;
29 }
30
31 public void setFilter(PacketFilter filter)
32 {
33 this.filter = filter;
34 }
35
36 public PacketFilter getFilter()
37 {
38 return filter;
39 }
40
41 @Override
42 protected PacketFilter createFilter()
43 {
44 return new NotFilter(filter);
45 }
46
47 @Override
48 public boolean equals(Object obj)
49 {
50 if (this == obj) return true;
51 if (obj == null || getClass() != obj.getClass()) return false;
52
53 final XmppNotFilter other = (XmppNotFilter) obj;
54 return ClassUtils.equal(filter, other.filter);
55 }
56
57 @Override
58 public int hashCode()
59 {
60 return ClassUtils.hash(new Object[]{this.getClass(), filter});
61 }
62 }