Package de.uplanet.util.transaction
Class IndirectDirectoryTransaction
- java.lang.Object
-
- de.uplanet.util.transaction.IndirectDirectoryTransaction
-
- All Implemented Interfaces:
ITwoPhaseIOTransaction
,ITwoPhaseTransaction
public final class IndirectDirectoryTransaction extends Object
The IO operation not done before requestCommit is called.
-
-
Constructor Summary
Constructors Constructor Description IndirectDirectoryTransaction(File p_dirDst, File p_dirSrc)
IndirectDirectoryTransaction(Path p_dirDst, Path p_dirSrc)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
commit()
Commit the transaction.File
getBackup()
File
getDestinationDirectory()
Get the destination directory.Throwable
getLastError()
File
getSourceDirectory()
Get the source directory.boolean
hasBackup()
boolean
requestCommit()
Request a file system transaction.boolean
rollback()
Try to rollback the directory transaction.String
toString()
-
-
-
Constructor Detail
-
IndirectDirectoryTransaction
public IndirectDirectoryTransaction(Path p_dirDst, Path p_dirSrc) throws IOException
- Throws:
IOException
-
IndirectDirectoryTransaction
public IndirectDirectoryTransaction(File p_dirDst, File p_dirSrc) throws IOException
- Throws:
IOException
-
-
Method Detail
-
requestCommit
public boolean requestCommit()
Description copied from interface:ITwoPhaseTransaction
Request a file system transaction.When this method returns
true
it has sucessfully moved the source file to it's new location, and has successfully created a backup copy of the destination file, if it existed before.- Specified by:
requestCommit
in interfaceITwoPhaseTransaction
-
getDestinationDirectory
public final File getDestinationDirectory()
Get the destination directory.- Returns:
- The value
p_dirDst
that was passed to the contructor.
-
getSourceDirectory
public final File getSourceDirectory()
Get the source directory.- Returns:
- The value
p_dirSrc
that was passed to the contructor.
-
hasBackup
public final boolean hasBackup()
- Specified by:
hasBackup
in interfaceITwoPhaseIOTransaction
- Returns:
true
if the transaction has left a backup directory, orfalse
otherwise (e.g. if the destination directory did not exist before the transaction).
-
getBackup
public File getBackup()
- Specified by:
getBackup
in interfaceITwoPhaseIOTransaction
- Returns:
- The backup directory that was left by the transaction, or
null
if none was created (e.g. if the destination directory did not exist before the transaction).
-
commit
public final void commit()
Description copied from interface:ITwoPhaseTransaction
Commit the transaction.- Specified by:
commit
in interfaceITwoPhaseTransaction
-
rollback
public boolean rollback()
Try to rollback the directory transaction.- Specified by:
rollback
in interfaceITwoPhaseTransaction
- Returns:
true
if the rollback was successful, orfalse
otherwise. In the latter caseITwoPhaseTransaction.getLastError()
may give additional information about why the rollback failed, and a backup directory may exist then.
-
getLastError
public final Throwable getLastError()
- Specified by:
getLastError
in interfaceITwoPhaseTransaction
- Returns:
- The last exception that was caugth during the transaction,
or
null
if no error occurred;
-
-