View Javadoc

1   /*
2    * Copyright 2001-2004 The Apache Software Foundation
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.apache.commons.fileupload;
17  
18  
19  /***
20   * <p>A factory interface for creating {@link FileItem} instances. Factories
21   * can provide their own custom configuration, over and above that provided
22   * by the default file upload implementation.</p>
23   *
24   * @author <a href="mailto:martinc@apache.org">Martin Cooper</a>
25   *
26   * @version $Id: FileItemFactory.java 155417 2005-02-26 13:00:27Z dirkv $
27   */
28  public interface FileItemFactory {
29  
30      /***
31       * Create a new {@link FileItem} instance from the supplied parameters and
32       * any local factory configuration.
33       *
34       * @param fieldName   The name of the form field.
35       * @param contentType The content type of the form field.
36       * @param isFormField <code>true</code> if this is a plain form field;
37       *                    <code>false</code> otherwise.
38       * @param fileName    The name of the uploaded file, if any, as supplied
39       *                    by the browser or other client.
40       *
41       * @return The newly created file item.
42       */
43      FileItem createItem(
44              String fieldName,
45              String contentType,
46              boolean isFormField,
47              String fileName
48              );
49  }