org.apache.webdav.lib

Class WebdavSession

Known Direct Subclasses:
WebdavResource

public abstract class WebdavSession
extends java.lang.Object

This WebdavSession class is for the session management of WebDAV clients. This class saves and restores the requested client. Although this class is thread safe, it should only be accessed by one concurrent thread, since the underlying protocol, HTTP, is not multiplexed. If simultaneous operations are needed, it is recommended to create additional threads, each having its own associated WebDAV client. Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given server. A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy. A proxy SHOULD use up to 2*N connections to another server or proxy, where N is the number of simultaneously active users. These guidelines are intended to improve HTTP response times and avoid congestion.

Field Summary

protected HttpClient
client
The Http client instance.
protected int
debug
Debug level.
protected Credentials
hostCredentials
Credentials to use for authentication
protected Credentials
proxyCredentials
Credentials to use for an authenticating proxy
protected String
proxyHost
The hostname to use for the proxy, if any
protected int
proxyPort
Port number to use for proxy, if any

Constructor Summary

WebdavSession()
Default constructor.

Method Summary

void
closeSession()
Close an session and delete the connection information.
void
closeSession(HttpClient client)
Deprecated. Replaced by closeSession()
HttpClient
getSessionInstance(HttpURL httpURL)
Get a HttpClient instance.
HttpClient
getSessionInstance(HttpURL httpURL, boolean reset)
Get a HttpClient instance.
void
setCredentials(Credentials credentials)
Set credentials for authentication.
void
setDebug(int debug)
Set debug level.
void
setProxy(String host, int port)
Set proxy info, to use proxying.
void
setProxyCredentials(Credentials credentials)
Set credentials for authenticating against a proxy.

Field Details

client

protected HttpClient client
The Http client instance.

debug

protected int debug
Debug level.

hostCredentials

protected Credentials hostCredentials
Credentials to use for authentication

proxyCredentials

protected Credentials proxyCredentials
Credentials to use for an authenticating proxy

proxyHost

protected String proxyHost
The hostname to use for the proxy, if any

proxyPort

protected int proxyPort
Port number to use for proxy, if any

Constructor Details

WebdavSession

public WebdavSession()
Default constructor.

Method Details

closeSession

public void closeSession()
            throws IOException
Close an session and delete the connection information.

closeSession

public void closeSession(HttpClient client)
            throws IOException

Deprecated. Replaced by closeSession()

Close an session and delete the connection information.
Parameters:
client - The HttpClient instance.

getSessionInstance

public HttpClient getSessionInstance(HttpURL httpURL)
            throws IOException
Get a HttpClient instance. This method returns a new client instance for the first time. And it is saved util it's closed or reset.
Parameters:
httpURL - The http URL to connect. only used the authority part.
Returns:
An instance of HttpClient.

getSessionInstance

public HttpClient getSessionInstance(HttpURL httpURL,
                                     boolean reset)
            throws IOException
Get a HttpClient instance. This method returns a new client instance, when reset is true.
Parameters:
httpURL - The http URL to connect. only used the authority part.
reset - The reset flag to represent whether the saved information is used or not.
Returns:
An instance of HttpClient.

setCredentials

public void setCredentials(Credentials credentials)
Set credentials for authentication.
Parameters:
credentials - The credentials to use for authentication.

setDebug

public void setDebug(int debug)
Set debug level.

setProxy

public void setProxy(String host,
                     int port)
Set proxy info, to use proxying.

setProxyCredentials

public void setProxyCredentials(Credentials credentials)
Set credentials for authenticating against a proxy.
Parameters:
credentials - The credentials to use for authentication.