Class ReportMethod

  • All Implemented Interfaces:
    org.apache.commons.httpclient.HttpMethod, DepthSupport

    public class ReportMethod
    extends XMLResponseMethodBase
    implements 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:

    • Constructor Summary

      Constructors 
      Constructor Description
      ReportMethod()
      Method constructor.
      ReportMethod​(java.lang.String path)
      Method constructor.
      ReportMethod​(java.lang.String path, int depth)
      Method constructor.
      ReportMethod​(java.lang.String path, int depth, java.lang.String sBody)  
      ReportMethod​(java.lang.String path, int depth, java.util.Enumeration propertyNames)
      Method constructor.
      ReportMethod​(java.lang.String path, int depth, java.util.Enumeration propertyNames, java.util.Enumeration histUrl)
      Method constructor.
      ReportMethod​(java.lang.String path, java.util.Enumeration propertyNames)
      Method constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addRequestHeaders​(org.apache.commons.httpclient.HttpState state, org.apache.commons.httpclient.HttpConnection conn)
      Generate additional headers needed by the request.
      protected java.lang.String generateRequestBody()
      DAV requests that contain a body must override this function to generate that body.
      java.util.Enumeration getAllResponseURLs()
      This method returns an enumeration of URL paths.
      int getDepth()
      Depth getter.
      java.lang.String getName()  
      java.util.Enumeration getResponseProperties​(java.lang.String urlPath)
      Returns an enumeration of Property 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​(java.util.Enumeration historyURLs)
      sets History URL for locate by history Report
      void setPropertyNames​(java.util.Enumeration propertyNames)
      Property names setter.
      void setRequestHeader​(java.lang.String headerName, java.lang.String headerValue)
      Set a header value, redirecting attempts to set the "Depth" header to a setDepth(int) call.
      void setType​(int type)
      Type setter.
      • 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ALL

        public static final int ALL
        Request of all properties name and value.
        See Also:
        Constant Field Values
      • sVersionHistory

        public java.lang.String sVersionHistory
      • type

        protected int type
        Type of the Propfind.
      • propertyNames

        protected PropertyName[] propertyNames
        Property name list.
      • depth

        protected int depth
        Depth.
      • prefix

        protected java.lang.String prefix
        The namespace abbreviation that prefixes DAV tags
    • Constructor Detail

      • ReportMethod

        public ReportMethod()
        Method constructor.
      • ReportMethod

        public ReportMethod​(java.lang.String path)
        Method constructor.
      • ReportMethod

        public ReportMethod​(java.lang.String path,
                            int depth)
        Method constructor.
      • ReportMethod

        public ReportMethod​(java.lang.String path,
                            java.util.Enumeration propertyNames)
        Method constructor.
      • ReportMethod

        public ReportMethod​(java.lang.String path,
                            int depth,
                            java.util.Enumeration propertyNames,
                            java.util.Enumeration histUrl)
        Method constructor.
      • ReportMethod

        public ReportMethod​(java.lang.String path,
                            int depth,
                            java.util.Enumeration propertyNames)
        Method constructor.
      • ReportMethod

        public ReportMethod​(java.lang.String path,
                            int depth,
                            java.lang.String sBody)
    • Method Detail

      • setRequestHeader

        public void setRequestHeader​(java.lang.String headerName,
                                     java.lang.String headerValue)
        Set a header value, redirecting attempts to set the "Depth" header to a setDepth(int) call.
        Specified by:
        setRequestHeader in interface org.apache.commons.httpclient.HttpMethod
        Overrides:
        setRequestHeader in class org.apache.commons.httpclient.HttpMethodBase
        Parameters:
        headerName - Header name
        headerValue - 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 interface DepthSupport
        Parameters:
        depth - New depth value
      • getDepth

        public int getDepth()
        Depth getter.
        Specified by:
        getDepth in interface DepthSupport
        Returns:
        int depth value
      • setPropertyNames

        public void setPropertyNames​(java.util.Enumeration propertyNames)
        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

        public void setHistoryURLs​(java.util.Enumeration historyURLs)
        sets History URL for locate by history Report
      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface org.apache.commons.httpclient.HttpMethod
        Specified by:
        getName in class org.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 interface org.apache.commons.httpclient.HttpMethod
        Overrides:
        recycle in class XMLResponseMethodBase
      • addRequestHeaders

        public void addRequestHeaders​(org.apache.commons.httpclient.HttpState state,
                                      org.apache.commons.httpclient.HttpConnection conn)
                               throws java.io.IOException,
                                      org.apache.commons.httpclient.HttpException
        Generate additional headers needed by the request.
        Overrides:
        addRequestHeaders in class org.apache.commons.httpclient.HttpMethodBase
        Parameters:
        state - State token
        conn - The connection being used to make the request.
        Throws:
        java.io.IOException
        org.apache.commons.httpclient.HttpException
      • generateRequestBody

        protected java.lang.String 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 class XMLResponseMethodBase
      • getAllResponseURLs

        public java.util.Enumeration 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

        public java.util.Enumeration getResponseProperties​(java.lang.String urlPath)
        Returns an enumeration of Property objects.