de.uplanet.util.transaction
Class IxFileUploadTransaction

java.lang.Object
  extended by de.uplanet.util.transaction.IxFileUploadTransaction
All Implemented Interfaces:
ITwoPhaseIOTransaction, ITwoPhaseTransaction

public final class IxFileUploadTransaction
extends java.lang.Object

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.

Version:
$Revision: 87647 $

Constructor Summary
IxFileUploadTransaction(java.io.File p_fileDst, java.io.File p_fileSrc, boolean p_bDeleteSrcFileOnRollback)
           
 
Method Summary
 void commit()
          Commit the transaction.
 java.io.File getBackup()
           
 java.io.File getDestinationFile()
          Get the destination file.
 java.lang.Throwable getLastError()
           
 java.io.File getSourceFile()
          Get the source file.
 boolean hasBackup()
           
 boolean process()
           
 boolean requestCommit()
          Request a file system transaction.
 boolean rollback()
          Try to rollback the file transaction.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IxFileUploadTransaction

public IxFileUploadTransaction(java.io.File p_fileDst,
                               java.io.File p_fileSrc,
                               boolean p_bDeleteSrcFileOnRollback)
                        throws java.io.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:
java.io.IOException
Method Detail

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 interface ITwoPhaseTransaction
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 interface ITwoPhaseTransaction
Returns:
true if the rollback was successful, or false otherwise. In the latter case getLastError() may give additional information about why the rollback failed, and a backup file may exist then.

getDestinationFile

public final java.io.File getDestinationFile()
Get the destination file.

Returns:
The value p_fileDst that was passed to the contructor.

getSourceFile

public final java.io.File getSourceFile()
Get the source file.

Returns:
The value p_fileSrc that was passed to the contructor.

hasBackup

public final boolean hasBackup()
Specified by:
hasBackup in interface ITwoPhaseIOTransaction
Returns:
true if the transaction has left a backup file, or false otherwise (e.g. if the destination file did not exist before the transaction).

getBackup

public final java.io.File getBackup()
Specified by:
getBackup in interface ITwoPhaseIOTransaction
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.

Specified by:
commit in interface ITwoPhaseTransaction

getLastError

public final java.lang.Throwable getLastError()
Specified by:
getLastError in interface ITwoPhaseTransaction
Returns:
The last exception that was caugth during the transaction, or null if no error occurred;

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Last updated: 2011-08-11 10-04
Copyright © 2000-2011 United Planet. All Rights Reserved.