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

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
All Implemented Interfaces:
org.apache.commons.httpclient.HttpMethod, DavMethod, DavConstants
Direct Known Subclasses:
AclMethod, BaselineControlMethod, BindMethod, CheckinMethod, CheckoutMethod, CopyMethod, DeleteMethod, LabelMethod, LockMethod, MergeMethod, MkActivityMethod, MkColMethod, MkWorkspaceMethod, MoveMethod, OptionsMethod, OrderPatchMethod, PollMethod, PropFindMethod, PropPatchMethod, PutMethod, RebindMethod, ReportMethod, SearchMethod, SubscribeMethod, UnbindMethod, UncheckoutMethod, UnLockMethod, UnSubscribeMethod, UpdateMethod, VersionControlMethod

public abstract class DavMethodBase
extends org.apache.commons.httpclient.methods.EntityEnclosingMethod
implements DavMethod, DavConstants

DavMethodBase...


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.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
DavMethodBase(String uri)
           
 
Method Summary
 void addRequestHeader(Header header)
          Adds the specified request header, NOT overwriting any previous value.
 void checkSuccess()
           
abstract  String getName()
          Reset method to 'abstract' in order to force subclasses to change the name (inherited value is GetMethod.getName()).
 Document getResponseBodyAsDocument()
          Parse the response body into an Xml Document.
 MultiStatus getResponseBodyAsMultiStatus()
          Return the response body as MultiStatus object.
 DavException getResponseException()
          Builds a DavException for the status line and the DAV:error element that may be present in the response body.
protected  boolean getSuccess()
           
protected abstract  boolean isSuccess(int statusCode)
           
protected  void processMultiStatusBody(MultiStatus multiStatus, org.apache.commons.httpclient.HttpState httpState, org.apache.commons.httpclient.HttpConnection httpConnection)
          This method is invoked during the processResponseBody(HttpState, HttpConnection), which in this implementation parses the response body into a MultiStatus object if the status code indicates 207 (MultiStatus).
protected  void processResponseBody(org.apache.commons.httpclient.HttpState httpState, org.apache.commons.httpclient.HttpConnection httpConnection)
          In case of a MultiStatus response code, this method parses the response body and resets the 'success' flag depending on the multistatus content, which could indicate method failure as well.
protected  void processStatusLine(org.apache.commons.httpclient.HttpState httpState, org.apache.commons.httpclient.HttpConnection httpConnection)
           
 void setRequestBody(Document requestBody)
           
 void setRequestBody(XmlSerializable requestBody)
           
 void setRequestHeader(Header header)
          Set the specified request header, overwriting any previous value.
protected  void setSuccess(boolean success)
           
 boolean 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

DavMethodBase

public DavMethodBase(String uri)
Method Detail

getName

public abstract String getName()
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 org.apache.commons.httpclient.HttpMethodBase
Returns:
Name of the method.
See Also:
HttpMethod.getName()

addRequestHeader

public void addRequestHeader(Header header)
Description copied from interface: DavMethod
Adds the specified request header, NOT overwriting any previous value. Note that header-name matching is case insensitive.

Specified by:
addRequestHeader in interface DavMethod
See Also:
DavMethod.addRequestHeader(Header)

setRequestHeader

public void setRequestHeader(Header header)
Description copied from interface: DavMethod
Set the specified request header, overwriting any previous value. Note that header-name matching is case-insensitive.

Specified by:
setRequestHeader in interface DavMethod
See Also:
DavMethod.setRequestHeader(Header)

getResponseBodyAsMultiStatus

public MultiStatus getResponseBodyAsMultiStatus()
                                         throws IOException,
                                                DavException
Description copied from interface: DavMethod
Return the response body as MultiStatus object.

Specified by:
getResponseBodyAsMultiStatus in interface DavMethod
Returns:
Throws:
IOException - if the response body could not be parsed
DavException - if the status code is other than MultiStatus or if obtaining the response XML document fails
See Also:
DavMethod.getResponseBodyAsMultiStatus()

getResponseBodyAsDocument

public Document getResponseBodyAsDocument()
                                   throws IOException
Description copied from interface: DavMethod
Parse the response body into an Xml Document.

Specified by:
getResponseBodyAsDocument in interface DavMethod
Returns:
Xml document or null if the response stream is null.
Throws:
IOException - If an I/O (transport) problem occurs while obtaining the response body of if the XML parsing fails.
See Also:
DavMethod.getResponseBodyAsDocument()

getResponseException

public DavException getResponseException()
                                  throws IOException
Description copied from interface: DavMethod
Builds a DavException for the status line and the DAV:error element that may be present in the response body. If the response does not indicate an error, null will be returned.

Specified by:
getResponseException in interface DavMethod
Returns:
DavException or null if this method did not result in an error.
Throws:
IOException
See Also:
DavMethod.getResponseException()

checkSuccess

public void checkSuccess()
                  throws DavException,
                         IOException
Specified by:
checkSuccess in interface DavMethod
Throws:
DavException
IOException
See Also:
DavMethod.checkSuccess()

succeeded

public boolean succeeded()
Specified by:
succeeded in interface DavMethod
Returns:
true if the method was successfully executed
See Also:
DavMethod.succeeded()

setRequestBody

public void setRequestBody(Document requestBody)
                    throws IOException
Parameters:
requestBody -
Throws:
IOException

setRequestBody

public void setRequestBody(XmlSerializable requestBody)
                    throws IOException
Parameters:
requestBody -
Throws:
IOException

isSuccess

protected abstract boolean isSuccess(int statusCode)
Parameters:
statusCode -
Returns:
true if the specified status code corresponds to a successfully completed request.

setSuccess

protected void setSuccess(boolean success)
Parameters:
success -

getSuccess

protected boolean getSuccess()
Returns:
true if this method was successfully executed; false otherwise.

processMultiStatusBody

protected void processMultiStatusBody(MultiStatus multiStatus,
                                      org.apache.commons.httpclient.HttpState httpState,
                                      org.apache.commons.httpclient.HttpConnection httpConnection)
This method is invoked during the processResponseBody(HttpState, HttpConnection), which in this implementation parses the response body into a MultiStatus object if the status code indicates 207 (MultiStatus).
Subclasses may want to override this method in order to apply specific validation of the multi-status.

This implementation does nothing.

Parameters:
multiStatus -
httpState -
httpConnection -
See Also:
processResponseBody(HttpState, HttpConnection)

processStatusLine

protected void processStatusLine(org.apache.commons.httpclient.HttpState httpState,
                                 org.apache.commons.httpclient.HttpConnection httpConnection)
Overrides:
processStatusLine in class org.apache.commons.httpclient.HttpMethodBase
Parameters:
httpState -
httpConnection -

processResponseBody

protected void processResponseBody(org.apache.commons.httpclient.HttpState httpState,
                                   org.apache.commons.httpclient.HttpConnection httpConnection)
In case of a MultiStatus response code, this method parses the response body and resets the 'success' flag depending on the multistatus content, which could indicate method failure as well.

Overrides:
processResponseBody in class org.apache.commons.httpclient.HttpMethodBase
Parameters:
httpState -
httpConnection -
See Also:
HttpMethodBase.processResponseBody(HttpState, HttpConnection)


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