Build 1.0_r1(from source)

org.apache.http.impl.client
Class ClientParamsStack

java.lang.Object
  extended by org.apache.http.params.AbstractHttpParams
      extended by org.apache.http.impl.client.ClientParamsStack
All Implemented Interfaces:
HttpParams

public class ClientParamsStack
extends AbstractHttpParams

Represents a stack of parameter collections. When retrieving a parameter, the stack is searched in a fixed order and the first match returned. Setting parameters via the stack is not supported. To minimize overhead, the stack has a fixed size and does not maintain an internal array. The supported stack entries, sorted by increasing priority, are:

  1. Application parameters: expected to be the same for all clients used by an application. These provide "global", that is application-wide, defaults.
  2. Client parameters: specific to an instance of HttpClient. These provide client specific defaults.
  3. Request parameters: specific to a single request execution. For overriding client and global defaults.
  4. Override parameters: specific to an instance of HttpClient. These can be used to set parameters that cannot be overridden on a per-request basis.
Each stack entry may be null. That is preferable over an empty params collection, since it avoids searching the empty collection when looking up parameters.


Field Summary
protected  HttpParams applicationParams
          The application parameter collection, or null.
protected  HttpParams clientParams
          The client parameter collection, or null.
protected  HttpParams overrideParams
          The override parameter collection, or null.
protected  HttpParams requestParams
          The request parameter collection, or null.
 
Constructor Summary
ClientParamsStack(ClientParamsStack stack)
          Creates a copy of a parameter stack.
ClientParamsStack(ClientParamsStack stack, HttpParams aparams, HttpParams cparams, HttpParams rparams, HttpParams oparams)
          Creates a modified copy of a parameter stack.
ClientParamsStack(HttpParams aparams, HttpParams cparams, HttpParams rparams, HttpParams oparams)
          Creates a new parameter stack from elements.
 
Method Summary
 HttpParams copy()
          Does not copy parameters.
 HttpParams getApplicationParams()
          Obtains the application parameters of this stack.
 HttpParams getClientParams()
          Obtains the client parameters of this stack.
 HttpParams getOverrideParams()
          Obtains the override parameters of this stack.
 Object getParameter(String name)
          Obtains a parameter from this stack.
 HttpParams getRequestParams()
          Obtains the request parameters of this stack.
 boolean removeParameter(String name)
          Does not remove a parameter.
 HttpParams setParameter(String name, Object value)
          Does not set a parameter.
 
Methods inherited from class org.apache.http.params.AbstractHttpParams
getBooleanParameter, getDoubleParameter, getIntParameter, getLongParameter, isParameterFalse, isParameterTrue, setBooleanParameter, setDoubleParameter, setIntParameter, setLongParameter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

applicationParams

protected final HttpParams applicationParams
The application parameter collection, or null.


clientParams

protected final HttpParams clientParams
The client parameter collection, or null.


requestParams

protected final HttpParams requestParams
The request parameter collection, or null.


overrideParams

protected final HttpParams overrideParams
The override parameter collection, or null.

Constructor Detail

ClientParamsStack

public ClientParamsStack(HttpParams aparams,
                         HttpParams cparams,
                         HttpParams rparams,
                         HttpParams oparams)
Creates a new parameter stack from elements. The arguments will be stored as-is, there is no copying to prevent modification.

Parameters:
aparams - application parameters, or null
cparams - client parameters, or null
rparams - request parameters, or null
oparams - override parameters, or null

ClientParamsStack

public ClientParamsStack(ClientParamsStack stack)
Creates a copy of a parameter stack. The new stack will have the exact same entries as the argument stack. There is no copying of parameters.

Parameters:
stack - the stack to copy

ClientParamsStack

public ClientParamsStack(ClientParamsStack stack,
                         HttpParams aparams,
                         HttpParams cparams,
                         HttpParams rparams,
                         HttpParams oparams)
Creates a modified copy of a parameter stack. The new stack will contain the explicitly passed elements. For elements where the explicit argument is null, the corresponding element from the argument stack is used. There is no copying of parameters.

Parameters:
stack - the stack to modify
aparams - application parameters, or null
cparams - client parameters, or null
rparams - request parameters, or null
oparams - override parameters, or null
Method Detail

getApplicationParams

public final HttpParams getApplicationParams()
Obtains the application parameters of this stack.

Returns:
the application parameters, or null

getClientParams

public final HttpParams getClientParams()
Obtains the client parameters of this stack.

Returns:
the client parameters, or null

getRequestParams

public final HttpParams getRequestParams()
Obtains the request parameters of this stack.

Returns:
the request parameters, or null

getOverrideParams

public final HttpParams getOverrideParams()
Obtains the override parameters of this stack.

Returns:
the override parameters, or null

getParameter

public Object getParameter(String name)
Obtains a parameter from this stack. See class comment for search order.

Parameters:
name - the name of the parameter to obtain
Returns:
the highest-priority value for that parameter, or null if it is not set anywhere in this stack
See Also:
HttpParams.setParameter(String, Object)

setParameter

public HttpParams setParameter(String name,
                               Object value)
                        throws UnsupportedOperationException
Does not set a parameter. Parameter stacks are read-only. It is possible, though discouraged, to access and modify specific stack entries. Derived classes may change this behavior.

Parameters:
name - ignored
value - ignored
Returns:
nothing
Throws:
UnsupportedOperationException - always

removeParameter

public boolean removeParameter(String name)
Does not remove a parameter. Parameter stacks are read-only. It is possible, though discouraged, to access and modify specific stack entries. Derived classes may change this behavior.

Parameters:
name - ignored
Returns:
nothing
Throws:
UnsupportedOperationException - always

copy

public HttpParams copy()
Does not copy parameters. Parameter stacks are lightweight objects, expected to be instantiated as needed and to be used only in a very specific context. On top of that, they are read-only. The typical copy operation to prevent accidental modification of parameters passed by the application to a framework object is therefore pointless and disabled. Create a new stack if you really need a copy.
Derived classes may change this behavior.

Returns:
this parameter stack

Build 1.0_r1(from source)

Please submit a feedback, bug or feature