Top Fields Constructors Methods
org.glassfish.grizzly.http.util

public final Class Parameters

extends Object
Class Inheritance
Imports
java.io.CharConversionException, .IOException, java.nio.charset.Charset, java.util.ArrayList, .Collections, .LinkedHashMap, .Set, java.util.logging.Level, .Logger, org.glassfish.grizzly.Buffer, .Grizzly, org.glassfish.grizzly.localization.LogMessages

Author
Costin Manolache

Field Summary

Modifier and TypeField and Description
private Parameters
private Parameters
pack-priv final DataChunk
public static final Charset
public static final String
private boolean
private boolean
pack-priv Charset
pack-priv MimeHeaders
public static final int
private int
private static final Logger
LOGGER

Default Logger.

private final BufferChunk
private final BufferChunk
private int
private final LinkedHashMap<String, ArrayList<String>>
private Parameters
pack-priv DataChunk
pack-priv Charset
pack-priv final BufferChunk
pack-priv final CharChunk
pack-priv final BufferChunk
pack-priv final CharChunk

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
public void
addParameterValues(String key, String[] newValues)

public Parameters
public Charset
public String
getParameter(final String name)

public Set<String>
public String[]
public Charset
public void
handleQueryParameters()

Process the query string into parameters

private void
merge()

Combine the parameters from parent with our local ones

private static void
merge2(LinkedHashMap<String, ArrayList<String>> one, LinkedHashMap<String, ArrayList<String>> two)

Combine 2 hashtables into a new one.

public String
paramsAsString()

Debug purpose

public void
pop()

Discard the last child.

public void
processParameters(final Buffer buffer, final int start, final int len)

public void
processParameters(final Buffer buffer, final int start, final int len, final Charset enc)

public void
processParameters(char[] chars, int start, int len)

public void
public void
processParameters(final DataChunk data, final Charset encoding)

public void
public void
push()

Create ( or reuse ) a child that will be used during a sub-request.

public void
public void
setEncoding(final Charset encoding)

public void
setHeaders(final MimeHeaders headers)

public void
setLimit(int limit)

public void
setQuery(final DataChunk queryBC)

public void
setQueryStringEncoding(final Charset queryStringEncoding)

private String
urlDecode(final BufferChunk bc, final Charset enc)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

childback to summary
private Parameters child
currentChildback to summary
private Parameters currentChild
decodedQueryback to summary
pack-priv final DataChunk decodedQuery
DEFAULT_CHARSETback to summary
public static final Charset DEFAULT_CHARSET
DEFAULT_ENCODINGback to summary
public static final String DEFAULT_ENCODING
didMergeback to summary
private boolean didMerge
didQueryParametersback to summary
private boolean didQueryParameters
encodingback to summary
pack-priv Charset encoding
headersback to summary
pack-priv MimeHeaders headers
INITIAL_SIZEback to summary
public static final int INITIAL_SIZE
limitback to summary
private int limit
LOGGERback to summary
private static final Logger LOGGER

Default Logger.

origNameback to summary
private final BufferChunk origName
origValueback to summary
private final BufferChunk origValue
parameterCountback to summary
private int parameterCount
paramHashValuesback to summary
private final LinkedHashMap<String, ArrayList<String>> paramHashValues
parentback to summary
private Parameters parent
queryDCback to summary
pack-priv DataChunk queryDC
queryStringEncodingback to summary
pack-priv Charset queryStringEncoding
tmpNameback to summary
pack-priv final BufferChunk tmpName
tmpNameCback to summary
pack-priv final CharChunk tmpNameC
tmpValueback to summary
pack-priv final BufferChunk tmpValue
tmpValueCback to summary
pack-priv final CharChunk tmpValueC

Constructor Detail

Parametersback to summary
public Parameters()

Method Detail

addParameterback to summary
public void addParameter(String key, String value) throws IllegalStateException
addParameterValuesback to summary
public void addParameterValues(String key, String[] newValues)
getCurrentSetback to summary
public Parameters getCurrentSet()
getEncodingback to summary
public Charset getEncoding()
getParameterback to summary
public String getParameter(final String name)
getParameterNamesback to summary
public Set<String> getParameterNames()
getParameterValuesback to summary
public String[] getParameterValues(String name)
getQueryStringEncodingback to summary
public Charset getQueryStringEncoding()
handleQueryParametersback to summary
public void handleQueryParameters()

Process the query string into parameters

mergeback to summary
private void merge()

Combine the parameters from parent with our local ones

merge2back to summary
private static void merge2(LinkedHashMap<String, ArrayList<String>> one, LinkedHashMap<String, ArrayList<String>> two)

Combine 2 hashtables into a new one. ( two will be added to one ). Used to combine child parameters ( RequestDispatcher's query ) with parent parameters ( original query or parent dispatcher )

paramsAsStringback to summary
public String paramsAsString()

Debug purpose

popback to summary
public void pop()

Discard the last child. This happens when we return from a sub-request and the parameters are locally modified.

processParametersback to summary
public void processParameters(final Buffer buffer, final int start, final int len)
processParametersback to summary
public void processParameters(final Buffer buffer, final int start, final int len, final Charset enc)
processParametersback to summary
public void processParameters(char[] chars, int start, int len)
processParametersback to summary
public void processParameters(final DataChunk data)
processParametersback to summary
public void processParameters(final DataChunk data, final Charset encoding)
processParametersback to summary
public void processParameters(String str)
pushback to summary
public void push()

Create ( or reuse ) a child that will be used during a sub-request. All future changes ( setting query string, adding parameters ) will affect the child ( the parent request is never changed ). Both setters and getters will return the data from the deepest child, merged with data from parents.

recycleback to summary
public void recycle()
setEncodingback to summary
public void setEncoding(final Charset encoding)
setHeadersback to summary
public void setHeaders(final MimeHeaders headers)
setLimitback to summary
public void setLimit(int limit)
setQueryback to summary
public void setQuery(final DataChunk queryBC)
setQueryStringEncodingback to summary
public void setQueryStringEncoding(final Charset queryStringEncoding)
urlDecodeback to summary
private String urlDecode(final BufferChunk bc, final Charset enc) throws IOException