Package de.uplanet.util.transaction
Class IxFileUploadTransaction
- java.lang.Object
-
- de.uplanet.util.transaction.IxFileUploadTransaction
-
- All Implemented Interfaces:
ITwoPhaseIOTransaction,ITwoPhaseTransaction
public final class IxFileUploadTransaction extends Object
Same asDirectFileMoveTransactionbut on a rollback the source file can be deleted depends on how the object was constructed. If the method process or requestCommit() fails the caller is responsible for the cleanup of the source file.
-
-
Constructor Summary
Constructors Constructor Description IxFileUploadTransaction(File p_fileDst, File p_fileSrc, boolean p_bDeleteSrcFileOnRollback)IxFileUploadTransaction(File p_fileDst, File p_fileSrc, boolean p_bOverwriteExisting, boolean p_bDeleteSrcFileOnRollback)
-
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()booleanprocess()booleanrequestCommit()Request a file system transaction.booleanrollback()Try to rollback the file transaction.StringtoString()
-
-
-
Constructor Detail
-
IxFileUploadTransaction
public IxFileUploadTransaction(File p_fileDst, File p_fileSrc, boolean p_bDeleteSrcFileOnRollback) throws IOException
- Parameters:
p_fileDst- The destination file (must not exists, overwrite is not allowed here).p_fileSrc- The source file to move (must exists).p_bDeleteSrcFileOnRollback- Deletes the source file, if rollback was called.- Throws:
IOException
-
IxFileUploadTransaction
public IxFileUploadTransaction(File p_fileDst, File p_fileSrc, boolean p_bOverwriteExisting, boolean p_bDeleteSrcFileOnRollback) throws IOException
- Parameters:
p_fileDst- The destination file (must not exists, overwrite is not allowed here).p_fileSrc- The source file to move (must exists).p_bOverwriteExisting-trueif an existing file should be overwrite otherwisefalse.p_bDeleteSrcFileOnRollback- Deletes the source file, if rollback was called.- Throws:
IOException
-
-
Method Detail
-
process
public boolean process()
- Returns:
trueall ok,falseon a failure. On failure the caller is responsible for the cleanup of the source file
-
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- Returns:
trueall ok,falseon a failure. On failure the caller is responsible for the cleanup of the source file
-
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.
-
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).
-
commit
public final void commit()
Description copied from interface:ITwoPhaseTransactionCommit the transaction.- Specified by:
commitin interfaceITwoPhaseTransaction
-
getLastError
public final Throwable getLastError()
- Specified by:
getLastErrorin interfaceITwoPhaseTransaction- Returns:
- The last exception that was caugth during the transaction,
or
nullif no error occurred;
-
-