## Apache Zeta Components Manual :: Docs For Class ezcWebdavBackend

### Webdav::ezcWebdavBackend

### Class ezcWebdavBackend

Base class to be extended by all backend implementation.

The backend is meant to be extended by an implementation for your data storage. It enforces the base features required for each backend and should be extended by further interfaces for other access methods, like:

- ezcWebdavBackendPut
- ezcWebdavBackendChange
- ezcWebdavBackendMakeCollection
- ezcWebdavBackendLock

Source for this file: /Webdav/src/interfaces/backend.php

Version: | //autogentag//

### Descendants

Child Class | Description
--- | ---
ezcWebdavSimpleBackend | Abstract base class for common backend operations.

### Constants

`COMPRESSION_BZIP2 = 2` | Backend has native support for bzip2 compression.
`COMPRESSION_GZIP = 1` | Backend has native support for gzip compression.
`CUSTOM_LOCK = 4` | Backend performs locking itself - no handling by server is required.
`MULTIPART = 16` | Backend has native support for multipart requests.
`PARTIAL = 8` | Backend has native support for partial requests.

### Method Summary

public abstract ezcWebdavResponse | `get( $request )` Serves GET requests.
public int | `getFeatures( )` Returns additional features supported by the backend.
public abstract ezcWebdavResponse | `head( $request )` Serves HEAD requests.
public ezcWebdavResponse | `options( $request )` Required method to serve OPTIONS requests.
public ezcWebdavResponse | `performRequest( $request )` Performs the given request.
public abstract ezcWebdavResponse | `propFind( $request )` Serves PROPFIND requests.
public abstract ezcWebdavResponse | `propPatch( $request )` Serves PROPPATCH requests.

### Methods

#### get

ezcWebdavResponse get( ezcWebdavGetRequest $request )

Serves GET requests.

The method receives a ezcWebdavGetRequest object containing all relevant information obout the clients request and will return an ezcWebdavErrorResponse instance on error or an instance of ezcWebdavGetResourceResponse or ezcWebdavGetCollectionResponse on success, depending on the type of resource that is referenced by the request.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$request` | ezcWebdavGetRequest |

##### Redefined in descendants as:

Method | Description
--- | ---
`ezcWebdavSimpleBackend::get()` | Serves GET requests.
`ezcWebdavFileBackend::get()` | Serves GET requests.

#### getFeatures

int getFeatures( )

Returns additional features supported by the backend.

Returns a bitmap of additional features supported by the backend, referenced by constants from the basic ezcWebdavBackend class.

##### Redefined in descendants as:

Method | Description
--- | ---
`ezcWebdavSimpleBackend::getFeatures()` | Returns additional features supported by the backend.

#### head

ezcWebdavResponse head( ezcWebdavHeadRequest $request )

Serves HEAD requests.

The method receives a ezcWebdavHeadRequest object containing all relevant information obout the clients request and will return an ezcWebdavErrorResponse instance on error or an instance of ezcWebdavHeadResponse on success.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$request` | ezcWebdavHeadRequest |

##### Redefined in descendants as:

Method | Description
--- | ---
`ezcWebdavSimpleBackend::head()` | Serves HEAD requests.
`ezcWebdavFileBackend::head()` | Serves HEAD requests.

#### options

ezcWebdavResponse options( ezcWebdavOptionsRequest $request )

Required method to serve OPTIONS requests.

The method receives a ezcWebdavOptionsRequest object containing all relevant information obout the clients request and should either return an error by returning an ezcWebdavErrorResponse object, or any other ezcWebdavResponse objects.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$request` | ezcWebdavOptionsRequest |

##### Redefined in descendants as:

Method | Description
--- | ---
`ezcWebdavSimpleBackend::options()` | Handles the OPTIONS request.

#### performRequest

ezcWebdavResponse performRequest( ezcWebdavRequest $request )

Performs the given request.

This method takes an instance of ezcWebdavRequest in $request and dispatches it locally to the correct handling method. A corresponding ezcWebdavResponse object will be returned. If the given request could not be dispatched, because the backend does not implement the neccessary interface or the request type is unknown, a ezcWebdavRequestNotSupportedException is thrown.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$request` | ezcWebdavRequest |

##### Exceptions:

Type | Description
--- | ---
`ezcWebdavRequestNotSupportedException` | if the given request object could not be handled by the backend.

#### propFind

ezcWebdavResponse propFind( ezcWebdavPropFindRequest $request )

Serves PROPFIND requests.

The method receives a ezcWebdavPropFindRequest object containing all relevant information obout the clients request and will either return an instance of ezcWebdavErrorResponse to indicate an error or a ezcWebdavPropFindResponse on success. If the referenced resource is a collection or if some properties produced errors, an instance of ezcWebdavMultistatusResponse may be returned.

The ezcWebdavPropFindRequest object contains a definition to find one or more properties of a given collection or non-collection resource.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$request` | ezcWebdavPropFindRequest |

##### Redefined in descendants as:

Method | Description
--- | ---
`ezcWebdavSimpleBackend::propFind()` | Serves PROPFIND requests.
`ezcWebdavFileBackend::propFind()` | Serves PROPFIND requests.

#### propPatch

ezcWebdavResponse propPatch( ezcWebdavPropPatchRequest $request )

Serves PROPPATCH requests.

The method receives a ezcWebdavPropPatchRequest object containing all relevant information obout the clients request and will return an instance of ezcWebdavErrorResponse on error or a ezcWebdavPropPatchResponse response on success. If the referenced resource is a collection or if only some properties produced errors, an instance of ezcWebdavMultistatusResponse may be returned.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$request` | ezcWebdavPropPatchRequest |

##### Redefined in descendants as:

Method | Description
--- | ---
`ezcWebdavSimpleBackend::propPatch()` | Serves PROPPATCH requests.
`ezcWebdavFileBackend::propPatch()` | Serves PROPPATCH requests.

Documentation generated by phpDocumentor 1.4.3