Annotation Type GenerateRefinement
-
@Repeatable(GenerateRefinements.class) @Retention(SOURCE) @Target(TYPE) public @interface GenerateRefinement
Annotation to indicate that a subclass with the specified configuration should be generated. Currently only supports narrowing type parameters/constructor parameters/interfaces. Delegates to super constructors.
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description String[]
generics
The type variables the refinement should have.Interface[]
interfaces
An array of additional interfaces the refinement should implement.Map[]
parameterMapping
A mapping of specializations of parameter types for the refinement's constructor parameters.Generic[]
parentGenerics
The values for the generics of the parent (i.e. the class annotated bythis
annotation) class.
-
-
-
Element Detail
-
name
String name
The name of the to-be-generated refinement.- Returns:
- the name of the to-be-generated refinement
-
-
-
generics
String[] generics
The type variables the refinement should have.- Returns:
- the type variables the refinement should have
- Default:
- {}
-
-
-
parentGenerics
Generic[] parentGenerics
The values for the generics of the parent (i.e. the class annotated bythis
annotation) class.- Returns:
- the values for the generics of the parent class
- Default:
- {}
-
-
-
parameterMapping
Map[] parameterMapping
A mapping of specializations of parameter types for the refinement's constructor parameters.- Returns:
- a mapping of specializations of parameter types for the refinement's constructor parameters
- Default:
- {}
-
-
-
interfaces
Interface[] interfaces
An array of additional interfaces the refinement should implement.- Returns:
- an array of additional interfaces the refinement should implement
- Default:
- {}
-
-