Class IndirectFileMoveTransaction

java.lang.Object
de.uplanet.util.transaction.AbstractTwoPhaseIOTransaction
de.uplanet.util.transaction.IndirectFileMoveTransaction
All Implemented Interfaces:
ITwoPhaseIOTransaction, ITwoPhaseTransaction

public final class IndirectFileMoveTransaction extends AbstractTwoPhaseIOTransaction
The IO operation not done before requestCommit is called.
  • Constructor Details

    • IndirectFileMoveTransaction

      public IndirectFileMoveTransaction(File p_fileDst, File p_fileSrc, boolean p_bOverwriteExisting) throws IOException
      Parameters:
      p_fileDst -
      p_fileSrc -
      p_bOverwriteExisting -
      Throws:
      IOException
  • Method Details

    • 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
    • getDestinationFile

      public final File getDestinationFile()
      Get the destination file.
      Returns:
      The value p_fileDst that was passed to the contructor.
    • getSourceFile

      public final File 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, or false otherwise (e.g. if the destination file did not exist before the transaction).
    • getBackup

      public final File 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.
    • rollback

      public boolean rollback()
      Try to rollback the file transaction.
      Returns:
      true if the rollback was successful, or false otherwise. In the latter case ITwoPhaseTransaction.getLastError() may give additional information about why the rollback failed, and a backup file may exist then.
    • getLastError

      public final Throwable getLastError()
      Returns:
      The last exception that was caugth during the transaction, or null if no error occurred;
    • toString

      public String toString()
      Overrides:
      toString in class Object