Annotation Type Unrestricted


  • @Retention(RUNTIME)
    @Target({FIELD,TYPE})
    public @interface Unrestricted
    An annotation that indicates that no restrictions should apply

    While this may seem slightly strange this is needed because when overriding options the restrictions lowest in the hierarchy apply so if you want to remove parent restrictions (e.g. make a required option not required) then you have to explicitly state that the overridden option is unrestricted