org.apache.webdav.lib
Class NotificationListener
java.lang.Object
org.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.
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 |
timer
protected static final java.util.Timer timer
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 or hostname on which the udp or http-server is running (e.g. "myhost.mydomain.mytld")port
- The port where the udp or http-server is listening on (e.g. 4444)repositoryHost
- The ip-adress or hostname of the WebDAV-repositoryrepositoryPort
- 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-repositoryrepositoryDomain
- The repository domain (e.g. "/slide")pollInterval
- The poll interval that will be used if no notifications are revieved via UDP/TCP (in milliseconds)udp
- If set to true, UDP server will be started, otherwise TCP server (must match the repository notification mode)
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 subscribedepth
- the depth of the collection tree that you want to observelifetime
- 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 notificationscredentials
- 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)