Package 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
NotificationListener.Event
-
Field Summary
Fields Modifier and Type Field Description protected static java.util.Timer
timer
-
Constructor Summary
Constructors Constructor Description NotificationListener(java.lang.String host, int port, java.lang.String repositoryHost, int repositoryPort, org.apache.commons.httpclient.protocol.Protocol protocol, org.apache.commons.httpclient.Credentials credentials, java.lang.String repositoryDomain, int pollInterval, boolean udp)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
fireEvent(int id, java.util.Map information)
void
fireEvent(java.util.Map information, org.apache.commons.httpclient.Credentials credentials)
protected void
fireEvent(org.apache.webdav.lib.NotificationListener.EventMethod eventMethod, org.apache.commons.httpclient.Credentials credentials)
void
fireVetoableEvent(java.util.Map information, org.apache.commons.httpclient.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, org.apache.commons.httpclient.Credentials credentials)
Registers a Subscriber with the remote server.boolean
unsubscribe(java.lang.String uri, Subscriber listener, org.apache.commons.httpclient.Credentials credentials)
-
-
-
Constructor Detail
-
NotificationListener
public NotificationListener(java.lang.String host, int port, java.lang.String repositoryHost, int repositoryPort, org.apache.commons.httpclient.protocol.Protocol protocol, org.apache.commons.httpclient.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)
-
-
Method Detail
-
subscribe
public boolean subscribe(java.lang.String method, java.lang.String uri, int depth, int lifetime, int notificationDelay, Subscriber listener, org.apache.commons.httpclient.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)
-
unsubscribe
public boolean unsubscribe(java.lang.String uri, Subscriber listener, org.apache.commons.httpclient.Credentials credentials)
-
fireEvent
public void fireEvent(java.util.Map information, org.apache.commons.httpclient.Credentials credentials) throws java.io.IOException
- Throws:
java.io.IOException
-
fireVetoableEvent
public void fireVetoableEvent(java.util.Map information, org.apache.commons.httpclient.Credentials credentials) throws java.io.IOException
- Throws:
java.io.IOException
-
fireEvent
protected void fireEvent(org.apache.webdav.lib.NotificationListener.EventMethod eventMethod, org.apache.commons.httpclient.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)
-
-