Package de.uplanet.util.transaction
Class IndirectFileCreateFileTransaction
- java.lang.Object
-
- de.uplanet.util.transaction.IndirectFileCreateFileTransaction
-
- All Implemented Interfaces:
ITwoPhaseIOTransaction,ITwoPhaseTransaction
public final class IndirectFileCreateFileTransaction extends Object
The IO operation not done before commit is called by the transaction manager Transaction object for creating a new file. On rollback and commit the given source file will always deleted.
-
-
Constructor Summary
Constructors Constructor Description IndirectFileCreateFileTransaction(File p_fileDst, File p_fileSrc, boolean p_bOverwriteExisting)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcommit()Commit the transaction.FilegetBackup()FilegetDestinationFile()Get the destination file.ThrowablegetLastError()FilegetSourceFile()Get the source file.booleanhasBackup()booleanrequestCommit()Request a file system transaction.booleanrollback()Try to rollback the file transaction.StringtoString()
-
-
-
Constructor Detail
-
IndirectFileCreateFileTransaction
public IndirectFileCreateFileTransaction(File p_fileDst, File p_fileSrc, boolean p_bOverwriteExisting) throws IOException
- Parameters:
p_fileDst- The destination file.p_fileSrc- The file used for create (must be a temporary file, because it will always be deleted after rollback or commit).p_bOverwriteExisting-trueif an existing file should be overwritten, orfalseotherwise.- Throws:
IOException- Ifp_fileDstorp_fileSrcis not a file.
-
-
Method Detail
-
commit
public void commit()
Description copied from interface:ITwoPhaseTransactionCommit the transaction.- Specified by:
commitin interfaceITwoPhaseTransaction
-
rollback
public boolean rollback()
Try to rollback the file transaction.- Specified by:
rollbackin interfaceITwoPhaseTransaction- Returns:
trueif the rollback was successful, orfalseotherwise. In the latter caseITwoPhaseTransaction.getLastError()may give additional information about why the rollback failed, and a backup file may exist then.
-
requestCommit
public boolean requestCommit()
Description copied from interface:ITwoPhaseTransactionRequest a file system transaction.When this method returns
trueit 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:
requestCommitin interfaceITwoPhaseTransaction
-
getDestinationFile
public final File getDestinationFile()
Get the destination file.- Returns:
- The value
p_fileDstthat was passed to the contructor.
-
getSourceFile
public final File getSourceFile()
Get the source file.- Returns:
- The value
p_fileSrcthat was passed to the contructor.
-
hasBackup
public final boolean hasBackup()
- Specified by:
hasBackupin interfaceITwoPhaseIOTransaction- Returns:
trueif the transaction has left a backup file, orfalseotherwise (e.g. if the destination file did not exist before the transaction).
-
getBackup
public final File getBackup()
- Specified by:
getBackupin interfaceITwoPhaseIOTransaction- Returns:
- The backup file that was left by the transaction, or
nullif none was created (e.g. if the destination file did not exist before the transaction).
-
getLastError
public final Throwable getLastError()
- Specified by:
getLastErrorin interfaceITwoPhaseTransaction- Returns:
- The last exception that was caugth during the transaction,
or
nullif no error occurred;
-
-