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