Package org.apache.webdav.lib
Class NotificationListener
java.lang.Object
org.apache.webdav.lib.NotificationListener
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 -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionNotificationListener(String host, int port, String repositoryHost, int repositoryPort, org.apache.commons.httpclient.protocol.Protocol protocol, org.apache.commons.httpclient.Credentials credentials, String repositoryDomain, int pollInterval, boolean udp) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidprotected voidfireEvent(org.apache.webdav.lib.NotificationListener.EventMethod eventMethod, org.apache.commons.httpclient.Credentials credentials) voidfireVetoableEvent(Map information, org.apache.commons.httpclient.Credentials credentials) protected voidbooleansubscribe(String method, String uri, int depth, int lifetime, int notificationDelay, Subscriber listener, org.apache.commons.httpclient.Credentials credentials) Registers a Subscriber with the remote server.booleanunsubscribe(String uri, Subscriber listener, org.apache.commons.httpclient.Credentials credentials)
-
Field Details
-
timer
-
-
Constructor Details
-
NotificationListener
public NotificationListener(String host, int port, String repositoryHost, int repositoryPort, org.apache.commons.httpclient.protocol.Protocol protocol, org.apache.commons.httpclient.Credentials credentials, 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 Details
-
subscribe
public boolean subscribe(String method, 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:
-
unsubscribe
public boolean unsubscribe(String uri, Subscriber listener, org.apache.commons.httpclient.Credentials credentials) -
fireEvent
public void fireEvent(Map information, org.apache.commons.httpclient.Credentials credentials) throws IOException - Throws:
IOException
-
fireVetoableEvent
public void fireVetoableEvent(Map information, org.apache.commons.httpclient.Credentials credentials) throws IOException - Throws:
IOException
-
fireEvent
protected void fireEvent(org.apache.webdav.lib.NotificationListener.EventMethod eventMethod, org.apache.commons.httpclient.Credentials credentials) throws IOException - Throws:
IOException
-
fireEvent
-
poll
-