ConstructorParameters (Java SE 11 & JDK 11 )
Keywords: javax.management.ConstructorParameters class

Module java.management
Package javax.management

## Annotation Type ConstructorParameters

-     @Documented
      @Target(CONSTRUCTOR)
      @Retention(RUNTIME)
      public @interface ConstructorParameters

  An annotation on a constructor that shows how the parameters of that constructor correspond to the constructed object's getter methods. For example:

  >              public class MemoryUsage {
  >                  // standard JavaBean conventions with getters
  >                  @ConstructorParameters({"init", "used", "committed", "max"})
  >                  public MemoryUsage(long init, long used,
  >                                     long committed, long max) {...}
  >                  public long getInit() {...}
  >                  public long getUsed() {...}
  >                  public long getCommitted() {...}
  >                  public long getMax() {...}
  >              }

  The annotation shows that the first parameter of the constructor can be retrieved with the `getInit()` method, the second one with the `getUsed()` method, and so on. Since parameter names are not in general available at runtime, without the annotation there would be no way of knowing which parameter corresponds to which property.

  If a constructor is annotated by the both `@java.beans.ConstructorProperties` and `@javax.management.ConstructorParameters` annotations the JMX introspection will give an absolute precedence to the latter one.

  Since:
    9

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element | Description
    --- | --- | ---
    `String[]` | `value` | The getter names.

- - ### Element Detail

    - #### value

          String[] value

      The getter names.

      Returns:
        the getter names corresponding to the parameters in the annotated constructor.