@Target(value=TYPE)
@Retention(value=RUNTIME)
public @interface JohnzonRecord
Forces method named as properties to be used as getters (String foo() will match the attribute foo).
Also enables a constructor with all properties even if not marked as @ConstructorProperties or equivalent.
It simulates Java 14+ records.