org.apache.abdera.protocol.client
Class AbderaClient

java.lang.Object
  extended by org.apache.abdera.protocol.client.AbderaClient

public class AbderaClient
extends java.lang.Object

An Atom Publishing Protocol client.


Field Summary
protected  Abdera abdera
           
protected  Cache cache
           
static java.lang.String DEFAULT_USER_AGENT
           
 
Constructor Summary
AbderaClient()
           
AbderaClient(Abdera abdera)
           
AbderaClient(Abdera abdera, java.lang.String useragent)
           
AbderaClient(java.lang.String useragent)
           
 
Method Summary
 void addCredentials(java.lang.String target, java.lang.String realm, java.lang.String scheme, org.apache.commons.httpclient.Credentials credentials)
           
 ClientResponse delete(java.lang.String uri)
           
 ClientResponse delete(java.lang.String uri, RequestOptions options)
           
 ClientResponse execute(java.lang.String method, java.lang.String uri, Base base, RequestOptions options)
           
 ClientResponse execute(java.lang.String method, java.lang.String uri, java.io.InputStream in, RequestOptions options)
           
 ClientResponse execute(java.lang.String method, java.lang.String uri, org.apache.commons.httpclient.methods.RequestEntity entity, RequestOptions options)
           
 ClientResponse get(java.lang.String uri)
           
 ClientResponse get(java.lang.String uri, RequestOptions options)
           
 java.util.List getAuthenticationSchemePriority()
           
 Cache getCache()
           
 RequestOptions getDefaultRequestOptions()
           
 int getMaxConnectionsPerHost()
          Return the maximum number of connections allowed for a single host
 int getMaxConnectionsTotal()
          Return the maximum number of connections allowed for the client
 ClientResponse head(java.lang.String uri)
           
 ClientResponse head(java.lang.String uri, RequestOptions options)
           
 Cache initCache(CacheFactory factory)
           
 ClientResponse post(java.lang.String uri, Base base)
           
 ClientResponse post(java.lang.String uri, Base base, RequestOptions options)
           
 ClientResponse post(java.lang.String uri, java.io.InputStream in)
           
 ClientResponse post(java.lang.String uri, java.io.InputStream in, RequestOptions options)
           
 ClientResponse post(java.lang.String uri, org.apache.commons.httpclient.methods.RequestEntity entity)
           
 ClientResponse post(java.lang.String uri, org.apache.commons.httpclient.methods.RequestEntity entity, RequestOptions options)
           
 ClientResponse put(java.lang.String uri, Base base)
           
 ClientResponse put(java.lang.String uri, Base base, RequestOptions options)
           
 ClientResponse put(java.lang.String uri, java.io.InputStream in)
           
 ClientResponse put(java.lang.String uri, java.io.InputStream in, RequestOptions options)
           
 ClientResponse put(java.lang.String uri, org.apache.commons.httpclient.methods.RequestEntity entity)
           
 ClientResponse put(java.lang.String uri, org.apache.commons.httpclient.methods.RequestEntity entity, RequestOptions options)
           
static void registerFactory(org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory factory, int port)
           
static
<T extends org.apache.commons.httpclient.auth.AuthScheme>
void
registerScheme(java.lang.String name, java.lang.Class<T> scheme)
          Register a new authentication scheme.
static void registerTrustManager()
           
static void registerTrustManager(int port)
           
static void registerTrustManager(javax.net.ssl.TrustManager trustManager)
           
static void registerTrustManager(javax.net.ssl.TrustManager trustManager, int port)
           
 void setAuthenticationSchemeDefaults()
           
 void setAuthenticationSchemePriority(java.lang.String... scheme)
           
 void setMaxConnectionsPerHost(int max)
          Set the maximum number of connections allowed for a single host
 void setMaxConnectionsTotal(int max)
          Return the maximum number of connections allowed for the client
 void setProxy(java.lang.String host, int port)
          Configure the client to use the specified proxy
 void setProxyCredentials(java.lang.String host, int port, org.apache.commons.httpclient.Credentials credentials)
          Specify the auth credentials for the proxy server
 void setProxyCredentials(java.lang.String host, int port, java.lang.String realm, java.lang.String scheme, org.apache.commons.httpclient.Credentials credentials)
          Specify the auth credentials for the proxy server
 void teardown()
          Per http://jakarta.apache.org/commons/httpclient/performance.html
 void usePreemptiveAuthentication(boolean val)
          Configure the client to use preemptive authentication (HTTP Basic Authentication only)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_USER_AGENT

public static final java.lang.String DEFAULT_USER_AGENT
See Also:
Constant Field Values

abdera

protected final Abdera abdera

cache

protected final Cache cache
Constructor Detail

AbderaClient

public AbderaClient()

AbderaClient

public AbderaClient(java.lang.String useragent)

AbderaClient

public AbderaClient(Abdera abdera,
                    java.lang.String useragent)

AbderaClient

public AbderaClient(Abdera abdera)
Method Detail

getCache

public Cache getCache()

initCache

public Cache initCache(CacheFactory factory)

head

public ClientResponse head(java.lang.String uri,
                           RequestOptions options)

get

public ClientResponse get(java.lang.String uri,
                          RequestOptions options)

post

public ClientResponse post(java.lang.String uri,
                           org.apache.commons.httpclient.methods.RequestEntity entity,
                           RequestOptions options)

post

public ClientResponse post(java.lang.String uri,
                           java.io.InputStream in,
                           RequestOptions options)

post

public ClientResponse post(java.lang.String uri,
                           Base base,
                           RequestOptions options)

put

public ClientResponse put(java.lang.String uri,
                          org.apache.commons.httpclient.methods.RequestEntity entity,
                          RequestOptions options)

put

public ClientResponse put(java.lang.String uri,
                          java.io.InputStream in,
                          RequestOptions options)

put

public ClientResponse put(java.lang.String uri,
                          Base base,
                          RequestOptions options)

delete

public ClientResponse delete(java.lang.String uri,
                             RequestOptions options)

head

public ClientResponse head(java.lang.String uri)

get

public ClientResponse get(java.lang.String uri)

post

public ClientResponse post(java.lang.String uri,
                           org.apache.commons.httpclient.methods.RequestEntity entity)

post

public ClientResponse post(java.lang.String uri,
                           java.io.InputStream in)

post

public ClientResponse post(java.lang.String uri,
                           Base base)

put

public ClientResponse put(java.lang.String uri,
                          org.apache.commons.httpclient.methods.RequestEntity entity)

put

public ClientResponse put(java.lang.String uri,
                          java.io.InputStream in)

put

public ClientResponse put(java.lang.String uri,
                          Base base)

delete

public ClientResponse delete(java.lang.String uri)

registerScheme

public static <T extends org.apache.commons.httpclient.auth.AuthScheme> void registerScheme(java.lang.String name,
                                                                                            java.lang.Class<T> scheme)
Register a new authentication scheme.

Parameters:
name -
scheme -

registerTrustManager

public static void registerTrustManager(javax.net.ssl.TrustManager trustManager)

registerTrustManager

public static void registerTrustManager()

registerTrustManager

public static void registerTrustManager(javax.net.ssl.TrustManager trustManager,
                                        int port)

registerTrustManager

public static void registerTrustManager(int port)

registerFactory

public static void registerFactory(org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory factory,
                                   int port)

usePreemptiveAuthentication

public void usePreemptiveAuthentication(boolean val)
Configure the client to use preemptive authentication (HTTP Basic Authentication only)


execute

public ClientResponse execute(java.lang.String method,
                              java.lang.String uri,
                              Base base,
                              RequestOptions options)

execute

public ClientResponse execute(java.lang.String method,
                              java.lang.String uri,
                              java.io.InputStream in,
                              RequestOptions options)

execute

public ClientResponse execute(java.lang.String method,
                              java.lang.String uri,
                              org.apache.commons.httpclient.methods.RequestEntity entity,
                              RequestOptions options)

getDefaultRequestOptions

public RequestOptions getDefaultRequestOptions()

addCredentials

public void addCredentials(java.lang.String target,
                           java.lang.String realm,
                           java.lang.String scheme,
                           org.apache.commons.httpclient.Credentials credentials)
                    throws java.net.URISyntaxException
Throws:
java.net.URISyntaxException

setAuthenticationSchemeDefaults

public void setAuthenticationSchemeDefaults()

setAuthenticationSchemePriority

public void setAuthenticationSchemePriority(java.lang.String... scheme)

getAuthenticationSchemePriority

public java.util.List getAuthenticationSchemePriority()

teardown

public void teardown()

Per http://jakarta.apache.org/commons/httpclient/performance.html

Generally it is recommended to have a single instance of HttpClient per communication component or even per application. However, if the application makes use of HttpClient only very infrequently, and keeping an idle instance of HttpClient in memory is not warranted, it is highly recommended to explicitly shut down the multithreaded connection manager prior to disposing the HttpClient instance. This will ensure proper closure of all HTTP connections in the connection pool.


setMaxConnectionsPerHost

public void setMaxConnectionsPerHost(int max)
Set the maximum number of connections allowed for a single host


getMaxConnectionsPerHost

public int getMaxConnectionsPerHost()
Return the maximum number of connections allowed for a single host


setMaxConnectionsTotal

public void setMaxConnectionsTotal(int max)
Return the maximum number of connections allowed for the client


getMaxConnectionsTotal

public int getMaxConnectionsTotal()
Return the maximum number of connections allowed for the client


setProxy

public void setProxy(java.lang.String host,
                     int port)
Configure the client to use the specified proxy


setProxyCredentials

public void setProxyCredentials(java.lang.String host,
                                int port,
                                org.apache.commons.httpclient.Credentials credentials)
Specify the auth credentials for the proxy server


setProxyCredentials

public void setProxyCredentials(java.lang.String host,
                                int port,
                                java.lang.String realm,
                                java.lang.String scheme,
                                org.apache.commons.httpclient.Credentials credentials)
Specify the auth credentials for the proxy server