Package de.uplanet.util.transaction
Class IxFileUploadTransaction
java.lang.Object
de.uplanet.util.transaction.AbstractTwoPhaseIOTransaction
de.uplanet.util.transaction.IxFileUploadTransaction
- All Implemented Interfaces:
ITwoPhaseIOTransaction
,ITwoPhaseTransaction
Same as
DirectFileMoveTransaction
but 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
ConstructorDescriptionIxFileUploadTransaction
(File p_fileDst, File p_fileSrc, boolean p_bDeleteSrcFileOnRollback) IxFileUploadTransaction
(File p_fileDst, File p_fileSrc, boolean p_bOverwriteExisting, boolean p_bDeleteSrcFileOnRollback) -
Method Summary
Modifier and TypeMethodDescriptionfinal void
commit()
Commit the transaction.final File
final File
Get the destination file.final Throwable
final File
Get the source file.final boolean
boolean
process()
boolean
Request a file system transaction.boolean
rollback()
Try to rollback the file transaction.toString()
-
Constructor Details
-
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
-true
if an existing file should be overwrite otherwisefalse
.p_bDeleteSrcFileOnRollback
- Deletes the source file, if rollback was called.- Throws:
IOException
-
-
Method Details
-
process
public boolean process()- Returns:
true
all ok,false
on a failure. On failure the caller is responsible for the cleanup of the source file
-
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
- Returns:
true
all ok,false
on 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:
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 file may exist then.
-
getDestinationFile
Get the destination file.- Returns:
- The value
p_fileDst
that was passed to the contructor.
-
getSourceFile
Get the source file.- Returns:
- The value
p_fileSrc
that was passed to the contructor.
-
hasBackup
public final boolean hasBackup()- Returns:
true
if the transaction has left a backup file, orfalse
otherwise (e.g. if the destination file did not exist before the transaction).
-
getBackup
- Returns:
- The backup file that was left by the transaction, or
null
if none was created (e.g. if the destination file did not exist before the transaction).
-
commit
public final void commit()Description copied from interface:ITwoPhaseTransaction
Commit the transaction. -
getLastError
- Returns:
- The last exception that was caugth during the transaction,
or
null
if no error occurred;
-
toString
-