You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/02/13 10:50:21 UTC

svn commit: r1445520 - /tomcat/trunk/java/javax/servlet/http/Part.java

Author: markt
Date: Wed Feb 13 09:50:21 2013
New Revision: 1445520

URL: http://svn.apache.org/r1445520
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54203
Complete Part javadoc.
Content copied from Commons FileUpload with minor changes as necessary.

Modified:
    tomcat/trunk/java/javax/servlet/http/Part.java

Modified: tomcat/trunk/java/javax/servlet/http/Part.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/Part.java?rev=1445520&r1=1445519&r2=1445520&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/Part.java (original)
+++ tomcat/trunk/java/javax/servlet/http/Part.java Wed Feb 13 09:50:21 2013
@@ -21,24 +21,83 @@ import java.io.InputStream;
 import java.util.Collection;
 
 /**
+ * This class represents a part as uploaded to the server as part of a
+ * <code>multipart/form-data</code> request body. The part may represent either
+ * an uploaded file or form data.
+ *
  * @since Servlet 3.0
- * TODO SERVLET3 - Add comments
  */
 public interface Part {
+
+    /**
+     * Obtain an <code>InputStream</code> that can be used to retrieve the
+     * contents of the file.
+     */
     public InputStream getInputStream() throws IOException;
+
+    /**
+     * Obtain the content type passed by the browser or <code>null</code> if not
+     * defined.
+     */
     public String getContentType();
+
+    /**
+     * Obtain the name of the field in the multipart form corresponding to this
+     * part.
+     */
     public String getName();
+
+    /**
+     * Obtain the size of this part.
+     */
     public long getSize();
+
+    /**
+     * A convenience method to write an uploaded part to disk. The client code
+     * is not concerned with whether or not the part is stored in memory, or on
+     * disk in a temporary location. They just want to write the uploaded part
+     * to a file.
+     *
+     *  This method is not guaranteed to succeed if called more than once for
+     *  the same part. This allows a particular implementation to use, for
+     *  example, file renaming, where possible, rather than copying all of the
+     *  underlying data, thus gaining a significant performance benefit.
+     *
+     * @param fileName  The location into which the uploaded part should be
+     *                  stored. Relative locations are relative to {@link
+     *                  javax.servlet.MultipartConfigElement#getLocation()}
+     */
     public void write(String fileName) throws IOException;
+
+    /**
+     * Deletes the underlying storage for a part, including deleting any
+     * associated temporary disk file. Although this storage will be deleted
+     * automatically when the Part instance is garbage collected, this
+     * method can be used to ensure that this is done at an earlier time, thus
+     * preserving system resources.
+     */
     public void delete() throws IOException;
 
     /**
-     * Obtains the value of the specified mime header for the part.
-     * @param name Header name
-     * @return The header value or <code>null</code> if the header is not
-     *         present
+     * Obtains the value of the specified part header as a String. If there are
+     * multiple headers with the same name, this method returns the first header
+     * in the part. The header name is case insensitive.
+     *
+     * @param name  Header name
+     * @return      The header value or <code>null</code> if the header is not
+     *              present
      */
     public String getHeader(String name);
+
+    /**
+     * Obtain all the values of the specified part header. If the part did not
+     * include any headers of the specified name, this method returns an empty
+     * Collection. The header name is case insensitive.
+     */
     public Collection<String> getHeaders(String name);
+
+    /**
+     * Returns a Collection of all the header names provided for this part.
+     */
     public Collection<String> getHeaderNames();
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org