### *** This interface provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.services.webdav

# Interface DAVResourceInterface

All Superinterfaces:
  `Remote`

All Known Implementing Classes:
  `DAVResource`

@SASScope("ALL") @BinaryCompatibilityOnly public interface DAVResourceInterface extends Remote
Provides the interface for a DAV Resource. A DAVResource is a WebDAV (Distributed Authoring and Versioning) resource as specified in IETF RFC 2518.

Since:
  9.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes the socket used for this connection.
  `org.apache.http.entity.ContentType`
  `contentType()`
  Gets the Apache HTTP entity content type of the content for this DAV resource.
  `DAVResource`
  `copy(String targetUrl)`
  Copies resource to the target destination.
  `void`
  `delete()`
  Deletes this DAV resource.
  `void`
  `doCheckin()`
  Check in this DAV resource.
  `void`
  `doCheckout()`
  Checks out this DAV resource.
  `void`
  `doControl()`
  Puts the resource under version control.
  `void`
  `doLabel(int labelAction, String label)`
  Modifies the version label on the resource (if this is supported by the server).
  `void`
  `doLabel(int labelAction, String label, int depth)`
  Modifies the label on the version resource (if this is supported by the server).
  `DavPropertyResult`
  `doReport(org.apache.jackrabbit.webdav.version.report.ReportInfo reportInfo)`
  Gets a report on the current DAV resource.
  `DavPropertyResult`
  `doSearch(org.apache.jackrabbit.webdav.search.SearchInfo searchInfo)`
  The SEARCH method invokes one of the implemented search grammars on the server to evaluate the query.
  `void`
  `doUncheckout()`
  Uncheckout this DAV resource, canceling a previous checkout.
  `boolean`
  `exists()`
  Returns whether the resource exists.
  `Acl`
  `getAcl()`
  Gets the access control list for this DAV resource.
  `String`
  `getACL()`
  Gets the access control list (ACL) for this DAV resource.
  `Version`
  `getCheckedIn()`
  Retrieves the currently checked in resource.
  `Version`
  `getCheckedOut()`
  Retrieves the currently checked out resource.
  `List`
  `getChildrenList(String path)`
  Gets the list of children.
  `byte[]`
  `getContents()`
  Gets the contents of this DAV resource as a byte array.
  `void`
  `getContents(File fileData)`
  Gets the content of this DAV resource into a file specified as the parameter.
  `String`
  `getContentsAsString()`
  Gets the contents of this DAV resource as a String.
  `InputStream`
  `getContentsInputStream()`
  Gets the content of this DAV resource as a stream.
  `String`
  `getContentType()`
  Gets the content type of the content for this DAV resource.
  `DavPropertyResult`
  `getDavProperties()`
  Gets all of the DAV resource's properties using the resource's depth.
  `DavPropertyResult`
  `getDavProperties(int depth)`
  Gets all of the DAV resource's properties for the specified depth.
  `DavPropertyResult`
  `getDavProperties(PropertyName[] propertyNames)`
  Gets all the properties for the specified property names on the DAV resource.
  `DavPropertyResult`
  `getDavProperties(PropertyName[] propertyNames, int depth)`
  Gets all the properties for the specified property names on the DAV resource.
  `DavPropertyResult`
  `getDavProperties(org.apache.jackrabbit.webdav.property.DavPropertyNameSet davPropertyNameSet, int depth)`
  Gets the properties for the specified DAV property names and search depth.
  `DavPropertyResult`
  `getDavPropertyNames()`
  Gets DAV properties for all of a DAV resource's property names.
  `DavPropertyResult`
  `getDavPropertyNames(int depth)`
  Gets DAV properties for all of a DAV resource's property names for the specified depth.
  `int`
  `getDepth()`
  Gets the value for depth.
  `int`
  `getExistsRequirement()`
  Gets the existence requirement.
  `boolean`
  `getOverwrite()`
  Gets the overwrite flag which specifies whether this DAV resource can be overwritten.
  `String`
  `getPath()`
  Gets the path for the WebDAV resource that is currently represented by this DAVResource.
  `List`
  `getPreviousVersionNames()`
  Gets a list of previous version names for this DAV resource.
  `int`
  `getStatusCode()`
  Gets the HTTP status code for the last operation/method.
  `String`
  `getStatusMessage()`
  Gets the message associated with the status code for the last operation/method.
  `String`
  `getTempDir()`
  Returns the current setting for the directory for temporary files.
  `URL`
  `getURL()`
  Gets the URL that this DAV resource represents.
  `Version`
  `getVersion(String versionName)`
  Gets a particular version of this DAV resource.
  `boolean`
  `isCollection()`
  Is this DAV resource a collection?
  `boolean`
  `isLocked()`
  Is this DAV resource locked?
  `String`
  `lock()`
  Locks this DAV resource.
  `boolean`
  `makeCollection()`
  Makes a collection.
  `DAVResource`
  `move(String targetUrl)`
  Moves this DAV resource to the location given in the parameter.
  `void`
  `removeProperties(PropertyName[] propNames)`
  Removes the properties specified in the parameter.
  `void`
  `removeProperties(Element[] propNames)`
  Removes the properties specified in the parameter.
  `void`
  `removeProperty(PropertyName propName)`
  Removes the property specified in the parameter.
  `void`
  `removeProperty(String propName)`
  Removes the property specified in the parameter.
  `void`
  `removeProperty(Element propName)`
  Removes the property specified in the parameter.
  `String`
  `setAcl(Acl acl)`
  Sets the access control list for this DAV resource.
  `String`
  `setACL(String acl)`
  Set/Update the Access Control List for this DAV resource.
  `void`
  `setContents(byte[] contents)`
  Sets the contents of the resource, passing in a byte array.
  `void`
  `setContents(InputStream is)`
  Sets the contents of the resource from an input stream.
  `void`
  `setContents(String content)`
  Sets the contents of the resource, passing in a URL.
  `void`
  `setContents(URL url)`
  Sets the contents of the resource, passing in a URL.
  `void`
  `setContentType(String contentType)`
  Sets the contents type for the content of the resource.
  `void`
  `setCredentialsProvider(org.apache.http.client.CredentialsProvider credentialsProvider)`
  Sets a credentials provider.
  `void`
  `setDepth(int depth)`
  Set the value for depth.
  `void`
  `setExistsRequirement(int requirement)`
  Sets the existence requirement.
  `void`
  `setOverwrite(boolean overwrite)`
  Sets the overwrite flag which specifies whether this DAV resource can be overwritten.
  `void`
  `setPath(String path)`
  Sets the path for this DAV resource.
  `void`
  `setProperties(PropertyName[] propNames, String[] propValues)`
  Sets the values of properties, as given in the parameter.
  `void`
  `setProperties(DocumentFragment props)`
  Sets the values of properties, as given in the parameter.
  `void`
  `setProperties(Element[] props)`
  Sets the values of properties, as given in the parameter.
  `void`
  `setProperty(PropertyName propName, String propValue)`
  Sets the value of a property, as given in the parameter.
  `void`
  `setProperty(Element prop)`
  Sets the value of a property, as given in the parameter.
  `void`
  `setTempDir(String tempDir)`
  Provides a way to set a directory for temporary files.
  `boolean`
  `SUCCEEDED()`
  Returns whether the last method was successful or not.
  `void`
  `unlock()`
  Unlocks the resource, if previously locked by the same principal.
  `void`
  `unlock(String lockToken)`
  Unlocks the resource, with the correct `locktoken`.

- ## Method Details

  - ### delete

    void delete() throws DAVException, RemoteException
    Deletes this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### getContents

    void getContents(File fileData) throws DAVException, RemoteException
    Gets the content of this DAV resource into a file specified as the parameter.
    Parameters:
      `fileData` - The file into which the contents of the resource should be written.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### getContents

    byte[] getContents() throws DAVException, RemoteException
    Gets the contents of this DAV resource as a byte array.
    Returns:
      byte[] The contents of the resource as a byte array
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### getContentsAsString

    String getContentsAsString() throws DAVException, RemoteException
    Gets the contents of this DAV resource as a String.
    Returns:
      String representation of the contents of this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### getContentType

    String getContentType() throws DAVException, RemoteException
    Gets the content type of the content for this DAV resource.
    Returns:
      String The content type for this DAV resource
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.
    See Also:
      - `contentType()`
      - `setContentType(String)`

  - ### contentType

    org.apache.http.entity.ContentType contentType() throws DAVException, RemoteException
    Gets the Apache HTTP entity content type of the content for this DAV resource.
    Returns:
      Apache HTTP entity content type of the content for this DAV resource or `null` if no MIME type has been specified.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.
    Since:
      9.4m8
    See Also:
      - `getContentType()`
      - `setContentType(String)`

  - ### getContentsInputStream

    InputStream getContentsInputStream() throws DAVException, RemoteException
    Gets the content of this DAV resource as a stream.
    Returns:
      InputStream The stream representing the content of the resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### getStatusCode

    int getStatusCode() throws DAVException, RemoteException
    Gets the HTTP status code for the last operation/method.
    Returns:
      The HTTP status code for the last request on this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### getStatusMessage

    String getStatusMessage() throws DAVException, RemoteException
    Gets the message associated with the status code for the last operation/method.
    Returns:
      The status message for the last request on this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### getURL

    URL getURL() throws DAVException, RemoteException
    Gets the URL that this DAV resource represents.
    Returns:
      The URL for this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### isCollection

    boolean isCollection() throws DAVException, RemoteException
    Is this DAV resource a collection?
    Returns:
      `true` if it is a collection, `false` otherwise.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### isLocked

    boolean isLocked() throws DAVException, RemoteException
    Is this DAV resource locked?
    Returns:
      `true` if it is locked, `false` otherwise.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### lock

    String lock() throws DAVException, RemoteException
    Locks this DAV resource.
    Returns:
      The lock token if the resource is successfully locked.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### move

    DAVResource move(String targetUrl) throws DAVException, RemoteException
    Moves this DAV resource to the location given in the parameter.
    Parameters:
      `targetUrl` - The destination URL for this copy.
    Returns:
      A DAVResource that represents the new resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### removeProperties

    void removeProperties(PropertyName[] propNames) throws DAVException, RemoteException
    Removes the properties specified in the parameter.
    Parameters:
      `propNames` - An array of property names that should be removed.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### removeProperties

    void removeProperties(Element[] propNames) throws DAVException, RemoteException
    Removes the properties specified in the parameter.
    Parameters:
      `propNames` - An array of property names that should be removed.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### removeProperty

    void removeProperty(Element propName) throws DAVException, RemoteException
    Removes the property specified in the parameter.
    Parameters:
      `propName` - The name of a property that should be removed from this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### removeProperty

    void removeProperty(String propName) throws DAVException, RemoteException
    Removes the property specified in the parameter.
    Parameters:
      `propName` - The name of a property that should be removed from this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### removeProperty

    void removeProperty(PropertyName propName) throws DAVException, RemoteException
    Removes the property specified in the parameter.
    Parameters:
      `propName` - The name of a property that should be removed from this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### setContents

    void setContents(byte[] contents) throws DAVException, RemoteException
    Sets the contents of the resource, passing in a byte array.
    Parameters:
      `contents` - The byte array containing the content for this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### setContents

    void setContents(URL url) throws DAVException, RemoteException
    Sets the contents of the resource, passing in a URL.
    Parameters:
      `url` - A URL that represents the content for this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### setContents

    void setContents(String content) throws DAVException, RemoteException
    Sets the contents of the resource, passing in a URL.
    Parameters:
      `content` - The string containing the content for this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### setContents

    void setContents(InputStream is) throws DAVException, RemoteException
    Sets the contents of the resource from an input stream. For remote deployment the InputStream should be wrapped in an `InputStreamAdapter`.
    Parameters:
      `is` - An input stream representing the content for this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### setContentType

    void setContentType(String contentType) throws DAVException, RemoteException
    Sets the contents type for the content of the resource.
    Parameters:
      `contentType` - The content type for this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.
    See Also:
      - `contentType()`
      - `getContentType()`

  - ### setProperties

    void setProperties(Element[] props) throws DAVException, RemoteException
    Sets the values of properties, as given in the parameter.
    Parameters:
      `props` - An array of properties to be set on this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### setProperties

    void setProperties(PropertyName[] propNames, String[] propValues) throws DAVException, RemoteException
    Sets the values of properties, as given in the parameter.
    Parameters:
      `propNames` - An array of property names to be set on this DAV resource.
      `propValues` - An array of property values to be set on this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### setProperties

    void setProperties(DocumentFragment props) throws DAVException, RemoteException
    Sets the values of properties, as given in the parameter.
    Parameters:
      `props` - An XML document fragment that defines the properties to be set on this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### setProperty

    void setProperty(PropertyName propName, String propValue) throws DAVException, RemoteException
    Sets the value of a property, as given in the parameter.
    Parameters:
      `propName` - An property name to be set on this DAV resource.
      `propValue` - A property value to be set on this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### setProperty

    void setProperty(Element prop) throws DAVException, RemoteException
    Sets the value of a property, as given in the parameter.
    Parameters:
      `prop` - An XML element that represents a property to be set on this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### unlock

    void unlock() throws DAVException, RemoteException
    Unlocks the resource, if previously locked by the same principal.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### unlock

    void unlock(String lockToken) throws DAVException, RemoteException
    Unlocks the resource, with the correct `locktoken`.
    Parameters:
      `lockToken` - The lock token for this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### getOverwrite

    boolean getOverwrite() throws DAVException, RemoteException
    Gets the overwrite flag which specifies whether this DAV resource can be overwritten.
    Returns:
      `true` if the overwrite flag is set, `false` otherwise
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### setOverwrite

    void setOverwrite(boolean overwrite) throws DAVException, RemoteException
    Sets the overwrite flag which specifies whether this DAV resource can be overwritten.
    Parameters:
      `overwrite` - The value of the overwrite flag to set on the resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### setDepth

    void setDepth(int depth) throws DAVException, RemoteException
    Set the value for depth. This is the depth on which DAV operations will be based. They can be one of three values:
    - `DavConstants.DEPTH_0`
    - `DavConstants.DEPTH_1`
    - `DavConstants.DEPTH_INFINITY`
    Parameters:
      `depth` - The depth on which DAV operations will be based. Specify one of `DavConstants.DEPTH_0` or `DavConstants.DEPTH_1` or `DavConstants.DEPTH_INFINITY`.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### getDepth

    int getDepth() throws DAVException, RemoteException
    Gets the value for depth. This is the depth on which DAV operations will be based. They can be one of three values:
    - `DavConstants.DEPTH_0`
    - `DavConstants.DEPTH_1`
    - `DavConstants.DEPTH_INFINITY`
    Returns:
      The depth on which DAV operations will be based.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.

  - ### close

    void close() throws RemoteException
    Closes the socket used for this connection. This can be useful for servers that have a limit on the number of connections (e.g. IIS), and provides a way to control network resources.
    Throws:
      `RemoteException` - in the event of network failure.

  - ### setTempDir

    void setTempDir(String tempDir) throws RemoteException
    Provides a way to set a directory for temporary files. The `java.io.tmp` system property can be used to set this value at JVM invocation. If the system property is not set "/temp/" is the default, but can be overridden with this method.
    Parameters:
      `tempDir` - Temporary directory for temporary files.
    Throws:
      `RemoteException` - in the event of network failure.

  - ### getTempDir

    String getTempDir() throws RemoteException
    Returns the current setting for the directory for temporary files.
    Returns:
      The temporary directory for temporary files.
    Throws:
      `RemoteException` - in the event of network failure.

  - ### exists

    boolean exists() throws RemoteException
    Returns whether the resource exists.
    Returns:
      `true` if resource exists, `false` otherwise.
    Throws:
      `RemoteException` - in the event of network failure.

  - ### getACL

    String getACL() throws DAVException, RemoteException
    Gets the access control list (ACL) for this DAV resource.
    Returns:
      String An XML serialized document describing the ACL for this DAV resource.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.
    See Also:
      - `getAcl()`
      - `setACL(String)`

  - ### setACL

    String setACL(String acl) throws DAVException, RemoteException
    Set/Update the Access Control List for this DAV resource.
    Parameters:
      `acl` - An XML serialized document describing the ACL for this DAV resource.
    Returns:
      Document The result document from the ACL method or `null` if there was no response document.
    Throws:
      `DAVException` - in the event of a WebDAV failure.
      `RemoteException` - in the event of network failure.
    See Also:
      - `getACL()`

  - ### getPath

    String getPath() throws RemoteException
    Gets the path for the WebDAV resource that is currently represented by this DAVResource.
    Returns:
      The current path for this DAV resource.
    Throws:
      `RemoteException` - in the event of a network failure.

  - ### setPath

    void setPath(String path) throws RemoteException
    Sets the path for this DAV resource. If the resource was originally created as http://server/origpath, then calling this method will change the resource path to http://server/path. This allows the same DAVResource object to be used for any WebDAV resource.
    Parameters:
      `path` - The new path for the WebDAV resource.
    Throws:
      `RemoteException` - in the event of a network failure.

  - ### makeCollection

    boolean makeCollection() throws DAVException, RemoteException
    Makes a collection. This method only works on a null resource (one that doesn't exist yet). One would normally call this method immediately after creating this DAVResource.
    Returns:
      boolean True is make collection successful, false otherwise.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.

  - ### SUCCEEDED

    boolean SUCCEEDED() throws RemoteException
    Returns whether the last method was successful or not. The HTTP status codes in the range 200-299 are successful. All others indicate some sort of unsuccessful attempt.
    Returns:
      `true` if last method was successful, `false` otherwise.
    Throws:
      `RemoteException` - in the case of network failures.

  - ### copy

    DAVResource copy(String targetUrl) throws DAVException, RemoteException
    Copies resource to the target destination.
    Parameters:
      `targetUrl` - location to which current resource is to be copied.
    Returns:
      If successful, then a new DAVResource representing the new destination is created and returned.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.

  - ### doControl

    void doControl() throws DAVException, RemoteException
    Puts the resource under version control.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.

  - ### doLabel

    void doLabel(int labelAction, String label) throws DAVException, RemoteException
    Modifies the version label on the resource (if this is supported by the server).
    Parameters:
      `labelAction` - Specifies the action which is to be executed.
      - LabelInfo#TYPE_SET
      - LabelInfo#TYPE_REMOVE
      - LabelInfo#TYPE_ADD
      `label` - The value of the label.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.
    See Also:
      - `doLabel(int, String, int)`

  - ### doLabel

    void doLabel(int labelAction, String label, int depth) throws DAVException, RemoteException
    Modifies the label on the version resource (if this is supported by the server).
    Parameters:
      `labelAction` - Specifies the action which is to be executed.
      - LabelInfo#TYPE_SET
      - LabelInfo#TYPE_REMOVE
      - LabelInfo#TYPE_ADD
      `label` - The value of the label.
      `depth` - The depth.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.
    See Also:
      - `doLabel(int, String)`

  - ### getPreviousVersionNames

    List getPreviousVersionNames() throws DAVException, RemoteException
    Gets a list of previous version names for this DAV resource.
    Returns:
      List(String) The version names for this DAV resource.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.

  - ### doCheckout

    void doCheckout() throws DAVException, RemoteException
    Checks out this DAV resource.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.

  - ### doCheckin

    void doCheckin() throws DAVException, RemoteException
    Check in this DAV resource.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.

  - ### doUncheckout

    void doUncheckout() throws DAVException, RemoteException
    Uncheckout this DAV resource, canceling a previous checkout.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.

  - ### getVersion

    Version getVersion(String versionName) throws DAVException, RemoteException
    Gets a particular version of this DAV resource.
    Parameters:
      `versionName` - Which version to retrieve for this DAV resource.
    Returns:
      Version An object describing the version of this DAV resource.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.

  - ### getCheckedIn

    Version getCheckedIn() throws DAVException, RemoteException
    Retrieves the currently checked in resource.
    Returns:
      Version An object describing the version that is checked in.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.

  - ### getCheckedOut

    Version getCheckedOut() throws DAVException, RemoteException
    Retrieves the currently checked out resource.
    Returns:
      Version An object describing the version that is checked out.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.

  - ### setExistsRequirement

    void setExistsRequirement(int requirement) throws RemoteException
    Sets the existence requirement.
    Parameters:
      `requirement` - `0` if we don't care or `1` if it must exist or `2` if it must not exist.
    Throws:
      `RemoteException` - in the case of network failures.

  - ### getExistsRequirement

    int getExistsRequirement() throws RemoteException
    Gets the existence requirement.
    Returns:
      `0` if we don't care or `1` if it must exist or `2` if it must not exist.
    Throws:
      `RemoteException` - in the case of network failures.

  - ### getAcl

    Acl getAcl() throws DAVException, RemoteException
    Gets the access control list for this DAV resource.
    Returns:
      The access control list for this DAV resource.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.
    See Also:
      - `getACL()`
      - `setAcl(Acl)`

  - ### setAcl

    String setAcl(Acl acl) throws DAVException, RemoteException
    Sets the access control list for this DAV resource.
    Parameters:
      `acl` - The access control list to set for this DAV resource.
    Returns:
      The string representation of the access control list or `null` if there was no response document.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.
    See Also:
      - `getAcl()`

  - ### getChildrenList

    List getChildrenList(String path) throws DAVException, RemoteException
    Gets the list of children. If this is not a collection, or is an empty collection the returned list will be empty. Otherwise, it will contain the path for each child in the collection.
    Parameters:
      `path` - The path of this DAV resource.
    Returns:
      List (of String) The paths for the children.
    Throws:
      `DAVException` - in the case of a WebDAV error.
      `RemoteException` - in the case of network failures.

  - ### setCredentialsProvider

    void setCredentialsProvider(org.apache.http.client.CredentialsProvider credentialsProvider)
    Sets a credentials provider. When authentication has failed, the credentials provider is called to provide a set of credentials for authentication. This allows an external agent to provide credentials when original credentials no longer work e.g. one-time passwords.

  - ### getDavProperties

    DavPropertyResult getDavProperties() throws DAVException, RemoteException
    Gets all of the DAV resource's properties using the resource's depth.
    Returns:
      `DavPropertyResult` which has the DAV properties which were returned by the property find method.
    Throws:
      `DAVException` - in the case of server failures.
      `RemoteException` - in the case of network failures.
    Since:
      9.4m8
    See Also:
      - `setDepth(int)`
      - `getDavProperties(int)`

  - ### getDavProperties

    DavPropertyResult getDavProperties(int depth) throws DAVException, RemoteException
    Gets all of the DAV resource's properties for the specified depth.
    Parameters:
      `depth` - The depth on which DAV operations will be based. Specify one of `DavConstants.DEPTH_0` or `DavConstants.DEPTH_1` or `DavConstants.DEPTH_INFINITY`.
    Returns:
      `DavPropertyResult` which has the DAV properties which were returned by the property find method.
    Throws:
      `DAVException` - in the case of server failures.
      `RemoteException` - in the case of network failures.
    Since:
      9.4m8
    See Also:
      - `getDavProperties()`

  - ### getDavProperties

    DavPropertyResult getDavProperties(org.apache.jackrabbit.webdav.property.DavPropertyNameSet davPropertyNameSet, int depth) throws DAVException, RemoteException
    Gets the properties for the specified DAV property names and search depth.
    Parameters:
      `davPropertyNameSet` - Set of the names of the DAV properties which should be returned.
      `depth` - The depth on which DAV operations will be based. Specify one of `DavConstants.DEPTH_0` or `DavConstants.DEPTH_1` or `DavConstants.DEPTH_INFINITY`.
    Returns:
      `DavPropertyResult` which has the DAV properties which were returned by the property find method.
    Throws:
      `DAVException` - in the case of server failures.
      `RemoteException` - in the case of network failures.
    Since:
      9.4m8

  - ### getDavProperties

    DavPropertyResult getDavProperties(PropertyName[] propertyNames) throws DAVException, RemoteException
    Gets all the properties for the specified property names on the DAV resource.
    Parameters:
      `propertyNames` - Array of property names, specifying which properties should be returned.
    Returns:
      `DavPropertyResult` which has the DAV properties which were returned by the property find method.
    Throws:
      `DAVException` - in the case of server failures.
      `RemoteException` - in the case of network failures.
    Since:
      9.4m8

  - ### getDavProperties

    DavPropertyResult getDavProperties(PropertyName[] propertyNames, int depth) throws DAVException, RemoteException
    Gets all the properties for the specified property names on the DAV resource.
    Parameters:
      `propertyNames` - Array of property names, specifying which properties should be returned.
      `depth` - The depth on which DAV operations will be based. Specify one of `DavConstants.DEPTH_0` or `DavConstants.DEPTH_1` or `DavConstants.DEPTH_INFINITY`.
    Returns:
      `DavPropertyResult` which has the DAV properties which were returned by the property find method.
    Throws:
      `DAVException` - in the case of server failures.
      `RemoteException` - in the case of network failures.
    Since:
      9.4m8

  - ### getDavPropertyNames

    DavPropertyResult getDavPropertyNames() throws DAVException, RemoteException
    Gets DAV properties for all of a DAV resource's property names.
    Returns:
      `DavPropertyResult` which has the DAV properties which were returned by the property find method.
    Throws:
      `DAVException` - in the case of server failures.
      `RemoteException` - in the case of network failures.
    Since:
      9.4m8
    See Also:
      - `getDavPropertyNames(int)`
      - `setDepth(int)`

  - ### getDavPropertyNames

    DavPropertyResult getDavPropertyNames(int depth) throws DAVException, RemoteException
    Gets DAV properties for all of a DAV resource's property names for the specified depth.
    Parameters:
      `depth` -
    Returns:
      `DavPropertyResult` which has the DAV properties which were returned by the property find method.
    Throws:
      `DAVException` - in the case of server failures.
      `RemoteException` - in the case of network failures.
    See Also:
      - `getDavPropertyNames()`

  - ### doReport

    DavPropertyResult doReport(org.apache.jackrabbit.webdav.version.report.ReportInfo reportInfo) throws DAVException, RemoteException
    Gets a report on the current DAV resource. The `ReportInfo` parameter specifies the following information.
    - report type
    - depth
    - property names
    Parameters:
      `reportInfo` - Information which specifies the desired report.
    Returns:
      `DavPropertyResult` which has the DAV properties which were returned by the property report method.
    Throws:
      `DAVException` - in the case of server failures.
      `RemoteException` - in the case of network failures.
    Since:
      9.4m8

  - ### doSearch

    DavPropertyResult doSearch(org.apache.jackrabbit.webdav.search.SearchInfo searchInfo) throws DAVException, RemoteException
    The SEARCH method invokes one of the implemented search grammars on the server to evaluate the query.
    Parameters:
      `searchInfo` - The search criteria.
    Returns:
      `DavPropertyResult` which has the DAV properties which were returned by the property find method.
    Throws:
      `DAVException` - in the case of server failures.
      `RemoteException` - in the case of network failures.
    Since:
      9.4m8