Class IlmException

java.lang.Object
java.lang.Throwable
java.lang.Exception
de.aristaflow.ilm.util.IlmException
All Implemented Interfaces:
de.aristaflow.adept2.model.communication.webservice.StackSuppressingException, Serializable
Direct Known Subclasses:
AbortServiceException, AbortTransactionException, AgentUnknownException, AuthenticationException, DataConsistencyException, DataSourceException, IncompatibleGuiContextException, InterruptException, InvalidActivityStateException, InvalidDataContainerException, InvalidDataTypeException, InvalidInstanceStateException, InvalidTemplateStateException, InvalidWorklistItemStateException, LockException, OrgModelException, ParameterException, PasswordPolicyException, PlainTextException, PolicyResolutionException, ScriptException, UnknownSessionException, WrappingException, WrongAgentException, WrongRuntimeManagerException, XPathEvaluationException

public class IlmException extends Exception implements de.aristaflow.adept2.model.communication.webservice.StackSuppressingException
This class provides the means to allow serialisation frameworks to (de-)serialise exceptions with all required information properly. Additionally, it allows for deserialising instances of the corresponding subclasses properly. Stack traces can be suppressed and unrequired fields of Throwable are hidden to avoid too much data.
See Also:
  • Field Details

    • subClass

      @NotBlank public @NotBlank String subClass
      This is used by Jackson for deserialising subclasses.
    • message

      @NotBlank public @NotBlank String message
      The message of the exception.
      See Also:
    • causeClass

      public String causeClass
      The class of the cause of the exception or null.
      See Also:
    • serverLogId

      public UUID serverLogId
      The ID of the corresponding message in the server log. The most significant bits is the timestamp in millis of the corresponding log entry, the least significant bits are a random long.
      This will be null for exceptions that are normal return values. In all exceptional cases this will be a valid and non-null UUID.
    • suppressStack

      @NotNull public @NotNull Boolean suppressStack
      Whether to suppress the stack trace when serialising this exception.
      See Also:
  • Constructor Details

    • IlmException

      public IlmException()
      The constructor required for bean deserialisation.
    • IlmException

      protected IlmException(String message)
    • IlmException

      protected IlmException(Throwable replaced)
    • IlmException

      protected IlmException(String message, Throwable cause, StackTraceElement[] stackTrace)
  • Method Details

    • getLogId

      public UUID getLogId()
      Specified by:
      getLogId in interface de.aristaflow.adept2.model.communication.webservice.StackSuppressingException
    • setLogId

      public void setLogId(UUID serverLogId)
      Specified by:
      setLogId in interface de.aristaflow.adept2.model.communication.webservice.StackSuppressingException
    • setSuppressStack

      public void setSuppressStack(boolean suppressStack)
      Specified by:
      setSuppressStack in interface de.aristaflow.adept2.model.communication.webservice.StackSuppressingException
    • getMessage

      public String getMessage()
      Overridden to get the actual message. Otherwise the method (of the superclass) will be preferred over the public field when serialising thus leading to the wrong message.
      Overrides:
      getMessage in class Throwable
    • getIlmStackTrace

      @NotNull public @NotNull List<IlmStackTraceElement> getIlmStackTrace()
      Gets the stack trace similar to getIlmStackTrace() but as ILM representation. If the stack is suppressed, an empty list will be returned.
      Returns:
      The ILM representation of the stack trace or the empty list when suppressed.
    • getStackTrace

      public StackTraceElement[] getStackTrace()
      Overrides:
      getStackTrace in class Throwable
    • setStackTrace

      public void setStackTrace(StackTraceElement[] stackTrace)
      Overrides:
      setStackTrace in class Throwable
    • getLocalizedMessage

      public String getLocalizedMessage()
      Overrides:
      getLocalizedMessage in class Throwable
    • getCause

      public Throwable getCause()
      Overrides:
      getCause in class Throwable