Class IndirectDeleteFileTransaction

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

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

    • IndirectDeleteFileTransaction

      public IndirectDeleteFileTransaction(File p_fileToDelete) throws IOException
      Parameters:
      p_fileToDelete - The file to delete
      Throws:
      IOException
    • IndirectDeleteFileTransaction

      public IndirectDeleteFileTransaction(File p_fileToDelete, boolean p_notFailsOnNotExisting) throws IOException
      Parameters:
      p_fileToDelete - The file to delete
      p_notFailsOnNotExisting - On true the transaction will not fail when the file was moved or deleted before otherwise the transaction will fail.
      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
    • getFileToDelete

      public final File getFileToDelete()
      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