private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
/** The list of buffers, which grows and never reduces. */
- private List buffers = new ArrayList();
+ private List<byte[]> buffers = new ArrayList<byte[]>();
/** The index of the current buffer. */
private int currentBufferIndex;
/** The total count of bytes in all the filled buffers. */
* @return the buffer
*/
private byte[] getBuffer(int index) {
- return (byte[]) buffers.get(index);
+ return buffers.get(index);
}
/**
ParameterParser parser = new ParameterParser();
parser.setLowerCaseNames(true);
// Parameter parser can handle null input
- Map params = parser.parse(getContentType(), ';');
- return (String) params.get("charset");
+ Map<String,String> params = parser.parse(getContentType(), ';');
+ return params.get("charset");
}
/**\r
* Collection of <code>Tracker</code> instances in existence.\r
*/\r
- final Collection /* Tracker */ trackers = new Vector(); // synchronized\r
+ final Collection<Tracker> trackers = new Vector<Tracker>(); // synchronized\r
/**\r
* Whether to terminate the thread when the tracking is complete.\r
*/\r
* requested header. If the item does not have any headers of\r
* that name, return an empty <code>Enumeration</code>\r
*/\r
- Iterator getHeaders(String name);\r
+ Iterator<String> getHeaders(String name);\r
\r
/**\r
* <p>\r
* requested header. If the item does not have any headers of\r
* that name return an empty <code>Enumeration</code>\r
*/\r
- Iterator getHeaderNames();\r
+ Iterator<String> getHeaderNames();\r
}\r
* Map of <code>String</code> keys to a <code>List</code> of
* <code>String</code> instances.
*/
- private final Map headerNameToValueListMap = new HashMap();
+ private final Map<String,List<String>> headerNameToValueListMap =
+ new HashMap<String,List<String>>();
/**
* List to preserve order of headers as added. This would not be
* needed if a <code>LinkedHashMap</code> could be used, but don't
* want to depend on 1.4.
*/
- private final List headerNameList = new ArrayList();
+ private final List<String> headerNameList = new ArrayList<String>();
public String getHeader(String name) {
String nameLower = name.toLowerCase();
- List headerValueList = (List) headerNameToValueListMap.get(nameLower);
+ List<String> headerValueList = headerNameToValueListMap.get(nameLower);
if (null == headerValueList) {
return null;
}
- return (String) headerValueList.get(0);
+ return headerValueList.get(0);
}
- public Iterator getHeaderNames() {
+ public Iterator<String> getHeaderNames() {
return headerNameList.iterator();
}
- public Iterator getHeaders(String name) {
+ public Iterator<String> getHeaders(String name) {
String nameLower = name.toLowerCase();
- List headerValueList = (List) headerNameToValueListMap.get(nameLower);
+ List<String> headerValueList = headerNameToValueListMap.get(nameLower);
if (null == headerValueList) {
- return Collections.EMPTY_LIST.iterator();
+ return Collections.<String>emptyList().iterator();
}
return headerValueList.iterator();
}
*/
public synchronized void addHeader(String name, String value) {
String nameLower = name.toLowerCase();
- List headerValueList = (List) headerNameToValueListMap.get(nameLower);
+ List<String> headerValueList = headerNameToValueListMap.get(nameLower);
if (null == headerValueList) {
- headerValueList = new ArrayList();
+ headerValueList = new ArrayList<String>();
headerNameToValueListMap.put(nameLower, headerValueList);
headerNameList.add(nameLower);
}
* @throws FileUploadException if there are problems reading/parsing
* the request or storing files.
*/
- public List /* FileItem */ parseRequest(RequestContext ctx)
+ public List<FileItem> parseRequest(RequestContext ctx)
throws FileUploadException {
try {
FileItemIterator iter = getItemIterator(ctx);
- List items = new ArrayList();
+ List<FileItem> items = new ArrayList<FileItem>();
FileItemFactory fac = getFileItemFactory();
if (fac == null) {
throw new NullPointerException(
ParameterParser parser = new ParameterParser();
parser.setLowerCaseNames(true);
// Parameter parser can handle null input
- Map params = parser.parse(contentType, new char[] {';', ','});
- String boundaryStr = (String) params.get("boundary");
+ Map<String,String> params =
+ parser.parse(contentType, new char[] {';', ','});
+ String boundaryStr = params.get("boundary");
if (boundaryStr == null) {
return null;
ParameterParser parser = new ParameterParser();
parser.setLowerCaseNames(true);
// Parameter parser can handle null input
- Map params = parser.parse(pContentDisposition, ';');
+ Map<String,String> params =
+ parser.parse(pContentDisposition, ';');
if (params.containsKey("filename")) {
- fileName = (String) params.get("filename");
+ fileName = params.get("filename");
if (fileName != null) {
fileName = fileName.trim();
} else {
ParameterParser parser = new ParameterParser();
parser.setLowerCaseNames(true);
// Parameter parser can handle null input
- Map params = parser.parse(pContentDisposition, ';');
- fieldName = (String) params.get("name");
+ Map<String,String> params =
+ parser.parse(pContentDisposition, ';');
+ fieldName = params.get("name");
if (fieldName != null) {
fieldName = fieldName.trim();
}
* is exceeded.
*/
protected abstract static class SizeException extends FileUploadException {
+
+ private static final long serialVersionUID = 1L;
+
/**
* The actual size of the request.
*/
* required syntax.
*/
public static class MalformedStreamException
- extends IOException {
+ extends IOException {
+
+ private static final long serialVersionUID = 1L;
+
/**
* Constructs a <code>MalformedStreamException</code> with no
* detail message.
*/
public static class IllegalBoundaryException
extends IOException {
+
+ private static final long serialVersionUID = 1L;
+
/**
* Constructs an <code>IllegalBoundaryException</code> with no
* detail message.
*
* @return a map of name/value pairs
*/
- public Map parse(final String str, char[] separators) {
+ public Map<String,String> parse(final String str, char[] separators) {
if (separators == null || separators.length == 0) {
- return new HashMap();
+ return new HashMap<String,String>();
}
char separator = separators[0];
if (str != null) {
*
* @return a map of name/value pairs
*/
- public Map parse(final String str, char separator) {
+ public Map<String,String> parse(final String str, char separator) {
if (str == null) {
- return new HashMap();
+ return new HashMap<String,String>();
}
return parse(str.toCharArray(), separator);
}
*
* @return a map of name/value pairs
*/
- public Map parse(final char[] chars, char separator) {
- if (chars == null) {
- return new HashMap();
+ public Map<String,String> parse(final char[] inputChars, char separator) {
+ if (inputChars == null) {
+ return new HashMap<String,String>();
}
- return parse(chars, 0, chars.length, separator);
+ return parse(inputChars, 0, inputChars.length, separator);
}
/**
*
* @return a map of name/value pairs
*/
- public Map parse(
- final char[] chars,
+ public Map<String,String> parse(
+ final char[] inputChars,
int offset,
int length,
char separator) {
if (chars == null) {
- return new HashMap();
+ return new HashMap<String,String>();
}
- HashMap params = new HashMap();
- this.chars = chars;
+ HashMap<String,String> params = new HashMap<String,String>();
+ this.chars = inputChars;
this.pos = offset;
this.len = length;
* @throws FileUploadException if there are problems reading/parsing
* the request or storing files.
*/
- public List /* FileItem */ parseRequest(HttpServletRequest request)
+ public List<FileItem> parseRequest(HttpServletRequest request)
throws FileUploadException {
return parseRequest(new ServletRequestContext(request));
}