You can do this in scala, but it creates a class to store these methods and package-level objects.
You can create javadocs at the package level and add annotations to it, but not fields, constructors, or methods.
In a file named package-info.java
in mypackage
package
@PackageVersion(getPackageVersion = "1.2.3") package mypackage;
@Retention(RetentionPolicy.RUNTIME) public @interface PackageVersion { String getPackageVersion(); }
Package mypackage = Package.getPackage("mypackage"); PackageVersion version = mypackage.getAnnotation(PackageVersion.class); System.out.println("Package version: "+version.getPackageVersion());
prints
Package version: 1.2.3
This object was added in JSR-175.
source share