Overview  Package   Class  Use  Tree  Deprecated  Index  Help 
PREV CLASS   NEXT CLASS FRAMES    NO FRAMES    All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

org.alfresco.util
Class TempFileProvider
java.lang.Object
  org.alfresco.util.TempFileProvider

@org.alfresco.api.AlfrescoPublicApi
public class TempFileProvider
extends Object
A helper class that provides temporary files, providing a common point to clean them up.

The contents of ALFRESCO_TEMP_FILE_DIR [%java.io.tmpdir%/Alfresco] are managed by this class. Temporary files and directories are cleaned by TempFileCleanerJob so that after a delay [default 1 hour] the contents of the alfresco temp dir, both files and directories are removed.

Some temporary files may need to live longer than 1 hour. The temp file provider allows special sub folders which are cleaned less frequently. By default, files in the long life folders will remain for 24 hours unless cleaned by the application code earlier.

The other contents of %java.io.tmpdir% are not touched by the cleaner job.

TempFileCleanerJob Job Data: protectHours, number of hours to keep temporary files, default 1 hour.

Author:
derekh, mrogers

Nested Class Summary
static class
TempFileProvider.TempFileCleanerJob
          Cleans up all Alfresco temporary files that are older than the given number of hours.
Field Summary
static String
ALFRESCO_LONG_LIFE_FILE_DIR
          The prefix for the long life temporary files.
static String
ALFRESCO_TEMP_FILE_DIR
          subdirectory in the temp directory where Alfresco temporary files will go
static String
SYSTEM_KEY_TEMP_DIR
          the system property key giving us the location of the temp directory
Method Summary
static File
createTempFile(InputStream in, String namePrefix, String nameSufix)
static File
createTempFile(String prefix, String suffix)
          Create a temp file in the alfresco temp dir.
static File
createTempFile(String prefix, String suffix, File directory)
static File
getLongLifeTempDir(String key)
          creates a longer living temp dir.
static File
getSystemTempDir()
          Get the Java Temp dir e.g.
static File
getTempDir()
          Get the Alfresco temp dir, by defaut %java.io.tempdir%/Alfresco.
static File
getTempDir(String dirName)
          Get the specified temp dir, %java.io.tempdir%/dirName.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
ALFRESCO_LONG_LIFE_FILE_DIR
public static final String ALFRESCO_LONG_LIFE_FILE_DIR
The prefix for the long life temporary files.
See Also:
Constant Field Values

ALFRESCO_TEMP_FILE_DIR
public static final String ALFRESCO_TEMP_FILE_DIR
subdirectory in the temp directory where Alfresco temporary files will go
See Also:
Constant Field Values

SYSTEM_KEY_TEMP_DIR
public static final String SYSTEM_KEY_TEMP_DIR
the system property key giving us the location of the temp directory
See Also:
Constant Field Values
Method Detail
getSystemTempDir
public static File getSystemTempDir()
Get the Java Temp dir e.g. java.io.tempdir
Returns:
Returns the system temporary directory i.e. isDir == true

getTempDir
public static File getTempDir()
Get the Alfresco temp dir, by defaut %java.io.tempdir%/Alfresco. Will create the temp dir on the fly if it does not already exist.
Returns:
Returns a temporary directory, i.e. isDir == true

getTempDir
public static File getTempDir(String dirName)
Get the specified temp dir, %java.io.tempdir%/dirName. Will create the temp dir on the fly if it does not already exist.
Parameters:
dirName - the name of sub-directory in %java.io.tempdir%
Returns:
Returns a temporary directory, i.e. isDir == true

getLongLifeTempDir
public static File getLongLifeTempDir(String key)
creates a longer living temp dir. Files within the longer living temp dir will not be garbage collected as soon as "normal" temporary files. By default long life temp files will live for for 24 hours rather than 1 hour.

Code using the longer life temporary files should be careful to clean up since abuse of this feature may result in out of memory/disk space errors.

Parameters:
key - can be blank in which case the system will generate a folder to be used by all processes or can be used to create a unique temporary folder name for a particular process. At the end of the process the client can simply delete the entire temporary folder.
Returns:
the long life temporary directory

createTempFile
public static File createTempFile(InputStream in,
                                  String namePrefix,
                                  String nameSufix)
                           throws Exception
Throws:
Exception

createTempFile
public static File createTempFile(String prefix,
                                  String suffix)
Create a temp file in the alfresco temp dir.
Returns:
Returns a temp File that will be located in the Alfresco subdirectory of the default temp directory
See Also:
ALFRESCO_TEMP_FILE_DIR, File.createTempFile(java.lang.String, java.lang.String)

createTempFile
public static File createTempFile(String prefix,
                                  String suffix,
                                  File directory)
Returns:
Returns a temp File that will be located in the given directory
See Also:
ALFRESCO_TEMP_FILE_DIR, File.createTempFile(java.lang.String, java.lang.String)

Overview  Package   Class  Use  Tree  Deprecated  Index  Help 
PREV CLASS   NEXT CLASS FRAMES    NO FRAMES    All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005–2018 Alfresco Software. All rights reserved.

Java API documentation generated with DocFlex/Javadoc 1.6.1 using JavadocPro template set.