1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.xmpp.filters;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.api.routing.filter.Filter;
15
16 import org.jivesoftware.smack.filter.PacketFilter;
17 import org.jivesoftware.smack.packet.Packet;
18
19
20
21
22
23 public abstract class AbstractXmppFilter implements Filter, PacketFilter
24 {
25 protected volatile PacketFilter delegate;
26
27 public boolean accept(Packet packet)
28 {
29 if (delegate == null)
30 {
31 delegate = createFilter();
32 }
33
34 return delegate.accept(packet);
35 }
36
37 public boolean accept(MuleMessage message)
38 {
39
40 return true;
41 }
42
43 protected abstract PacketFilter createFilter();
44 }