Annotation Interface Option.SameGeneric

Enclosing class:
Option

@Target(METHOD) @Retention(CLASS) public static @interface Option.SameGeneric
Useful for marking map properties, where the key and value must have the same generic type. For example you can declare a Map of a generalized type (such as Class) to an Object. This would change the singular setters to ones that expect the types to be the same.

Example: For Map<Class<Object>, Object>, the following method would be generated: <TYPE> BUILDER put(Class<TYPE> key, TYPE value).

This annotation is only allowed on maps that have a key with a single type parameter, and value of Object, or with a single type parameter.