Home | History | Annotate | Download | only in util
      1 /****************************************************************
      2  * Licensed to the Apache Software Foundation (ASF) under one   *
      3  * or more contributor license agreements.  See the NOTICE file *
      4  * distributed with this work for additional information        *
      5  * regarding copyright ownership.  The ASF licenses this file   *
      6  * to you under the Apache License, Version 2.0 (the            *
      7  * "License"); you may not use this file except in compliance   *
      8  * with the License.  You may obtain a copy of the License at   *
      9  *                                                              *
     10  *   http://www.apache.org/licenses/LICENSE-2.0                 *
     11  *                                                              *
     12  * Unless required by applicable law or agreed to in writing,   *
     13  * software distributed under the License is distributed on an  *
     14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
     15  * KIND, either express or implied.  See the License for the    *
     16  * specific language governing permissions and limitations      *
     17  * under the License.                                           *
     18  ****************************************************************/
     19 
     20 package org.apache.james.mime4j.util;
     21 
     22 import java.io.IOException;
     23 
     24 /**
     25  *
     26  * @version $Id: TempPath.java,v 1.2 2004/10/02 12:41:11 ntherning Exp $
     27  */
     28 public interface TempPath {
     29     TempPath createTempPath() throws IOException;
     30     TempPath createTempPath(String prefix) throws IOException;
     31 
     32     /**
     33      * Creates a new temporary file. Wheter it will be be created in memory
     34      * or on disk is up to to the implementation.
     35      * The prefix will be empty and the suffix will be
     36      * <code>.tmp</code> if created on disk.
     37      *
     38      * @return the temporary file.
     39      */
     40     TempFile createTempFile() throws IOException;
     41 
     42     /**
     43      * Creates a new temporary file. Wheter it will be be created in memory
     44      * or on disk is up to to the implementation.
     45      * The prefix and suffix can be set by the user.
     46      *
     47      * @param prefix the prefix to use. <code>null</code> gives no prefix.
     48      * @param suffix the suffix to use. <code>null</code> gives
     49      *        <code>.tmp</code>.
     50      * @return the temporary file.
     51      */
     52     TempFile createTempFile(String prefix, String suffix) throws IOException;
     53 
     54     /**
     55      * Creates a new temporary file. Wheter it will be be created in memory
     56      * or on disk can be specified using the <code>allowInMemory</code>
     57      * parameter. If the implementation doesn't support in-memory files
     58      * the new file will be created on disk.
     59      * The prefix and suffix can be set by the user.
     60      *
     61      * @param prefix the prefix to use. <code>null</code> gives no prefix.
     62      * @param suffix the suffix to use. <code>null</code> gives
     63      *        <code>.tmp</code>.
     64      * @param allowInMemory if <code>true</code> the file MIGHT be created in
     65      *        memory if supported by the implentation. If <code>false</code> the
     66      *        file MUST be created on disk.
     67      * @return the temporary file.
     68      */
     69     TempFile createTempFile(String prefix, String suffix,
     70                             boolean allowInMemory) throws IOException;
     71     String getAbsolutePath();
     72     void delete();
     73 }
     74