org.apache.webdav.lib
Class WebdavSession

java.lang.Object
  extended byorg.apache.webdav.lib.WebdavSession
Direct Known 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  java.lang.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(java.lang.String host, int port)
          Set proxy info, to use proxying.
 void setProxyCredentials(Credentials credentials)
          Set credentials for authenticating against a proxy.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

client

protected HttpClient client
The Http client instance.


hostCredentials

protected Credentials hostCredentials
Credentials to use for authentication


proxyHost

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


proxyPort

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


proxyCredentials

protected Credentials proxyCredentials
Credentials to use for an authenticating proxy


debug

protected int debug
Debug level.

Constructor Detail

WebdavSession

public WebdavSession()
Default constructor.

Method Detail

setDebug

public void setDebug(int debug)
Set debug level.


getSessionInstance

public HttpClient getSessionInstance(HttpURL httpURL)
                              throws java.io.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.
Throws:
java.io.IOException

getSessionInstance

public HttpClient getSessionInstance(HttpURL httpURL,
                                     boolean reset)
                              throws java.io.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.
Throws:
java.io.IOException

setCredentials

public void setCredentials(Credentials credentials)
Set credentials for authentication.

Parameters:
credentials - The credentials to use for authentication.

setProxy

public void setProxy(java.lang.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.

closeSession

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

Throws:
java.io.IOException - Error in closing socket.

closeSession

public void closeSession(HttpClient client)
                  throws java.io.IOException
Deprecated. Replaced by closeSession()

Close an session and delete the connection information.

Parameters:
client - The HttpClient instance.
Throws:
java.io.IOException - Error in closing socket.