public class

ClientParamsStack

extends AbstractHttpParams
java.lang.Object
   ↳ org.apache.http.params.AbstractHttpParams
     ↳ org.apache.http.impl.client.ClientParamsStack

Class Overview

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.

Summary

Fields
protected final HttpParams applicationParams The application parameter collection, or null.
protected final HttpParams clientParams The client parameter collection, or null.
protected final HttpParams overrideParams The override parameter collection, or null.
protected final HttpParams requestParams The request parameter collection, or null.
Public Constructors
ClientParamsStack(HttpParams aparams, HttpParams cparams, HttpParams rparams, HttpParams oparams)
Creates a new parameter stack from elements.
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.
Public Methods
HttpParams copy()
Does not copy parameters.
final HttpParams getApplicationParams()
Obtains the application parameters of this stack.
final HttpParams getClientParams()
Obtains the client parameters of this stack.
final HttpParams getOverrideParams()
Obtains the override parameters of this stack.
Object getParameter(String name)
Obtains a parameter from this stack.
final 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.
[Expand]
Inherited Methods
From class org.apache.http.params.AbstractHttpParams
From class java.lang.Object
From interface org.apache.http.params.HttpParams

Fields

protected final HttpParams applicationParams

The application parameter collection, or null.

protected final HttpParams clientParams

The client parameter collection, or null.

protected final HttpParams overrideParams

The override parameter collection, or null.

protected final HttpParams requestParams

The request parameter collection, or null.

Public Constructors

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

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

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

Public Methods

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

public final HttpParams getApplicationParams ()

Obtains the application parameters of this stack.

Returns
  • the application parameters, or null

public final HttpParams getClientParams ()

Obtains the client parameters of this stack.

Returns
  • the client parameters, or null

public final HttpParams getOverrideParams ()

Obtains the override parameters of this stack.

Returns
  • the override parameters, or null

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

public final HttpParams getRequestParams ()

Obtains the request parameters of this stack.

Returns
  • the request parameters, or null

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

public HttpParams setParameter (String name, Object value)

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