Annotation Interface UnmodifiableParam


@Documented @Retention(RUNTIME) @Target({TYPE_USE,TYPE_PARAMETER}) public @interface UnmodifiableParam
Convenience alias that is syntactic sugar for @MaybeModifiable. It may only be written within a formal parameter type.

You can write @UnmodifiableParam to indicate that a method does not change its parameter. From the method's point of view, the parameter is unmodifiable. This is reference unmodifiability, because another alias can change the value, unlike @Unmodifiable which means object immutability: no alias can change the value.

See the Checker Framework Manual:
Modifiability Checker