Class PluginInstallUtils.RemovalNotRecordedException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
com.ultikits.ultitools.utils.PluginInstallUtils.RemovalNotRecordedException
All Implemented Interfaces:
Serializable
Enclosing class:
PluginInstallUtils

@Internal public static final class PluginInstallUtils.RemovalNotRecordedException extends IOException
The uninstall could not delete these JARs now and could not record their deletion for the next start either (#518). Attached, suppressed, to the FileSystemException that names the JARs still on disk, with the record failure as its cause.

Deliberately not a FileSystemException: every FileSystemException in an uninstall's failure names a module JAR still on disk, which is what lets a caller walking the chain tell the operator which files to delete by hand. The record failure names a transaction record, its folder or a temporary file under the server root's .ultikits folder, beside the credential store -- none of them a module JAR, and none for the operator to delete. An explicit type, like PluginInstallUtils.UndeterminedEntriesException, is what keeps it apart.

See Also:
  • Field Details

  • Constructor Details

    • RemovalNotRecordedException

      private RemovalNotRecordedException(Throwable recordFailure, String reason)
  • Method Details

    • of

      Parameters:
      recordFailure - what writing the record threw; kept as the cause
      Returns:
      the carrier for it
    • getReason

      public String getReason()
      Returns:
      why the deletion could not be recorded: the record failure's type and message