org.apache.tomcat.util.http
Class Parameters

java.lang.Object
  extended by org.apache.tomcat.util.http.Parameters

public final class Parameters
extends java.lang.Object

Author:
Costin Manolache, Remy Maucherat

Nested Class Summary
protected  class Parameters.Field
           
protected  class Parameters.NamesEnumeration
          Enumerate the distinct header names.
 
Field Summary
protected static java.lang.String[] ARRAY_TYPE
           
protected  int count
           
protected  MessageBytes decodedQuery
           
protected  boolean didMerge
           
protected  boolean didQueryParameters
           
protected  java.lang.String encoding
           
protected  Parameters.Field[] fields
           
static int INITIAL_SIZE
           
protected static int LAST
           
protected static org.jboss.logging.Logger log
           
protected static int NEED_NEXT
           
protected  MessageBytes queryMB
           
protected  java.lang.String queryStringEncoding
           
protected  ByteChunk tmpName
           
protected  CharChunk tmpNameC
           
protected  ByteChunk tmpValue
           
protected  CharChunk tmpValueC
           
protected  UDecoder urlDec
           
 
Constructor Summary
Parameters()
           
 
Method Summary
protected  int addField()
          Create a new, unitialized entry.
protected  void addParam(java.lang.String name, java.lang.String value)
           
 void addParameterValues(java.lang.String name, java.lang.String[] values)
           
protected  int findFirst(java.lang.String name)
           
protected  int findNext(int startPos)
           
protected  MessageBytes getName(int n)
          Returns the Nth header name This may be used to iterate through all header fields.
 java.lang.String getParameter(java.lang.String name)
           
 java.util.Enumeration getParameterNames()
           
 java.lang.String[] getParameterValues(java.lang.String name)
           
protected  MessageBytes getValue(int n)
          Returns the Nth header value This may be used to iterate through all header fields.
 void handleQueryParameters()
          Process the query string into parameters
 java.lang.String paramsAsString()
          Debug purpose
 void processParameters(byte[] bytes, int start, int len)
           
 void processParameters(byte[] bytes, int start, int len, java.lang.String enc)
           
 void processParameters(MessageBytes data)
           
 void processParameters(MessageBytes data, java.lang.String encoding)
           
 void recycle()
           
 void setEncoding(java.lang.String s)
           
 void setHeaders(MimeHeaders headers)
           
 void setQuery(MessageBytes queryMB)
           
 void setQueryStringEncoding(java.lang.String s)
           
 void setURLDecoder(UDecoder u)
           
protected  int size()
          Returns the current number of header fields.
protected  java.lang.String urlDecode(ByteChunk bc, java.lang.String enc)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static org.jboss.logging.Logger log

NEED_NEXT

protected static final int NEED_NEXT
See Also:
Constant Field Values

LAST

protected static final int LAST
See Also:
Constant Field Values

INITIAL_SIZE

public static final int INITIAL_SIZE
See Also:
Constant Field Values

ARRAY_TYPE

protected static final java.lang.String[] ARRAY_TYPE

fields

protected Parameters.Field[] fields

count

protected int count

didQueryParameters

protected boolean didQueryParameters

didMerge

protected boolean didMerge

queryMB

protected MessageBytes queryMB

urlDec

protected UDecoder urlDec

decodedQuery

protected MessageBytes decodedQuery

encoding

protected java.lang.String encoding

queryStringEncoding

protected java.lang.String queryStringEncoding

tmpName

protected ByteChunk tmpName

tmpValue

protected ByteChunk tmpValue

tmpNameC

protected CharChunk tmpNameC

tmpValueC

protected CharChunk tmpValueC
Constructor Detail

Parameters

public Parameters()
Method Detail

setQuery

public void setQuery(MessageBytes queryMB)

setHeaders

public void setHeaders(MimeHeaders headers)

setEncoding

public void setEncoding(java.lang.String s)

setURLDecoder

public void setURLDecoder(UDecoder u)

setQueryStringEncoding

public void setQueryStringEncoding(java.lang.String s)

recycle

public void recycle()

size

protected int size()
Returns the current number of header fields.


getName

protected MessageBytes getName(int n)
Returns the Nth header name This may be used to iterate through all header fields. An exception is thrown if the index is not valid ( <0 or >size )


getValue

protected MessageBytes getValue(int n)
Returns the Nth header value This may be used to iterate through all header fields.


addField

protected int addField()
Create a new, unitialized entry.


findFirst

protected int findFirst(java.lang.String name)

findNext

protected int findNext(int startPos)

addParameterValues

public void addParameterValues(java.lang.String name,
                               java.lang.String[] values)

getParameterValues

public java.lang.String[] getParameterValues(java.lang.String name)

getParameterNames

public java.util.Enumeration getParameterNames()

getParameter

public java.lang.String getParameter(java.lang.String name)

handleQueryParameters

public void handleQueryParameters()
Process the query string into parameters


addParam

protected void addParam(java.lang.String name,
                        java.lang.String value)

processParameters

public void processParameters(MessageBytes data)

processParameters

public void processParameters(MessageBytes data,
                              java.lang.String encoding)

processParameters

public void processParameters(byte[] bytes,
                              int start,
                              int len)

processParameters

public void processParameters(byte[] bytes,
                              int start,
                              int len,
                              java.lang.String enc)

urlDecode

protected java.lang.String urlDecode(ByteChunk bc,
                                     java.lang.String enc)
                              throws java.io.IOException
Throws:
java.io.IOException

paramsAsString

public java.lang.String paramsAsString()
Debug purpose



Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.