Class ReportMethod

java.lang.Object
org.apache.commons.httpclient.HttpMethodBase
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:

  • Field Details

    • SUB_SET

      public static final int SUB_SET
      Request specified properties.
      See Also:
    • ALL

      public static final int ALL
      Request of all properties name and value.
      See Also:
    • LOCATE_HISTORY

      public static final int LOCATE_HISTORY
      See Also:
    • sVersionHistory

      public String sVersionHistory
    • type

      protected int type
      Type of the Propfind.
    • propertyNames

      protected PropertyName[] propertyNames
      Property name list.
    • depth

      protected int depth
      Depth.
    • prefix

      protected String prefix
      The namespace abbreviation that prefixes DAV tags
  • Constructor Details

    • ReportMethod

      public ReportMethod()
      Method constructor.
    • ReportMethod

      public ReportMethod(String path)
      Method constructor.
    • ReportMethod

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

      public ReportMethod(String path, Enumeration propertyNames)
      Method constructor.
    • ReportMethod

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

      public ReportMethod(String path, int depth, Enumeration propertyNames)
      Method constructor.
    • ReportMethod

      public ReportMethod(String path, int depth, String sBody)
  • Method Details

    • setRequestHeader

      public void setRequestHeader(String headerName, 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(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(Enumeration historyURLs)
      sets History URL for locate by history Report
    • getName

      public 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 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:
      IOException
      org.apache.commons.httpclient.HttpException
    • generateRequestBody

      protected 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 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 Enumeration getResponseProperties(String urlPath)
      Returns an enumeration of Property objects.