org.apache.webdav.lib
Class NotificationListener

java.lang.Object
  extended byorg.apache.webdav.lib.NotificationListener

public class NotificationListener
extends java.lang.Object

The NotificationListener class encapsulates all methods that are required for dealing with WebDAV notifications. It implements poll and push based notification handling.


Nested Class Summary
 class NotificationListener.Event
           
 
Field Summary
protected static java.util.Timer timer
           
 
Constructor Summary
NotificationListener(java.lang.String host, int port, java.lang.String repositoryHost, int repositoryPort, Protocol protocol, Credentials credentials, java.lang.String repositoryDomain, int pollInterval, boolean udp)
           
 
Method Summary
protected  void fireEvent(int id, java.util.Map information)
           
 void fireEvent(java.util.Map information, Credentials credentials)
           
protected  void fireEvent(org.apache.webdav.lib.NotificationListener.EventMethod eventMethod, Credentials credentials)
           
 void fireVetoableEvent(java.util.Map information, Credentials credentials)
           
protected  void poll(java.lang.String notifiedSubscribers)
           
 boolean subscribe(java.lang.String method, java.lang.String uri, int depth, int lifetime, int notificationDelay, Subscriber listener, Credentials credentials)
          Registers a Subscriber with the remote server.
 boolean unsubscribe(java.lang.String uri, Subscriber listener, Credentials credentials)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

timer

protected static final java.util.Timer timer
Constructor Detail

NotificationListener

public NotificationListener(java.lang.String host,
                            int port,
                            java.lang.String repositoryHost,
                            int repositoryPort,
                            Protocol protocol,
                            Credentials credentials,
                            java.lang.String repositoryDomain,
                            int pollInterval,
                            boolean udp)
Parameters:
host - The ip-address on which the udp or http-server is running (e.g. "localhost")
port - The port where the udp or http-server is listening on (e.g. 4444)
repositoryHost - The ip-adress of the WebDAV-repository
repositoryPort - The port of the WebDAV-repository (e.g. 8080)
protocol - The protocol that should be used to connect to the WebDAV-repository (http or https)
credentials - The credentials which are used to connect to the WebDAV-repository
repositoryDomain - The repository domain (e.g. "/slide")
pollInterval - The poll interval that will be used if no notifications are revieved via UDP/TCP
udp - If set to true, UDP server will be started, otherwise TCP server (must match the repository notification mode)
Method Detail

subscribe

public boolean subscribe(java.lang.String method,
                         java.lang.String uri,
                         int depth,
                         int lifetime,
                         int notificationDelay,
                         Subscriber listener,
                         Credentials credentials)
Registers a Subscriber with the remote server.

Parameters:
method - the "notification type", determines for what events do you want do subscribe. one of "Update", "Update/newmember", "Delete", "Move".
uri - the resource for that you subscribe
depth - the depth of the collection tree that you want to observe
lifetime - the duration for that you want to observe (in seconds)
notificationDelay - the time the server waits before it sends a notify message to the host provided in the constructor (in seconds)
listener - the Subscriber that is called on incomming notifications
credentials - credentials for authentication on the server observed
Returns:
boolean true if subscription succeeded, false if subscription failed
See Also:
WebdavResource.subscribeMethod(java.lang.String, java.lang.String, java.lang.String, long, int, long), http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_webdav_subscribe.asp

unsubscribe

public boolean unsubscribe(java.lang.String uri,
                           Subscriber listener,
                           Credentials credentials)

fireEvent

public void fireEvent(java.util.Map information,
                      Credentials credentials)
               throws java.io.IOException
Throws:
java.io.IOException

fireVetoableEvent

public void fireVetoableEvent(java.util.Map information,
                              Credentials credentials)
                       throws java.io.IOException
Throws:
java.io.IOException

fireEvent

protected void fireEvent(org.apache.webdav.lib.NotificationListener.EventMethod eventMethod,
                         Credentials credentials)
                  throws java.io.IOException
Throws:
java.io.IOException

fireEvent

protected void fireEvent(int id,
                         java.util.Map information)

poll

protected void poll(java.lang.String notifiedSubscribers)