@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.
Modifier and Type | Required Element | Description |
---|---|---|
String[] |
value |
The getter names. |
String[] value
The getter names.
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.management/javax/management/ConstructorParameters.html