Class DirectDirectoryTransaction

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

public final class DirectDirectoryTransaction extends AbstractTwoPhaseIOTransaction
The IO operation may be done before requestCommit is called, on a call of the process method. Without a process() call the IO Operation is done by the requestCommit call.
  • Constructor Details

    • DirectDirectoryTransaction

      public DirectDirectoryTransaction(File p_dirDst, File p_dirSrc) throws IOException
      Parameters:
      p_dirDst -
      p_dirSrc -
      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
    • process

      public boolean process()
    • getDestinationDirectory

      public final File getDestinationDirectory()
      Get the destination directory.
      Returns:
      The value p_dirDst that was passed to the contructor.
    • getSourceDirectory

      public final File getSourceDirectory()
      Get the source directory.
      Returns:
      The value p_dirSrc that was passed to the contructor.
    • hasBackup

      public final boolean hasBackup()
      Returns:
      true if the transaction has left a backup directory, or false otherwise (e.g. if the destination directory did not exist before the transaction).
    • getBackup

      public File getBackup()
      Returns:
      The backup directory that was left by the transaction, or null if none was created (e.g. if the destination directory 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 directory 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 directory 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