Signature (JBoss Logging I18n Documentation 2.2.1.Final API)

org.jboss.logging.annotations

## Annotation Type Signature

-     @Retention(value=CLASS)
       @Target(value=METHOD)
       @Documented
      public @interface Signature

  Specifies the exact signature to use when creating a `Throwable` return type.

  Given the following exception and message bundle interface method the `InvalidIntValueException(final RuntimeException cause, final String msg, final int value)` constructor would be used. ``

       public class InvalidIntValueException extends RuntimeException {
           private final RuntimeException causeAsRuntime;
           private final int value;
           public InvalidIntValueException(final Throwable cause, final String msg, final int value) {
               super(msg, cause);
               causeAsRuntime = new RuntimeException(cause);
               this.value = value;
           }

           public InvalidIntValueException(final RuntimeException cause, final String msg, final int value) {
               super(msg, cause);
               causeAsRuntime = cause;
               this.value = value;
           }
           public InvalidIntValueException(final RuntimeException cause, final String msg, final Integer value) {
               super(msg, cause);
               causeAsRuntime = cause;
               this.value = value;
           }
       }

  `

       @Message("Invalid value %d")
       @Signature(causeIndex = 0, messageIndex = 1, value = {RuntimeException.class, String.class, int.class}
       InvalidIntValueException invalidValue(@Cause RuntimeException cause, @Param int value);

  `
  Author:
    James R. Perkins

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `Class<?>[]` | `value` An array of types matching the exact signature to use for the exception being created.

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `int` | `causeIndex` The index for the cause of the exception being created.
    `int` | `messageIndex` The index for the message.

- - ### Element Detail

    - #### value

          public abstract Class<?>[] value

      An array of types matching the exact signature to use for the exception being created.
      Returns:
        an array of types used to find the signature

  - - #### causeIndex

          public abstract int causeIndex

      The index for the cause of the exception being created. A value of less than zero assumes there is no cause parameter in the constructor. A `Cause` annotation can still be used and the `Throwable.initCause(Throwable)` will be used to initialize the cause of the exception.
      Returns:
        the index for the cause parameter
      Default:
        -1

  - - #### messageIndex

          public abstract int messageIndex

      The index for the message. This is the formatted messaged from the `Message.value()`. This is a required value defaulting to 0 which would be the first parameter.
      Returns:
        the index for the message parameter
      Default:
        0

Copyright © 2019 JBoss by Red Hat. All rights reserved.