|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.ejie.r01f.servlet.RequestParamParser
Clase para simplificar el tratamiento de parametros de la request - Obtiene parametros en cualquier tipo primitivo sin necesidad de hacer cast - Lanzar una excepción cuando el parametro no se encuentra - Establece valores por defecto en los parámetros
Ejemplo de utilización:
Además se puede buscar qué parametros requeridos no vienen en la requestRequestParamParser parser = new RequestParamParser(_req); float ratio = parser.getFloatParameter("ratio", 1.0); int count = 0; try { count = parser.getIntParameter("count"); } catch (NumberFormatException e) { handleMalformedCount(); } catch (ParameterNotFoundException e) { handleNoCount(); }
El charset por defecto para los paramtros de entrada es ISO-8859-1 (Latin-1). Si los parametros están codificados de otra forma, especificarlo utilizando el metodo setCharacterEncoding() antes de parsear. ATENDIÓN!!! Los nombres de los parámetros sin embargo HAN DE ESTAR en la codificacion Latin-1RequestParamParser parser = new RequestParamParser(_req); String[] required = { "fname", "lname", "account" }; String[] missing = parser.getMissingParameters(required);
ver com.oreilly.servlet.ParameterNotFoundExceptionRequestParamParser parser = new RequestParamParser(_req); parser.setCharacterEncoding("Shift_JIS"); String japaneseValue = parser.getStringParameter("latinName");
Constructor Summary | |
RequestParamParser()
Constructor vacío |
|
RequestParamParser(javax.servlet.ServletRequest req)
Constructor a partir de la request |
Method Summary | |
boolean |
getBooleanParameter(java.lang.String name)
Devuelve un parametro como boolean, pudiendose indicar los valores como: true = true,on,yes,si (en mayúsculas, minúsculas, etc) false = false,off,no (en mayúsculas, minúsculas, etc) |
boolean |
getBooleanParameter(java.lang.String name,
boolean def)
Devuelve un parametro como boolean o un valor por defecto si el parametro no está presente |
byte |
getByteParameter(java.lang.String name)
Devuelve un parametro como un byte |
byte |
getByteParameter(java.lang.String name,
byte def)
Devuelve un parametro como byte o su valor por defecto si el parametro no se encuentra. |
char |
getCharParameter(java.lang.String name)
Devuelve un parametro como un char |
char |
getCharParameter(java.lang.String name,
char def)
Devuelve un parametro como char o su valor por defecto si no se encuentra el parametro |
double |
getDoubleParameter(java.lang.String name)
Devuelve un parametro como un double |
double |
getDoubleParameter(java.lang.String name,
double def)
Devuelve un parametro convertido a double o un valor por defecto si el parametro no se encuentra |
float |
getFloatParameter(java.lang.String name)
Devuelve un parametro como un float |
float |
getFloatParameter(java.lang.String name,
float def)
Devuelve un parametro como float o su valor por defecto si el parametro no se encuentra |
int |
getIntParameter(java.lang.String name)
Devuelve un parametro como int |
int |
getIntParameter(java.lang.String name,
int def)
Devuelve un parametro como int o un valor por defecto si el parametro no se encuentra |
long |
getLongParameter(java.lang.String name)
Devuelve un parametro como long |
long |
getLongParameter(java.lang.String name,
long def)
Devuelve un parametro como long o un valor por defecto si el parametro no se encuentra |
java.lang.String[] |
getMissingParameters(java.lang.String[] required)
Determina cuales de los parametros requeridos en la request no vienen en ella Devuelve null si están presentes todos los parametros requeridos |
short |
getShortParameter(java.lang.String name)
Devuelve un parametro como short |
short |
getShortParameter(java.lang.String name,
short def)
Devuelve un parametro como short o un valor por defecto si no puede convertirse a short |
java.lang.String |
getStringParameter(java.lang.String name)
Devuelve un parametro como cadena |
java.lang.String |
getStringParameter(java.lang.String name,
java.lang.String def)
Devuelve un parametro y si esta no llega se devuelve un valor por defecto |
static java.util.Map |
parseParameters(byte[] data,
java.lang.String encoding)
Obtener un Map a partir de los parametros de la request NOTA: Se presume que el mapa especificado no es accedido por otro thread con lo que no se hacen sincronizaciones IMPLEMENTATION NOTE: Se realiza una decodificacion de URL individualmente tanto en el nombre como en el valor del parametro en lugar de hacerlo en toda la query string Esto es así para soportar el caso en que el nombre o el valor incluyan el caracter "=" o "&" codificados que de otra forma podrían ser interpretados como delimitadores NOTE: Los datos del byte array de entrada son modificados en este método... cuidadin! |
static java.util.Map |
parseParameters(java.lang.String data,
java.lang.String encoding)
Obtener un Map a partir de los parametros de la request NOTA: Se presume que el mapa especificado no es accedido por otro thread con lo que no se hacen sincronizaciones IMPLEMENTATION NOTE: Se realiza una decodificacion de URL individualmente tanto en el nombre como en el valor del parametro en lugar de hacerlo en toda la query string Esto es así para soportar el caso en que el nombre o el valor incluyan el caracter "=" o "&" codificados que de otra forma podrían ser interpretados como delimitadores NOTE: Los datos del byte array de entrada son modificados en este método... cuidadin! |
void |
setCharacterEncoding(java.lang.String encoding)
Establece el juego de caracteres de la request Por defecto se devuelven valores SIN codificar tal y como lo haría el método getParameter() de la request. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public RequestParamParser()
public RequestParamParser(javax.servlet.ServletRequest req)
req
- the servlet requestMethod Detail |
public void setCharacterEncoding(java.lang.String encoding) throws java.io.UnsupportedEncodingException
encoding
- El juego de caracteres
java.io.UnsupportedEncodingException
- si el juego de caracteres NO está soportadopublic java.lang.String getStringParameter(java.lang.String name) throws ParameterNotFoundException
name
- Nombre del parametro
ParameterNotFoundException
- si el parametro no se encuentra o es una cadena vacíapublic java.lang.String getStringParameter(java.lang.String name, java.lang.String def)
name
- Nombre del parametrodef
- valor por defecto
public boolean getBooleanParameter(java.lang.String name) throws ParameterNotFoundException, java.lang.NumberFormatException
name
- Nombre del parametro
ParameterNotFoundException
- Si no se encuentra el parametro
java.lang.NumberFormatException
- Si el parametro no puede ser convertido a booleanpublic boolean getBooleanParameter(java.lang.String name, boolean def) throws java.lang.NumberFormatException
name
- Nombre del parámetrodef
- Valor por defecto
java.lang.NumberFormatException
- Si el parametro no puede ser convertido a booleanpublic byte getByteParameter(java.lang.String name) throws ParameterNotFoundException, java.lang.NumberFormatException
name
- Nombre del parametro
ParameterNotFoundException
- si no se encuentra el parametro
java.lang.NumberFormatException
- si el parametro no puede ser convertido a bytepublic byte getByteParameter(java.lang.String name, byte def) throws java.lang.NumberFormatException
name
- nombre del parametrodef
- valor por defecto del parametro
java.lang.NumberFormatException
- si el parametro no puede ser convertido a bytepublic char getCharParameter(java.lang.String name) throws ParameterNotFoundException
name
- Nombre del parametro
ParameterNotFoundException
- si no se encuentra el parametropublic char getCharParameter(java.lang.String name, char def)
name
- nombre del parametrodef
- valor por defecto del parametro
public double getDoubleParameter(java.lang.String name) throws ParameterNotFoundException, java.lang.NumberFormatException
name
- nombre del parametro
ParameterNotFoundException
- si el parametro no se encuentra
java.lang.NumberFormatException
- si el parametro no puede ser convertido a doublepublic double getDoubleParameter(java.lang.String name, double def) throws java.lang.NumberFormatException
name
- nombre del parametrodef
- valor por defecto del parametro
java.lang.NumberFormatException
- si el parametro no puede ser convertido a doublepublic float getFloatParameter(java.lang.String name) throws ParameterNotFoundException, java.lang.NumberFormatException
name
- nombre del parametro
ParameterNotFoundException
- si el parametro no se encuentra
java.lang.NumberFormatException
- si el parametro NO puede ser convertido a floatpublic float getFloatParameter(java.lang.String name, float def) throws java.lang.NumberFormatException
name
- nombre del parametrodef
- valor por defecto del parametro
java.lang.NumberFormatException
- si el parametro NO puede ser convertido a floatpublic int getIntParameter(java.lang.String name) throws ParameterNotFoundException, java.lang.NumberFormatException
name
- nombre del parametro
ParameterNotFoundException
- si el parametro no se ha podido encontrar
java.lang.NumberFormatException
- si el parametro no puede convertirse a intpublic int getIntParameter(java.lang.String name, int def)
name
- nombre del parametrodef
- valor por defecto del parametro
java.lang.NumberFormatException
- si el parametro no puede convertirse a intpublic long getLongParameter(java.lang.String name) throws ParameterNotFoundException, java.lang.NumberFormatException
name
- nombre del parametro
ParameterNotFoundException
- si el parametro no se encuentra
java.lang.NumberFormatException
- si el parametro no puede convertirse a longpublic long getLongParameter(java.lang.String name, long def) throws java.lang.NumberFormatException
name
- nombre del parametrodef
- valor por defecto del parametro
java.lang.NumberFormatException
- si el parametro no puede convertirse a longpublic short getShortParameter(java.lang.String name) throws ParameterNotFoundException, java.lang.NumberFormatException
name
- nombre del parametro
ParameterNotFoundException
- si el parametro no se encuentra
java.lang.NumberFormatException
- si el parametro no puede ser convertido a shortpublic short getShortParameter(java.lang.String name, short def) throws java.lang.NumberFormatException
name
- nombre del parametrodef
- valor por defecto del parametro
java.lang.NumberFormatException
- si el parametro no puede convertirse a shortpublic java.lang.String[] getMissingParameters(java.lang.String[] required)
required
- array de parametros requeridos
public static java.util.Map parseParameters(java.lang.String data, java.lang.String encoding) throws java.io.UnsupportedEncodingException
IMPLEMENTATION NOTE: Se realiza una decodificacion de URL individualmente tanto en el nombre como en el valor del parametro en lugar de hacerlo en toda la query string Esto es así para soportar el caso en que el nombre o el valor incluyan el caracter "=" o "&" codificados que de otra forma podrían ser interpretados como delimitadores NOTE: Los datos del byte array de entrada son modificados en este método... cuidadin!
data
- Cadena que contiene los parametrosencoding
- Encoding utilizado para convertir a Hex
java.io.UnsupportedEncodingException
- si los datos están mal formadospublic static java.util.Map parseParameters(byte[] data, java.lang.String encoding) throws java.io.UnsupportedEncodingException
IMPLEMENTATION NOTE: Se realiza una decodificacion de URL individualmente tanto en el nombre como en el valor del parametro en lugar de hacerlo en toda la query string Esto es así para soportar el caso en que el nombre o el valor incluyan el caracter "=" o "&" codificados que de otra forma podrían ser interpretados como delimitadores NOTE: Los datos del byte array de entrada son modificados en este método... cuidadin!
data
- Cadena que contiene los parametrosencoding
- Encoding utilizado para convertir a Hex
java.io.UnsupportedEncodingException
- si los datos están mal formados
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |