com.opensymphony.web
Class Parameters

java.lang.Object
  |
  +--com.opensymphony.web.Parameters

public class Parameters
extends java.lang.Object

Utility wrapper class for extracting values from a HttpServletRequest.

Example


 (in html page)

   
     <form>
        Name : <input type=text name=name> <br>
        Age  : <input type=text name=age> <br>
     </form>
   

 (in servlet method)

 Parameters p = new Parameters(request);
 String name = p.getString("name");
 int age = p.getInt("age");

 

Version:
$Revision: 1.12 $
Author:
Joe Walnes

Constructor Summary
Parameters(javax.servlet.http.HttpServletRequest request)
          Create wrapper to access original request.
Parameters(javax.servlet.http.HttpServletRequest request, int maxFileSize)
          Create wrapper to access original request.
 
Method Summary
 boolean getBoolean(java.lang.String name)
          Get boolean request parameter.
 java.util.Collection getCollection(java.lang.String name)
          Return a Collection of values from a page.
 java.util.Collection getCollection(java.lang.String name, ParameterConverter converter)
          Return a Collection of values from a page, converting each parameter into an appropriate object.
 java.util.Date getDate(java.lang.String name)
          Get Date request parameter.
 double getDouble(java.lang.String name)
          Get double request parameter.
 javax.ejb.EJBObject getEjb(java.lang.String name, javax.ejb.EJBHome home)
          Deprecated. use getEJB(java.lang.String,javax.ejb.EJBHome)
 javax.ejb.EJBObject getEJB(java.lang.String name, javax.ejb.EJBHome home)
          Lookup an Entity bean based on the primary key of the parameter passed across.
 javax.ejb.EJBObject getEjb(java.lang.String name, java.lang.String jndi)
          Deprecated. use getEJB(java.lang.String,java.lang.String)
 javax.ejb.EJBObject getEJB(java.lang.String name, java.lang.String jndiLocation)
          Lookup an Entity bean based on the primary key of the parameter passed across.
 java.util.Collection getEjbCollection(java.lang.String name, javax.ejb.EJBHome home)
          Deprecated. use getEJBCollection(java.lang.String,javax.ejb.EJBHome)
 java.util.Collection getEJBCollection(java.lang.String name, javax.ejb.EJBHome home)
          Lookup a Collection of entity EJB's based on the primary keys passed across in request.
 java.util.Collection getEjbCollection(java.lang.String name, java.lang.String jndi)
          Deprecated. use getEJBCollection(java.lang.String,java.lang.String)
 java.util.Collection getEJBCollection(java.lang.String name, java.lang.String jndiLocation)
          Lookup a Collection of entity EJB's based on the primary keys passed across in request.
 java.io.File getFile(java.lang.String fileName)
           
 java.lang.String getFileContentType(java.lang.String fileName)
           
 java.lang.String[] getFileNames()
           
 float getFloat(java.lang.String name)
          Get float request parameter.
 int getInt(java.lang.String name)
          Get int request parameter.
 long getLong(java.lang.String name)
          Get long request parameter.
 java.lang.Object getPathEjb(int item, javax.ejb.EJBHome home)
           
 java.lang.Object getPathEjb(int item, java.lang.String jndiLocation)
           
 java.lang.String[] getPathElements()
          Get the Path Info from the request, and return as array of elements.
 int getPathInt(int item)
           
 long getPathLong(int item)
           
 java.lang.String getPathString(int item)
           
 javax.servlet.http.HttpServletRequest getRequest()
          Return original HttpServletRequest object.
 java.lang.String getString(java.lang.String name)
          Get String request parameter.
 boolean isSet(java.lang.String name)
          Check paramater has been set to something.
 void populateBean(java.lang.Object obj)
          Populate the properties of a bean using any parameter value that has a valid setter method in the bean.
 void populateBean(java.lang.Object obj, java.lang.String[] allowedProperties)
          Populate the properties of a bean using any parameter value that has a valid setter method in the bean.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Parameters

public Parameters(javax.servlet.http.HttpServletRequest request)
Create wrapper to access original request. If file uploads being used, max size is 20mb.
Parameters:
request - Servlet request attribute.

Parameters

public Parameters(javax.servlet.http.HttpServletRequest request,
                  int maxFileSize)
Create wrapper to access original request.
Parameters:
request - Servlet request attribute.
maxFileSize - Maximum allowed file size of uploaded files (in bytes).
Method Detail

isSet

public boolean isSet(java.lang.String name)
Check paramater has been set to something. "" and null return false.

getString

public java.lang.String getString(java.lang.String name)
Get String request parameter.
Parameters:
name - Name of request parameter.
Returns:
Value of parameter, or "" if not found. Never returns null.

getInt

public int getInt(java.lang.String name)
Get int request parameter.
Parameters:
name - Name of request parameter.

getLong

public long getLong(java.lang.String name)
Get long request parameter.
Parameters:
name - Name of request parameter.

getFloat

public float getFloat(java.lang.String name)
Get float request parameter.
Parameters:
name - Name of request parameter.

getDouble

public double getDouble(java.lang.String name)
Get double request parameter.
Parameters:
name - Name of request parameter.

getBoolean

public boolean getBoolean(java.lang.String name)
Get boolean request parameter.
Parameters:
name - Name of request parameter.

getDate

public java.util.Date getDate(java.lang.String name)
Get Date request parameter.

If the parameter passed across is 'blah', the value of the date will be retrieved by accessing 'blah.year' (4 digit), 'blah.month' (1 or 2 digit, or String), and 'blah.day' (1 or 2 digit - postfix allowed). If month or day are missing, 1 will be used.

Parameters:
name - Name of request parameter.
See Also:
TextUtils.parseDate(java.lang.String,java.lang.String,java.lang.String)

getCollection

public java.util.Collection getCollection(java.lang.String name)
Return a Collection of values from a page.
Parameters:
name - Name of request parameters.
Returns:
Collection of Strings from request.

getCollection

public java.util.Collection getCollection(java.lang.String name,
                                          ParameterConverter converter)
Return a Collection of values from a page, converting each parameter into an appropriate object.
Parameters:
name - Name of request parameters.
Returns:
Collection of Strings from request.
See Also:
getCollection(String), ParameterConverter

getEJB

public javax.ejb.EJBObject getEJB(java.lang.String name,
                                  javax.ejb.EJBHome home)
Lookup an Entity bean based on the primary key of the parameter passed across.
Parameters:
name - Name of request parameter containing primary key.
home - EJBHome interface.
Returns:
reference to EJB that needs to be casted appropriately, or null if not found.
See Also:
EJBUtils.findEntity(javax.ejb.EJBHome, String)

getEJB

public javax.ejb.EJBObject getEJB(java.lang.String name,
                                  java.lang.String jndiLocation)
Lookup an Entity bean based on the primary key of the parameter passed across.
Parameters:
name - Name of request parameter containing primary key.
jndiLocation - JNDI location of EJBHome interface.
Returns:
reference to EJB that needs to be casted appropriately, or null if not found.
See Also:
EJBUtils.findEntity(javax.ejb.EJBHome, String)

getEJBCollection

public java.util.Collection getEJBCollection(java.lang.String name,
                                             javax.ejb.EJBHome home)
Lookup a Collection of entity EJB's based on the primary keys passed across in request.
Parameters:
name - Name of parameter
home - Home interface for EJB
Returns:
Collection of EJBObjects
See Also:
getEjb(String,javax.ejb.EJBHome), getCollection(String), EJBUtils.findEntity(javax.ejb.EJBHome,String)

getEJBCollection

public java.util.Collection getEJBCollection(java.lang.String name,
                                             java.lang.String jndiLocation)
Lookup a Collection of entity EJB's based on the primary keys passed across in request.
Parameters:
name - Name of parameter
home - Home interface for EJB
Returns:
Collection of EJBObjects
See Also:
getEjb(String,String), getCollection(String), EJBUtils.findEntity(javax.ejb.EJBHome,String), EJBUtils.lookup(String)

getEjb

public javax.ejb.EJBObject getEjb(java.lang.String name,
                                  javax.ejb.EJBHome home)
Deprecated. use getEJB(java.lang.String,javax.ejb.EJBHome)


getEjb

public javax.ejb.EJBObject getEjb(java.lang.String name,
                                  java.lang.String jndi)
Deprecated. use getEJB(java.lang.String,java.lang.String)


getEjbCollection

public java.util.Collection getEjbCollection(java.lang.String name,
                                             javax.ejb.EJBHome home)
Deprecated. use getEJBCollection(java.lang.String,javax.ejb.EJBHome)


getEjbCollection

public java.util.Collection getEjbCollection(java.lang.String name,
                                             java.lang.String jndi)
Deprecated. use getEJBCollection(java.lang.String,java.lang.String)


getPathElements

public java.lang.String[] getPathElements()
Get the Path Info from the request, and return as array of elements.
 "/ab/cd/ef"          -> {"ab","cd","ef"}
 "/ab/cd/ef/"         -> {"ab","cd","ef"}
 "/a//b/"             -> {"a","","b"}
 "/"                  -> {}
 ""                   -> {}
 null                 -> {}
 
Returns:
Array of elements in pathinfo, seperated by '/'.
See Also:
HttpServletRequest.getPathInfo()

getPathString

public java.lang.String getPathString(int item)

getPathInt

public int getPathInt(int item)

getPathLong

public long getPathLong(int item)

getPathEjb

public java.lang.Object getPathEjb(int item,
                                   javax.ejb.EJBHome home)

getPathEjb

public java.lang.Object getPathEjb(int item,
                                   java.lang.String jndiLocation)

getFile

public java.io.File getFile(java.lang.String fileName)

getFileNames

public java.lang.String[] getFileNames()

getFileContentType

public java.lang.String getFileContentType(java.lang.String fileName)

populateBean

public void populateBean(java.lang.Object obj)
Populate the properties of a bean using any parameter value that has a valid setter method in the bean.

populateBean

public void populateBean(java.lang.Object obj,
                         java.lang.String[] allowedProperties)
Populate the properties of a bean using any parameter value that has a valid setter method in the bean. If allowedProperties is not null, then only property names contained in the array shall be set.

getRequest

public javax.servlet.http.HttpServletRequest getRequest()
Return original HttpServletRequest object.

See www.opensymphony.com for more information.