edu.ou.kmi.buddyspace.plugins.pubsub.core
Class BSPubsubBean

java.lang.Object
  |
  +--edu.ou.kmi.buddyspace.plugins.pubsub.core.BSPubsubBean

public class BSPubsubBean
extends java.lang.Object

BSPubsubBean provides jabber pubsub. It relies on IQBean (this must be reset after reconnection).


Field Summary
protected  ConnectionBean connBean
           
protected  java.lang.String name
           
protected  java.util.Vector pubsubListeners
           
 
Constructor Summary
BSPubsubBean()
          Constructor
 
Method Summary
 void addPubsubListener(BSPubsubListener listener)
          Adds BSPubsubListener to listeners notified when pubsub events.
 boolean createNode(JID jid, java.lang.String nodeName, PacketID id)
          Creates node with given name or instant node if name empty.
 boolean deleteItem(java.lang.String itemID, JID jid, java.lang.String nodeName, PacketID id)
          Deletes item with given id from jid and node
 boolean deleteNode(JID jid, java.lang.String nodeName, PacketID id)
          Deletes given node.
 void disconnected()
          Called when disconnected
 ConnectionBean getConnection()
          Returns currently used ConnectionBean.
 void handleInfoQuery(InfoQuery iq)
          handles received infoQuery packets
 void handleMessage(Message m)
          handles received message packets
protected  void prepareToDestroy()
          Frees all object bindings to allow object destroy
 boolean publishItem(XMLData xmlData, java.lang.String itemID, JID jid, java.lang.String nodeName, PacketID id)
          Publishes given xml into given jid and node
 boolean purgeNode(JID jid, java.lang.String nodeName, PacketID id)
          Purges given node.
 void receivedPacket(PacketEvent pe)
          called when a packet is received and processed.
 void removeAllPubsubListeners()
          Removes all listeners notified when presence state of some of buddies changes.
 void removePubsubListener(BSPubsubListener listener)
          Removes BSPubsubListener to listeners notified about pubsub events.
 boolean requestAffiliations(JID jid, PacketID id)
          Requests all current affiliations
 boolean requestAllPendingSubscriptions(JID jid, PacketID id)
          Send owner request for all pending subscription requests
 boolean requestDefaultNodeConfiguration(JID jid, PacketID id)
          Sends request for default configuration of node.
 boolean requestEntities(JID jid, java.lang.String nodeName, PacketID id)
          Requests all entities affiliated.
 boolean requestItems(int maxItems, JID jid, java.lang.String nodeName, PacketID id)
          Requests most recent active items.
 boolean requestItems(JID jid, java.lang.String nodeName, PacketID id)
          Requests all active items.
 boolean requestItems(java.lang.String[] ids, JID jid, java.lang.String nodeName, PacketID id)
          Requests items with given IDs.
 boolean requestNodeConfiguration(JID jid, java.lang.String nodeName, PacketID id)
          Sends request for configuration of given node.
protected  boolean requestNodeConfImpl(JID jid, java.lang.String nodeName, PacketID id)
          Sends request for configuration of given node or default configuration when nodeName is null.
 boolean requestSubscriptionOptions(JID subscriberJID, JID jid, java.lang.String nodeName, PacketID id)
          Requests subscription options.
 void sendFailed(PacketEvent pe)
          called if a packet is not successfully sent (for instance, if the connection dies while the packet is queued, or a packet is sent while disconnected).
 boolean sendIQ(Extension ext, JID toJID, java.lang.String type, PacketID id)
          Sends iq packet with given extension
 void sentPacket(PacketEvent pe)
          called whenever a local client sends a packet, after the sending is successful
 void setConnection(ConnectionBean connBean)
          Sets existing and connected ConnectionBean.
 boolean setEntities(PubsubEntity[] entities, JID jid, java.lang.String nodeName, PacketID id)
          Sets entities affiliations.
 boolean setEntities(PubsubEntity entity, JID jid, java.lang.String nodeName, PacketID id)
          Sets entity affiliation.
 boolean setNodeConfiguration(XData form, JID jid, java.lang.String nodeName, PacketID id)
          Sets configuration of node.
 boolean setSubscriptionOptions(XData form, JID subscriberJID, JID jid, java.lang.String nodeName, PacketID id)
          Sets subscription options.
protected  boolean subscribeToNode(JID subscriberJID, boolean subscribe, JID jid, java.lang.String nodeName, PacketID id)
          Subscribes/unsubscribes to/from the node.
 boolean subscribeToNode(JID subscriberJID, JID jid, java.lang.String nodeName, PacketID id)
          Subscribes to the node.
 boolean unsubscribeFromNode(JID subscriberJID, JID jid, java.lang.String nodeName, PacketID id)
          Unsubscribes from the node.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

connBean

protected ConnectionBean connBean

pubsubListeners

protected java.util.Vector pubsubListeners

name

protected final java.lang.String name
See Also:
Constant Field Values
Constructor Detail

BSPubsubBean

public BSPubsubBean()
Constructor

Method Detail

setConnection

public void setConnection(ConnectionBean connBean)
Sets existing and connected ConnectionBean. Then this is registered as listener for packets.


getConnection

public ConnectionBean getConnection()
Returns currently used ConnectionBean.


disconnected

public void disconnected()
Called when disconnected


createNode

public boolean createNode(JID jid,
                          java.lang.String nodeName,
                          PacketID id)
Creates node with given name or instant node if name empty.


deleteNode

public boolean deleteNode(JID jid,
                          java.lang.String nodeName,
                          PacketID id)
Deletes given node.


purgeNode

public boolean purgeNode(JID jid,
                         java.lang.String nodeName,
                         PacketID id)
Purges given node.


publishItem

public boolean publishItem(XMLData xmlData,
                           java.lang.String itemID,
                           JID jid,
                           java.lang.String nodeName,
                           PacketID id)
Publishes given xml into given jid and node


deleteItem

public boolean deleteItem(java.lang.String itemID,
                          JID jid,
                          java.lang.String nodeName,
                          PacketID id)
Deletes item with given id from jid and node


subscribeToNode

public boolean subscribeToNode(JID subscriberJID,
                               JID jid,
                               java.lang.String nodeName,
                               PacketID id)
Subscribes to the node.


unsubscribeFromNode

public boolean unsubscribeFromNode(JID subscriberJID,
                                   JID jid,
                                   java.lang.String nodeName,
                                   PacketID id)
Unsubscribes from the node.


subscribeToNode

protected boolean subscribeToNode(JID subscriberJID,
                                  boolean subscribe,
                                  JID jid,
                                  java.lang.String nodeName,
                                  PacketID id)
Subscribes/unsubscribes to/from the node. If subscribe is true subscribes, otherwise unsubscribes.


requestAllPendingSubscriptions

public boolean requestAllPendingSubscriptions(JID jid,
                                              PacketID id)
Send owner request for all pending subscription requests


requestAffiliations

public boolean requestAffiliations(JID jid,
                                   PacketID id)
Requests all current affiliations


requestSubscriptionOptions

public boolean requestSubscriptionOptions(JID subscriberJID,
                                          JID jid,
                                          java.lang.String nodeName,
                                          PacketID id)
Requests subscription options.


setSubscriptionOptions

public boolean setSubscriptionOptions(XData form,
                                      JID subscriberJID,
                                      JID jid,
                                      java.lang.String nodeName,
                                      PacketID id)
Sets subscription options.


requestItems

public boolean requestItems(JID jid,
                            java.lang.String nodeName,
                            PacketID id)
Requests all active items.


requestItems

public boolean requestItems(int maxItems,
                            JID jid,
                            java.lang.String nodeName,
                            PacketID id)
Requests most recent active items. maxItems is maximum number of items returned. Gets all items for maxItems equal -1.


requestItems

public boolean requestItems(java.lang.String[] ids,
                            JID jid,
                            java.lang.String nodeName,
                            PacketID id)
Requests items with given IDs. If no IDs specified asks for all active.


requestNodeConfiguration

public boolean requestNodeConfiguration(JID jid,
                                        java.lang.String nodeName,
                                        PacketID id)
Sends request for configuration of given node.


requestDefaultNodeConfiguration

public boolean requestDefaultNodeConfiguration(JID jid,
                                               PacketID id)
Sends request for default configuration of node.


requestNodeConfImpl

protected boolean requestNodeConfImpl(JID jid,
                                      java.lang.String nodeName,
                                      PacketID id)
Sends request for configuration of given node or default configuration when nodeName is null.


setNodeConfiguration

public boolean setNodeConfiguration(XData form,
                                    JID jid,
                                    java.lang.String nodeName,
                                    PacketID id)
Sets configuration of node.


requestEntities

public boolean requestEntities(JID jid,
                               java.lang.String nodeName,
                               PacketID id)
Requests all entities affiliated.


setEntities

public boolean setEntities(PubsubEntity entity,
                           JID jid,
                           java.lang.String nodeName,
                           PacketID id)
Sets entity affiliation.


setEntities

public boolean setEntities(PubsubEntity[] entities,
                           JID jid,
                           java.lang.String nodeName,
                           PacketID id)
Sets entities affiliations.


sendIQ

public boolean sendIQ(Extension ext,
                      JID toJID,
                      java.lang.String type,
                      PacketID id)
Sends iq packet with given extension


prepareToDestroy

protected void prepareToDestroy()
Frees all object bindings to allow object destroy


receivedPacket

public void receivedPacket(PacketEvent pe)
called when a packet is received and processed.


handleInfoQuery

public void handleInfoQuery(InfoQuery iq)
handles received infoQuery packets


handleMessage

public void handleMessage(Message m)
handles received message packets


sendFailed

public void sendFailed(PacketEvent pe)
called if a packet is not successfully sent (for instance, if the connection dies while the packet is queued, or a packet is sent while disconnected).


sentPacket

public void sentPacket(PacketEvent pe)
called whenever a local client sends a packet, after the sending is successful


addPubsubListener

public void addPubsubListener(BSPubsubListener listener)
Adds BSPubsubListener to listeners notified when pubsub events.


removePubsubListener

public void removePubsubListener(BSPubsubListener listener)
Removes BSPubsubListener to listeners notified about pubsub events.


removeAllPubsubListeners

public void removeAllPubsubListeners()
Removes all listeners notified when presence state of some of buddies changes. This can be used before to free dependencies and allow dispose of all objects.