ConstructorProperties (Java SE 17 & JDK 17)
Description: declaration: module: java.desktop, package: java.beans, annotation type: ConstructorProperties
Keywords: java.beans.ConstructorProperties class

Module java.desktop
Package java.beans

# Annotation Interface ConstructorProperties

@Documented @Target(CONSTRUCTOR) @Retention(RUNTIME) public @interface ConstructorProperties

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 Point {
>            @ConstructorProperties({"x", "y"})
>            public Point(int x, int y) {
>                this.x = x;
>                this.y = y;
>            }

>            public int getX() {
>                return x;
>            }

>            public int getY() {
>                return y;
>            }

>            private final int x, y;
>        }

The annotation shows that the first parameter of the constructor can be retrieved with the `getX()` method and the second with the `getY()` method. Since parameter names are not in general available at runtime, without the annotation there would be no way to know whether the parameters correspond to `getX()` and `getY()` or the other way around.

Since:
  1.6

- ## Required Element Summary

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

- ## Element Details

  - ### value

    String[] value

    The getter names.

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