org.bgu.servlet.util
Class MultipartRequest

java.lang.Object
  |
  +--javax.servlet.ServletRequestWrapper
        |
        +--javax.servlet.http.HttpServletRequestWrapper
              |
              +--MultipartRequest
All Implemented Interfaces:
HttpServletRequest, ServletRequest

public class MultipartRequest
extends HttpServletRequestWrapper

Extracts parameter values from "multipart; form-data" contained in incoming HTTP servlet requests. For further details concerning multipart requests see RFC 1867.

Author:
Yanik

Nested Class Summary
 class MultipartRequest.Part
          This class is parts of some multipart
 
Field Summary
protected  String boundary
           
protected  byte[] dataBytes
           
protected  StringBuffer dataString
           
static String DOULE_DASH
           
static String EMPTY_LINE
           
static String EOLN
           
protected  int maxSize
           
protected  Vector names
           
protected  Map part_names
           
protected  Map parts
           
protected  HttpServletRequest request
           
 
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
MultipartRequest(HttpServletRequest request)
          A convenience constructor allowing size of multipart content of incoming request to be of maximum size.
MultipartRequest(HttpServletRequest request, int maxSize)
          Creates new incoming multi part out of .
 
Method Summary
 StringBuffer getAllData()
          Returns all not parsed data
 String getParameter(String name)
          Implementation of getParameter method.
 Map getParameterMap()
          Implementation of getParameterMap.
 Enumeration getParameterNames()
          Implementation of getParameterNames method.
 String[] getParameterValues(String name)
          Implementation of getParameterValues.
 MultipartRequest.Part getPart(String name)
          Returns Part with some name.
protected  MultipartRequest.Part getPart(String name, int start)
          Getting MultipartRequest.Part with some name starts from some index in global buffer of incomming data.
 MultipartRequest.Part[] getParts(String name)
          Returns all Part[] with some name.
 
Methods inherited from class javax.servlet.http.HttpServletRequestWrapper
getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole
 
Methods inherited from class javax.servlet.ServletRequestWrapper
getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocale, getLocales, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRequest, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding, setRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.ServletRequest
getAttribute, getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocale, getLocales, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding
 

Field Detail

EOLN

public static final String EOLN
See Also:
Constant Field Values

EMPTY_LINE

public static final String EMPTY_LINE
See Also:
Constant Field Values

DOULE_DASH

public static final String DOULE_DASH
See Also:
Constant Field Values

request

protected HttpServletRequest request

boundary

protected String boundary

dataString

protected StringBuffer dataString

dataBytes

protected byte[] dataBytes

maxSize

protected int maxSize

names

protected Vector names

parts

protected Map parts

part_names

protected Map part_names
Constructor Detail

MultipartRequest

public MultipartRequest(HttpServletRequest request)
                 throws ServletException,
                        IOException
A convenience constructor allowing size of multipart content of incoming request to be of maximum size.

Parameters:
request - HttpServletRequest containing multipart message
Throws:
ServletException - is thrown if thrown by this(request, -1);
IOException

MultipartRequest

public MultipartRequest(HttpServletRequest request,
                        int maxSize)
                 throws ServletException,
                        IOException
Creates new incoming multi part out of .

Parameters:
request - HttpServletRequest containing multipart message
maxSize - max. allowable size of multipart message. If smaller than 0 it is assumed to be Integer.MAX_VALUE
Throws:
ServletException - is thrown if either of the following occurs:
IOException
Method Detail

getAllData

public StringBuffer getAllData()
Returns all not parsed data

Returns:
a StringBuffer of all data

getParameterNames

public Enumeration getParameterNames()
Implementation of getParameterNames method.

Specified by:
getParameterNames in interface ServletRequest
Overrides:
getParameterNames in class ServletRequestWrapper
Returns:
an Enumeration value

getParameter

public String getParameter(String name)
Implementation of getParameter method.

Specified by:
getParameter in interface ServletRequest
Overrides:
getParameter in class ServletRequestWrapper
Parameters:
name - a String value
Returns:
a String value

getParameterValues

public String[] getParameterValues(String name)
Implementation of getParameterValues.

Specified by:
getParameterValues in interface ServletRequest
Overrides:
getParameterValues in class ServletRequestWrapper
Parameters:
name - a String value
Returns:
a String[] value

getParameterMap

public Map getParameterMap()
Implementation of getParameterMap.

Specified by:
getParameterMap in interface ServletRequest
Overrides:
getParameterMap in class ServletRequestWrapper

getPart

public MultipartRequest.Part getPart(String name)
Returns Part with some name.

Parameters:
name - a name of part
Returns:
a Part value

getParts

public MultipartRequest.Part[] getParts(String name)
Returns all Part[] with some name.

Parameters:
name - a String value
Returns:
a Part[] value

getPart

protected MultipartRequest.Part getPart(String name,
                                        int start)
Getting MultipartRequest.Part with some name starts from some index in global buffer of incomming data.

Parameters:
name - a String value
start - an int value
Returns:
a Part value