org.apache.jackrabbit.webdav.client.methods
Class SubscribeMethod

java.lang.Object
  extended by org.apache.commons.httpclient.HttpMethodBase
      extended by org.apache.commons.httpclient.methods.ExpectContinueMethod
          extended by org.apache.commons.httpclient.methods.EntityEnclosingMethod
              extended by org.apache.jackrabbit.webdav.client.methods.DavMethodBase
                  extended by org.apache.jackrabbit.webdav.client.methods.SubscribeMethod
All Implemented Interfaces:
org.apache.commons.httpclient.HttpMethod, DavMethod, DavConstants, ObservationConstants

public class SubscribeMethod
extends DavMethodBase
implements ObservationConstants

SubscribeMethod...


Field Summary
 
Fields inherited from class org.apache.commons.httpclient.methods.EntityEnclosingMethod
CONTENT_LENGTH_AUTO, CONTENT_LENGTH_CHUNKED
 
Fields inherited from interface org.apache.jackrabbit.webdav.observation.ObservationConstants
HEADER_POLL_TIMEOUT, HEADER_SUBSCRIPTIONID, NAMESPACE, SUBSCRIPTIONDISCOVERY, XML_EVENT, XML_EVENT_TRANSACTION_ID, XML_EVENTBUNDLE, XML_EVENTDATE, XML_EVENTDISCOVERY, XML_EVENTIDENTIFIER, XML_EVENTINFO, XML_EVENTTYPE, XML_EVENTUSERDATA, XML_EVENTUSERID, XML_FILTER, XML_NODETYPE_NAME, XML_NOLOCAL, XML_SUBSCRIPTION, XML_SUBSCRIPTIONID, XML_SUBSCRIPTIONINFO, XML_UUID
 
Fields inherited from interface org.apache.jackrabbit.webdav.DavConstants
creationDateFormat, DEPTH_0, DEPTH_1, DEPTH_INFINITY, DEPTH_INFINITY_S, HEADER_AUTHORIZATION, HEADER_CONTENT_LANGUAGE, HEADER_CONTENT_LENGTH, HEADER_CONTENT_TYPE, HEADER_DAV, HEADER_DEPTH, HEADER_DESTINATION, HEADER_ETAG, HEADER_IF, HEADER_LAST_MODIFIED, HEADER_LOCK_TOKEN, HEADER_OVERWRITE, HEADER_TIMEOUT, INFINITE_TIMEOUT, modificationDateFormat, NAMESPACE, OPAQUE_LOCK_TOKEN_PREFIX, PROPERTY_CREATIONDATE, PROPERTY_DISPLAYNAME, PROPERTY_GETCONTENTLANGUAGE, PROPERTY_GETCONTENTLENGTH, PROPERTY_GETCONTENTTYPE, PROPERTY_GETETAG, PROPERTY_GETLASTMODIFIED, PROPERTY_LOCKDISCOVERY, PROPERTY_RESOURCETYPE, PROPERTY_SOURCE, PROPERTY_SUPPORTEDLOCK, PROPFIND_ALL_PROP, PROPFIND_ALL_PROP_INCLUDE, PROPFIND_BY_PROPERTY, PROPFIND_PROPERTY_NAMES, TIMEOUT_INFINITE, UNDEFINED_TIME, UNDEFINED_TIMEOUT, XML_ACTIVELOCK, XML_ALLPROP, XML_COLLECTION, XML_DEPTH, XML_DST, XML_EXCLUSIVE, XML_HREF, XML_INCLUDE, XML_KEEPALIVE, XML_LINK, XML_LOCKENTRY, XML_LOCKINFO, XML_LOCKROOT, XML_LOCKSCOPE, XML_LOCKTOKEN, XML_LOCKTYPE, XML_MULTISTATUS, XML_OMIT, XML_OWNER, XML_PROP, XML_PROPERTYBEHAVIOR, XML_PROPERTYUPDATE, XML_PROPFIND, XML_PROPNAME, XML_PROPSTAT, XML_REMOVE, XML_RESPONSE, XML_RESPONSEDESCRIPTION, XML_SET, XML_SHARED, XML_SOURCE, XML_STATUS, XML_TIMEOUT, XML_WRITE
 
Constructor Summary
SubscribeMethod(String uri, SubscriptionInfo subscriptionInfo)
          Create a new SubscribeMethod used to register to the observation events specified within the given SubscriptionInfo.
SubscribeMethod(String uri, SubscriptionInfo subscriptionInfo, String subscriptionId)
          Create a new SubscribeMethod used to register to the observation events specified within the given SubscriptionInfo.
 
Method Summary
 String getName()
          Reset method to 'abstract' in order to force subclasses to change the name (inherited value is GetMethod.getName()).
 SubscriptionDiscovery getResponseAsSubscriptionDiscovery()
           
 String getSubscriptionId()
           
protected  boolean isSuccess(int statusCode)
           
protected  void processResponseBody(org.apache.commons.httpclient.HttpState httpState, org.apache.commons.httpclient.HttpConnection httpConnection)
          Retrieves the DAV:subscriptiondiscovery property present in the response body and builds 'Subscription' objects from the corresponding DAV:subscription child elements inside the discovery.
 
Methods inherited from class org.apache.jackrabbit.webdav.client.methods.DavMethodBase
addRequestHeader, checkSuccess, getResponseBodyAsDocument, getResponseBodyAsMultiStatus, getResponseException, getSuccess, processMultiStatusBody, processStatusLine, setRequestBody, setRequestBody, setRequestHeader, setSuccess, succeeded
 
Methods inherited from class org.apache.commons.httpclient.methods.EntityEnclosingMethod
addContentLengthRequestHeader, addRequestHeaders, clearRequestBody, generateRequestBody, generateRequestEntity, getFollowRedirects, getRequestCharSet, getRequestContentLength, getRequestEntity, hasRequestContent, recycle, setContentChunked, setFollowRedirects, setRequestBody, setRequestBody, setRequestContentLength, setRequestContentLength, setRequestEntity, writeRequestBody
 
Methods inherited from class org.apache.commons.httpclient.methods.ExpectContinueMethod
getUseExpectHeader, setUseExpectHeader
 
Methods inherited from class org.apache.commons.httpclient.HttpMethodBase
abort, addCookieRequestHeader, addHostRequestHeader, addProxyConnectionHeader, addRequestHeader, addRequestHeader, addResponseFooter, addUserAgentRequestHeader, checkNotUsed, checkUsed, execute, generateRequestLine, getAuthenticationRealm, getContentCharSet, getDoAuthentication, getEffectiveVersion, getHostAuthState, getHostConfiguration, getMethodRetryHandler, getParams, getPath, getProxyAuthenticationRealm, getProxyAuthState, getQueryString, getRecoverableExceptionCount, getRequestHeader, getRequestHeaderGroup, getRequestHeaders, getRequestHeaders, getResponseBody, getResponseBodyAsStream, getResponseBodyAsString, getResponseCharSet, getResponseContentLength, getResponseFooter, getResponseFooters, getResponseHeader, getResponseHeaderGroup, getResponseHeaders, getResponseHeaders, getResponseStream, getResponseTrailerHeaderGroup, getStatusCode, getStatusLine, getStatusText, getURI, hasBeenUsed, isAborted, isConnectionCloseForced, isHttp11, isRequestSent, isStrictMode, processResponseHeaders, readResponse, readResponseBody, readResponseHeaders, readStatusLine, releaseConnection, removeRequestHeader, removeRequestHeader, responseBodyConsumed, setConnectionCloseForced, setDoAuthentication, setHostConfiguration, setHttp11, setMethodRetryHandler, setParams, setPath, setQueryString, setQueryString, setRequestHeader, setRequestHeader, setResponseStream, setStrictMode, setURI, shouldCloseConnection, validate, writeRequest, writeRequestHeaders, writeRequestLine
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.commons.httpclient.HttpMethod
abort, addRequestHeader, addRequestHeader, addResponseFooter, execute, getDoAuthentication, getFollowRedirects, getHostAuthState, getHostConfiguration, getParams, getPath, getProxyAuthState, getQueryString, getRequestHeader, getRequestHeaders, getRequestHeaders, getResponseBody, getResponseBodyAsStream, getResponseBodyAsString, getResponseFooter, getResponseFooters, getResponseHeader, getResponseHeaders, getResponseHeaders, getStatusCode, getStatusLine, getStatusText, getURI, hasBeenUsed, isRequestSent, isStrictMode, recycle, releaseConnection, removeRequestHeader, removeRequestHeader, setDoAuthentication, setFollowRedirects, setParams, setPath, setQueryString, setQueryString, setRequestHeader, setRequestHeader, setStrictMode, setURI, validate
 

Constructor Detail

SubscribeMethod

public SubscribeMethod(String uri,
                       SubscriptionInfo subscriptionInfo)
                throws IOException
Create a new SubscribeMethod used to register to the observation events specified within the given SubscriptionInfo. See SubscribeMethod(String, SubscriptionInfo, String) for a constructor that allows to redefined an existing subscription.

Parameters:
uri -
subscriptionInfo -
Throws:
IOException

SubscribeMethod

public SubscribeMethod(String uri,
                       SubscriptionInfo subscriptionInfo,
                       String subscriptionId)
                throws IOException
Create a new SubscribeMethod used to register to the observation events specified within the given SubscriptionInfo. Note that in contrast to SubscribeMethod(String, SubscriptionInfo) this constructor optionally takes a subscription id identifying a subscription made before. In this case the subscription will be modified according to the definitions present in the SubscriptionInfo. If the id is null this constructor is identical to SubscribeMethod(String, SubscriptionInfo).

Parameters:
uri -
subscriptionInfo -
Throws:
IOException
Method Detail

getResponseAsSubscriptionDiscovery

public SubscriptionDiscovery getResponseAsSubscriptionDiscovery()
                                                         throws IOException,
                                                                DavException
Throws:
IOException
DavException

getSubscriptionId

public String getSubscriptionId()

getName

public String getName()
Description copied from class: DavMethodBase
Reset method to 'abstract' in order to force subclasses to change the name (inherited value is GetMethod.getName()).

Specified by:
getName in interface org.apache.commons.httpclient.HttpMethod
Specified by:
getName in class DavMethodBase
Returns:
Name of the method.
See Also:
HttpMethod.getName()

isSuccess

protected boolean isSuccess(int statusCode)
Specified by:
isSuccess in class DavMethodBase
Returns:
true if the specified status code corresponds to a successfully completed request.

processResponseBody

protected void processResponseBody(org.apache.commons.httpclient.HttpState httpState,
                                   org.apache.commons.httpclient.HttpConnection httpConnection)
Retrieves the DAV:subscriptiondiscovery property present in the response body and builds 'Subscription' objects from the corresponding DAV:subscription child elements inside the discovery. If parsing the response body fails for whatever reason or if the DAV:subscriptiondiscovery did not contain at least a single DAV:subscription entry (the one created by the SUBSCRIBE call) this methods in addition resets the 'success' flag to false.

Overrides:
processResponseBody in class DavMethodBase
Parameters:
httpState -
httpConnection -
See Also:
HttpMethodBase.processResponseBody(HttpState, HttpConnection)


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.