Class MessageTemplate

java.lang.Object
org.firebirdsql.gds.MessageTemplate

@NullMarked public abstract sealed class MessageTemplate extends Object
Message template for Firebird and Jaybird parameterized error messages.
Since:
6
  • Method Details

    • of

      public static MessageTemplate of(int errorCode)
      Returns a message template for the specified error code.
      Parameters:
      errorCode - error code
      Returns:
      message template; if there is no error defined for errorCode, a message template is returned with a "not found" message and SQLstate null.
    • errorCode

      public abstract int errorCode()
      Returns:
      error code of this message
    • sqlState

      public abstract @Nullable String sqlState()
      Returns:
      SQLstate (can be null)
    • withDefaultSqlState

      public abstract MessageTemplate withDefaultSqlState(String defaultSqlState)
      Returns a copy of this template with sqlState set to defaultSqlState if the SQLstate of this template is null, otherwise returns this template.
      Parameters:
      defaultSqlState - default SQLstate to apply if this template has sqlState == null
      Returns:
      this template if sqlState is non-null, otherwise a copy with the sqlState set to defaultSqlState
      Throws:
      NullPointerException - if defaultSqlState is null and sqlState of this instance is also null
      IllegalArgumentException - if defaultSqlState is not 5 characters long
    • withSqlState

      public abstract MessageTemplate withSqlState(String sqlState)
      Returns a copy of this template with sqlState set, or this template if it already has sqlState as its SQLstate value.
      Parameters:
      sqlState - new SQLstate value (not null)
      Returns:
      this template if it already has sqlState as its value, otherwise a copy with sqlState set
      Throws:
      NullPointerException - if sqlState is null
      IllegalArgumentException - if sqlState is not 5 characters long
    • toMessage

      public final String toMessage(List<? extends @Nullable Object> parameters)
      Renders the message, formatted using parameters.
      Parameters:
      parameters - parameters
      Returns:
      formatted message
      See Also:
    • appendMessage

      public abstract void appendMessage(StringBuilder messageBuffer, List<? extends @Nullable Object> parameters)
      Appends the message, formatted using parameters, to messageBuffer.

      Parameters that are missing or null are rendered as (null). Excess parameters are concatenated to the end of the message, unless the errorCode is ISCConstants.isc_formatted_exception.

      Parameters:
      messageBuffer - string builder to append to
      parameters - parameters to use for formatting (never null, may be empty)
      See Also:
    • appendErrorInfoSuffix

      public final void appendErrorInfoSuffix(StringBuilder messageBuffer)
      Appends the SQLstate and error code to messageBuffer.
      Parameters:
      messageBuffer - string builder to append to
      See Also: