| Home >> All >> org >> jabber >> [ jabberbeans Javadoc ] |
Source code: org/jabber/jabberbeans/PresenceBean.java
1 package org.jabber.jabberbeans; 2 3 import java.io.Serializable; 4 import java.util.Enumeration; 5 import java.util.Vector; 6 7 public class PresenceBean 8 implements Serializable 9 { 10 private ConnectionBean connection = null; 11 private Vector presenceListeners = null; 12 private PacketListener rebroadcaster = null; 13 14 class PresenceListener 15 implements PacketListener 16 { 17 public void receivedPacket(Packet l) 18 { 19 if (l instanceof Presence) 20 fireReceivedPacket(l); 21 } 22 public void sentPacket(Packet l) 23 { 24 if (l instanceof Presence) 25 fireSentPacket(l); 26 } 27 } 28 29 public PresenceBean() 30 { 31 connection=null; 32 presenceListeners=new Vector(); 33 rebroadcaster=new PresenceListener(); 34 } 35 public PresenceBean(ConnectionBean connection) 36 { 37 this(); 38 setConnection(connection); 39 } 40 41 public void setConnection(ConnectionBean connection) 42 { 43 this.connection=connection; 44 connection.addPacketListener(rebroadcaster); 45 } 46 public ConnectionBean getConnection() 47 { 48 return connection; 49 } 50 51 public void send(Presence message) 52 throws java.io.IOException 53 { 54 connection.send(message); 55 } 56 57 public synchronized void addPacketListener(PacketListener l) 58 { 59 if(!presenceListeners.contains(l)) 60 presenceListeners.addElement(l); 61 } 62 public synchronized void removePacketListener(PacketListener l) 63 { 64 if(presenceListeners.contains(l)) 65 presenceListeners.removeElement(l); 66 } 67 protected void fireReceivedPacket(Packet l) 68 { 69 for (Enumeration e=presenceListeners.elements();e.hasMoreElements();) 70 ((PacketListener)(e.nextElement())).receivedPacket(l); 71 } 72 protected void fireSentPacket(Packet l) 73 { 74 for (Enumeration e=presenceListeners.elements();e.hasMoreElements();) 75 ((PacketListener)(e.nextElement())).sentPacket(l); 76 } 77 78 }