Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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  }