org.jabber.jabberbeans
Class PacketRebroadcaster
java.lang.Object
|
+--org.jabber.jabberbeans.PacketRebroadcaster
- Direct Known Subclasses:
- IQBean.IQListener, MessengerBean.MessageListener
- public abstract class PacketRebroadcaster
- extends java.lang.Object
- implements PacketListener, java.io.Serializable, PacketListenerRegistrar
PacketRebroadcaster
is a class used by the optional beans to
allow for subscriptions to 'filtered' interfaces. By using this class and
overriding the PacketListener members, you can filter for a packet that
meets specific requirements.
Known issues:
- an attempt to modify the list (the Vector) while enumerating
the list will cause the attempt to go to the next listener to fail. I
(mass) am evaluating other ways to handle this; so far the only solution
I have seen is to clone the vector before enumerating. I would like to know
if there are other solutions before I do this.
- the fire events need to catch *all* exceptions and do something
with them. Currently they fall back into the parser, which causes
everything to stop.
- Version:
- $Revision: 1.1.1.1 $
- Author:
- David Waite
<dwaite@jabber.com>, $Author: lucky $
- See Also:
- Serialized Form
Field Summary |
private java.util.Vector |
listeners
Vector holding people who are listening for packet events |
Methods inherited from class java.lang.Object |
,
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
toString,
wait,
wait,
wait |
listeners
private java.util.Vector listeners
- Vector holding people who are listening for packet events
PacketRebroadcaster
public PacketRebroadcaster()
registerListener
public void registerListener(ConnectionBean cb)
registerListener
registers the listener with the connection
bean, so that it will receive events.
- Parameters:
cb
- a ConnectionBean
value
unregisterListener
public void unregisterListener(ConnectionBean cb)
unregisterListener
unregisters the listener with the
connection bean, so that it will no longer receive events.
- Parameters:
cb
- a ConnectionBean
value
receivedPacket
public abstract void receivedPacket(PacketEvent pe)
- PacketListener element
- Specified by:
- receivedPacket in interface PacketListener
- Parameters:
pe
- a PacketEvent
value
sentPacket
public abstract void sentPacket(PacketEvent pe)
- PacketListener element
- Specified by:
- sentPacket in interface PacketListener
- Parameters:
pe
- a PacketEvent
value
sendFailed
public abstract void sendFailed(PacketEvent pe)
- PacketListener element
- Specified by:
- sendFailed in interface PacketListener
- Parameters:
pe
- a PacketEvent
value
addPacketListener
public final void addPacketListener(PacketListener l)
addPacketListener
registers a packet listener with our
filtered packet rebroadcaster.
- Specified by:
- addPacketListener in interface PacketListenerRegistrar
- Parameters:
l
- a PacketListener
value
delPacketListener
public final void delPacketListener(PacketListener l)
delPacketListener
unregisters a packet listener with our
filtered packet rebroadcaster.
- Specified by:
- delPacketListener in interface PacketListenerRegistrar
- Parameters:
l
- a PacketListener
value
fireReceived
protected final void fireReceived(PacketEvent p)
fireReceived
is called by the PacketListener-derived
ReceivedPacket. It sends the same packet out to everyone registered to
this rebroadcaster.
- Parameters:
p
- a PacketEvent
value
fireSent
protected final void fireSent(PacketEvent p)
fireSent
is called by the PacketListener-derived
SentPacket. It sends the same packet out to everyone registered to
this rebroadcaster.
- Parameters:
p
- a PacketEvent
value
fireSendFailed
protected final void fireSendFailed(PacketEvent p)
fireSendFailed
is called by the PacketListener-derived
SentPacket. It sends the same packet out to everyone registered to
this rebroadcaster.
- Parameters:
p
- a PacketEvent
value