Class TempFileManager

java.lang.Object
org.apache.maven.surefire.api.util.TempFileManager

public final class TempFileManager extends Object
Management of temporary files in surefire with support for sub directories of the system's directory of temporary files.
The File.createTempFile(String, String) API creates rather meaningless file names and only in the system's temp directory.
This class creates temp files from a prefix, a unique date/timestamp, a short file id and suffix. It also helps you organize temporary files into sub-directories, and thus avoid bloating the temp directory root.
Apart from that, this class works in much the same way as File.createTempFile(String, String) and File.deleteOnExit(), and can be used as a drop-in replacement.
Author:
Markus Spann
  • Method Details

    • instance

      public static TempFileManager instance()
    • instance

      public static TempFileManager instance(String subDirName)
      Creates an instance using a subdirectory of the system's temporary directory.
      Parameters:
      subDirName - name of subdirectory
      Returns:
      instance
    • instance

      public static TempFileManager instance(File tempDir)
    • deleteAll

      public void deleteAll()
    • getTempDir

      public File getTempDir()
      Returns the temporary directory or sub-directory under which temporary files are created.
      Returns:
      temporary directory
    • createTempFile

      public File createTempFile(String prefix, String suffix)
      Creates a new, uniquely-named temporary file in this object's tempDir with user-defined prefix and suffix (both may be null or empty and won't be trimmed).

      This method behaves similarly to File.createTempFile(String, String) and may be used as a drop-in replacement.
      This method is synchronized to help ensure uniqueness of temporary files.

      Parameters:
      prefix - optional file name prefix
      suffix - optional file name suffix
      Returns:
      file object
    • createTempFile

      public File createTempFile(String prefix)
    • isDeleteOnExit

      public boolean isDeleteOnExit()
    • setDeleteOnExit

      public void setDeleteOnExit(boolean deleteOnExit)
      Instructs this file manager to delete its temporary files during JVM shutdown.
      This status can be turned on and off unlike File.deleteOnExit().
      Parameters:
      deleteOnExit - delete the file in a shutdown hook on JVM exit
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getJavaIoTmpDir

      public static String getJavaIoTmpDir()
      Returns the value of system property java.io.tmpdir, the system's temp directory.
      Returns:
      path to system temp directory