001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.commons.fileupload; 018 019import java.io.File; 020import org.apache.commons.fileupload.disk.DiskFileItemFactory; 021 022/** 023 * <p>The default {@link org.apache.commons.fileupload.FileItemFactory} 024 * implementation. This implementation creates 025 * {@link org.apache.commons.fileupload.FileItem} instances which keep their 026 * content either in memory, for smaller items, or in a temporary file on disk, 027 * for larger items. The size threshold, above which content will be stored on 028 * disk, is configurable, as is the directory in which temporary files will be 029 * created.</p> 030 * 031 * <p>If not otherwise configured, the default configuration values are as 032 * follows: 033 * <ul> 034 * <li>Size threshold is 10KB.</li> 035 * <li>Repository is the system default temp directory, as returned by 036 * <code>System.getProperty("java.io.tmpdir")</code>.</li> 037 * </ul> 038 * 039 * @deprecated 1.1 Use <code>DiskFileItemFactory</code> instead. 040 */ 041@Deprecated 042public class DefaultFileItemFactory extends DiskFileItemFactory { 043 044 // ----------------------------------------------------------- Constructors 045 046 /** 047 * Constructs an unconfigured instance of this class. The resulting factory 048 * may be configured by calling the appropriate setter methods. 049 * 050 * @deprecated 1.1 Use <code>DiskFileItemFactory</code> instead. 051 */ 052 @Deprecated 053 public DefaultFileItemFactory() { 054 super(); 055 } 056 057 /** 058 * Constructs a preconfigured instance of this class. 059 * 060 * @param sizeThreshold The threshold, in bytes, below which items will be 061 * retained in memory and above which they will be 062 * stored as a file. 063 * @param repository The data repository, which is the directory in 064 * which files will be created, should the item size 065 * exceed the threshold. 066 * 067 * @deprecated 1.1 Use <code>DiskFileItemFactory</code> instead. 068 */ 069 @Deprecated 070 public DefaultFileItemFactory(int sizeThreshold, File repository) { 071 super(sizeThreshold, repository); 072 } 073 074 // --------------------------------------------------------- Public Methods 075 076 /** 077 * Create a new {@link org.apache.commons.fileupload.DefaultFileItem} 078 * instance from the supplied parameters and the local factory 079 * configuration. 080 * 081 * @param fieldName The name of the form field. 082 * @param contentType The content type of the form field. 083 * @param isFormField <code>true</code> if this is a plain form field; 084 * <code>false</code> otherwise. 085 * @param fileName The name of the uploaded file, if any, as supplied 086 * by the browser or other client. 087 * 088 * @return The newly created file item. 089 * 090 * @deprecated 1.1 Use <code>DiskFileItemFactory</code> instead. 091 */ 092 @Override 093 @Deprecated 094 public FileItem createItem( 095 String fieldName, 096 String contentType, 097 boolean isFormField, 098 String fileName 099 ) { 100 return new DefaultFileItem(fieldName, contentType, 101 isFormField, fileName, getSizeThreshold(), getRepository()); 102 } 103 104}