Package org.jboss.vfs
Class TempFileProvider
- java.lang.Object
-
- org.jboss.vfs.TempFileProvider
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
public final class TempFileProvider extends java.lang.Object implements java.io.Closeable
A provider for temporary physical files and directories.- Author:
- David M. Lloyd, Ales Justin
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close this provider and delete any temp files associated with it.static TempFileProvider
create(java.lang.String providerType, java.util.concurrent.ScheduledExecutorService executor)
Create a temporary file provider for a given type.static TempFileProvider
create(java.lang.String providerType, java.util.concurrent.ScheduledExecutorService executor, boolean cleanExisting)
Create a temporary file provider for a given type.TempDir
createTempDir(java.lang.String originalName)
Create a temp directory, into which temporary files may be placed.protected void
finalize()
-
-
-
Method Detail
-
create
public static TempFileProvider create(java.lang.String providerType, java.util.concurrent.ScheduledExecutorService executor) throws java.io.IOException
Create a temporary file provider for a given type. This is the same as callingcreate(final String providerType, final ScheduledExecutorService executor, false)
- Parameters:
providerType
- the provider type string (used as a prefix in the temp file dir name)executor
- the executor- Returns:
- the new provider
- Throws:
java.io.IOException
- if an I/O error occurs
-
create
public static TempFileProvider create(java.lang.String providerType, java.util.concurrent.ScheduledExecutorService executor, boolean cleanExisting) throws java.io.IOException
Create a temporary file provider for a given type.- Parameters:
providerType
- The provider type string (used as a prefix in the temp file dir name)executor
- Executor which will be used to manage temp file provider tasks (like cleaning up/deleting the temp files when needed)cleanExisting
- If this is true, then this method will *try* to delete the existing temp content (if any) for theproviderType
. The attempt to delete the existing content (if any) will be done in the background and this method will not wait for the deletion to complete. The method will immediately return back with a usableTempFileProvider
. Note that thecleanExisting
will just act as a hint for this method to trigger the deletion of existing content. The method may not always be able to delete the existing contents.- Returns:
- The new provider
- Throws:
java.io.IOException
- if an I/O error occurs
-
createTempDir
public TempDir createTempDir(java.lang.String originalName) throws java.io.IOException
Create a temp directory, into which temporary files may be placed.- Parameters:
originalName
- the original file name- Returns:
- the temp directory
- Throws:
java.io.IOException
- for any error
-
close
public void close() throws java.io.IOException
Close this provider and delete any temp files associated with it.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
finalize
protected void finalize()
- Overrides:
finalize
in classjava.lang.Object
-
-