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 void
void
protected void
fireEvent
(org.apache.webdav.lib.NotificationListener.EventMethod eventMethod, org.apache.commons.httpclient.Credentials credentials) void
fireVetoableEvent
(Map information, org.apache.commons.httpclient.Credentials credentials) protected void
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.boolean
unsubscribe
(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
-