Package org.apache.webdav.lib.methods
Class ReportMethod
java.lang.Object
org.apache.commons.httpclient.HttpMethodBase
org.apache.webdav.lib.methods.HttpRequestBodyMethodBase
org.apache.webdav.lib.methods.XMLResponseMethodBase
org.apache.webdav.lib.methods.ReportMethod
- All Implemented Interfaces:
org.apache.commons.httpclient.HttpMethod
,DepthSupport
This class implements the WebDAV REPORT Method.
The REPORT method retrieves properties defined on the resource identified by the Request-URI, if the resource does not have any internal members, or on the resource identified by the Request-URI and potentially its member resources, if the resource is a collection that has internal member URIs.
A typical request looks like this:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.webdav.lib.methods.XMLResponseMethodBase
XMLResponseMethodBase.OptionsResponse, XMLResponseMethodBase.Response, XMLResponseMethodBase.ResponseWithinMultistatus, XMLResponseMethodBase.SingleResponse
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Request of all properties name and value.protected int
Depth.static final int
protected String
The namespace abbreviation that prefixes DAV tagsprotected PropertyName[]
Property name list.static final int
Request specified properties.protected int
Type of the Propfind.Fields inherited from class org.apache.webdav.lib.methods.XMLResponseMethodBase
builder, decodeResponseHrefs, responseURLs
Fields inherited from class org.apache.commons.httpclient.HttpMethodBase
effectiveVersion, statusLine
Fields inherited from interface org.apache.webdav.lib.methods.DepthSupport
DEPTH_0, DEPTH_1, DEPTH_INFINITY
-
Constructor Summary
ConstructorsConstructorDescriptionMethod constructor.ReportMethod
(String path) Method constructor.ReportMethod
(String path, int depth) Method constructor.ReportMethod
(String path, int depth, String sBody) ReportMethod
(String path, int depth, Enumeration propertyNames) Method constructor.ReportMethod
(String path, int depth, Enumeration propertyNames, Enumeration histUrl) Method constructor.ReportMethod
(String path, Enumeration propertyNames) Method constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addRequestHeaders
(org.apache.commons.httpclient.HttpState state, org.apache.commons.httpclient.HttpConnection conn) Generate additional headers needed by the request.protected String
DAV requests that contain a body must override this function to generate that body.This method returns an enumeration of URL paths.int
getDepth()
Depth getter.getName()
getResponseProperties
(String urlPath) Returns an enumeration ofProperty
objects.int
getType()
Type getter.void
recycle()
Reset the State of the class to its initial state, so that it can be used again.void
setDepth
(int depth) Depth setter.void
setHistoryURLs
(Enumeration historyURLs) sets History URL for locate by history Reportvoid
setPropertyNames
(Enumeration propertyNames) Property names setter.void
setRequestHeader
(String headerName, String headerValue) Set a header value, redirecting attempts to set the "Depth" header to asetDepth(int)
call.void
setType
(int type) Type setter.Methods inherited from class org.apache.webdav.lib.methods.XMLResponseMethodBase
convertElementToProperty, getDebug, getRequestContentLength, getResponseDocument, getResponseHashtable, getResponses, getResponseURLs, parseResponse, parseXMLResponse, readResponseBody, setDebug, setDecodeResponseHrefs, setDocument, setResponseHashtable, writeRequestBody
Methods inherited from class org.apache.webdav.lib.methods.HttpRequestBodyMethodBase
isRequestContentAlreadySet, readContinueCode, setRequestBody, setRequestBody, setRequestBody, setRequestBody, setRequestBody
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, getFollowRedirects, getHostAuthState, getHostConfiguration, getMethodRetryHandler, getParams, getPath, getProxyAuthenticationRealm, getProxyAuthState, getQueryString, getRecoverableExceptionCount, getRequestCharSet, getRequestHeader, getRequestHeaderGroup, getRequestHeaders, getRequestHeaders, getResponseBody, getResponseBody, getResponseBodyAsStream, getResponseBodyAsString, getResponseBodyAsString, getResponseCharSet, getResponseContentLength, getResponseFooter, getResponseFooters, getResponseHeader, getResponseHeaderGroup, getResponseHeaders, getResponseHeaders, getResponseStream, getResponseTrailerHeaderGroup, getStatusCode, getStatusLine, getStatusText, getURI, hasBeenUsed, isAborted, isConnectionCloseForced, isHttp11, isRequestSent, isStrictMode, processCookieHeaders, processResponseBody, processResponseHeaders, processStatusLine, readResponse, readResponseHeaders, readStatusLine, releaseConnection, removeRequestHeader, removeRequestHeader, responseBodyConsumed, setConnectionCloseForced, setDoAuthentication, setFollowRedirects, setHostConfiguration, setHttp11, setMethodRetryHandler, setParams, setPath, setQueryString, setQueryString, setRequestHeader, setResponseStream, setStrictMode, setURI, shouldCloseConnection, validate, writeRequest, writeRequestHeaders, writeRequestLine
-
Field Details
-
SUB_SET
public static final int SUB_SETRequest specified properties.- See Also:
-
ALL
public static final int ALLRequest of all properties name and value.- See Also:
-
LOCATE_HISTORY
public static final int LOCATE_HISTORY- See Also:
-
sVersionHistory
-
type
protected int typeType of the Propfind. -
propertyNames
Property name list. -
depth
protected int depthDepth. -
prefix
The namespace abbreviation that prefixes DAV tags
-
-
Constructor Details
-
ReportMethod
public ReportMethod()Method constructor. -
ReportMethod
Method constructor. -
ReportMethod
Method constructor. -
ReportMethod
Method constructor. -
ReportMethod
Method constructor. -
ReportMethod
Method constructor. -
ReportMethod
-
-
Method Details
-
setRequestHeader
Set a header value, redirecting attempts to set the "Depth" header to asetDepth(int)
call.- Specified by:
setRequestHeader
in interfaceorg.apache.commons.httpclient.HttpMethod
- Overrides:
setRequestHeader
in classorg.apache.commons.httpclient.HttpMethodBase
- Parameters:
headerName
- Header nameheaderValue
- Header value
-
setType
public void setType(int type) Type setter.- Parameters:
type
- New type value
-
getType
public int getType()Type getter.- Returns:
- int type value
-
setDepth
public void setDepth(int depth) Depth setter.- Specified by:
setDepth
in interfaceDepthSupport
- Parameters:
depth
- New depth value
-
getDepth
public int getDepth()Depth getter.- Specified by:
getDepth
in interfaceDepthSupport
- Returns:
- int depth value
-
setPropertyNames
Property names setter. The enumeration may contain strings with or without a namespace prefix but the preferred way is to provide PropertyName objects.- Parameters:
propertyNames
- List of the property names
-
setHistoryURLs
sets History URL for locate by history Report -
getName
- Specified by:
getName
in interfaceorg.apache.commons.httpclient.HttpMethod
- Specified by:
getName
in classorg.apache.commons.httpclient.HttpMethodBase
-
recycle
public void recycle()Description copied from class:XMLResponseMethodBase
Reset the State of the class to its initial state, so that it can be used again.- Specified by:
recycle
in interfaceorg.apache.commons.httpclient.HttpMethod
- Overrides:
recycle
in classXMLResponseMethodBase
-
addRequestHeaders
public void addRequestHeaders(org.apache.commons.httpclient.HttpState state, org.apache.commons.httpclient.HttpConnection conn) throws IOException, org.apache.commons.httpclient.HttpException Generate additional headers needed by the request.- Overrides:
addRequestHeaders
in classorg.apache.commons.httpclient.HttpMethodBase
- Parameters:
state
- State tokenconn
- The connection being used to make the request.- Throws:
IOException
org.apache.commons.httpclient.HttpException
-
generateRequestBody
DAV requests that contain a body must override this function to generate that body.The default behavior simply returns an empty body.
- Overrides:
generateRequestBody
in classXMLResponseMethodBase
-
getAllResponseURLs
This method returns an enumeration of URL paths. If the ReportMethod was sent to the URL of a collection, then there will be multiple URLs. The URLs are picked out of the<D:href>
elements of the response.- Returns:
- an enumeration of URL paths as Strings
-
getResponseProperties
Returns an enumeration ofProperty
objects.
-