Package io.micronaut.sourcegen.model
Interface TypeDef
- All Known Subinterfaces:
ClassTypeDef
,TypeDef.Annotated
- All Known Implementing Classes:
ClassTypeDef.AnnotatedClassTypeDef
,ClassTypeDef.ClassDefType
,ClassTypeDef.ClassElementType
,ClassTypeDef.ClassName
,ClassTypeDef.JavaClass
,ClassTypeDef.Parameterized
,TypeDef.AnnotatedTypeDef
,TypeDef.Array
,TypeDef.Primitive
,TypeDef.TypeVariable
,TypeDef.Wildcard
public sealed interface TypeDef
permits ClassTypeDef, TypeDef.Annotated, TypeDef.Array, TypeDef.Primitive, TypeDef.TypeVariable, TypeDef.Wildcard
The type definition.
Not-null by default.
- Since:
- 1.0
- Author:
- Denis Stepanov
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
A combined type interface for representing a Type with annotations.static final record
A combined type for representing a TypeDef with annotations.static final record
The type for representing an array.static final record
The primitive type name.static final record
The type variable ref.static final record
The wildcard type definition. -
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptiondefault TypeDef.Annotated
annotated
(AnnotationDef... annotations) Define a type with annotations.default TypeDef.Annotated
annotated
(List<AnnotationDef> annotations) Define a type with annotations.static TypeDef.Array
static TypeDef.Array
default ExpressionDef
instantiateArray
(int length) Instantiate an array of this class.default ExpressionDef
instantiateArray
(ExpressionDef... expressions) Instantiate an array of this class.default ExpressionDef
instantiateArray
(List<ExpressionDef> expressions) Instantiate an array of this class.default boolean
isArray()
default boolean
default boolean
default TypeDef
static TypeDef
of
(io.micronaut.inject.ast.ClassElement classElement) Creates a new type.static TypeDef
Creates a new type.static ClassTypeDef
parameterized
(ClassTypeDef type, TypeDef... genericParameters) Creates a new type with generic parameters.static ClassTypeDef
parameterized
(ClassTypeDef type, Class<?>... genericParameters) Creates a new type with generic parameters.static ClassTypeDef
parameterized
(ClassTypeDef type, List<TypeDef> genericParameters) Creates a new type with generic parameters.static ClassTypeDef
parameterized
(Class<?> type, TypeDef... genericParameters) Creates a new type with generic parameters.static ClassTypeDef
parameterized
(Class<?> type, Class<?>... genericParameters) Creates a new type with generic parameters.static TypeDef.Primitive
Creates new primitive type.static TypeDef.Primitive
Creates new primitive type.static TypeDef.Wildcard
wildcard()
static TypeDef.Wildcard
wildcardSubtypeOf
(TypeDef upperBound) static TypeDef.Wildcard
wildcardSupertypeOf
(TypeDef lowerBound)
-
Field Details
-
VOID
-
OBJECT
-
STRING
-
THIS
A simple type representing a special this-type, in context of a class def, method or field the type will be replaced by the current type.
-
-
Method Details
-
annotated
Define a type with annotations.- Parameters:
annotations
- the annotation definitions to be added- Returns:
- The AnnotatedTypeDef
- Since:
- 1.4
-
annotated
Define a type with annotations.- Parameters:
annotations
- The list of the AnnotationDef- Returns:
- The AnnotatedTypeDef
- Since:
- 1.4
-
instantiateArray
Instantiate an array of this class.- Parameters:
length
- The length of the array- Returns:
- The instantiate expression
- Since:
- 1.2
-
instantiateArray
Instantiate an array of this class.- Parameters:
expressions
- The items expressions- Returns:
- The instantiate expression
- Since:
- 1.2
-
instantiateArray
Instantiate an array of this class.- Parameters:
expressions
- The items expressions- Returns:
- The instantiate expression
- Since:
- 1.2
-
primitive
Creates new primitive type.- Parameters:
name
- The primitive type name- Returns:
- a new type definition
-
primitive
Creates new primitive type.- Parameters:
type
- The primitive type- Returns:
- a new type definition
-
wildcard
-
wildcardSubtypeOf
-
wildcardSupertypeOf
-
array
-
array
-
of
Creates a new type.- Parameters:
type
- The type- Returns:
- a new type definition
-
parameterized
Creates a new type with generic parameters.- Parameters:
type
- The typegenericParameters
- The parameters- Returns:
- a new type definition
-
parameterized
Creates a new type with generic parameters.- Parameters:
type
- The typegenericParameters
- The parameters- Returns:
- a new type definition
-
parameterized
Creates a new type with generic parameters.- Parameters:
type
- The typegenericParameters
- The parameters- Returns:
- a new type definition
-
parameterized
Creates a new type with generic parameters.- Parameters:
type
- The typegenericParameters
- The parameters- Returns:
- a new type definition
-
parameterized
Creates a new type with generic parameters.- Parameters:
type
- The typegenericParameters
- The parameters- Returns:
- a new type definition
-
of
Creates a new type.- Parameters:
classElement
- The class element- Returns:
- a new type definition
-
isNullable
default boolean isNullable()- Returns:
- Is nullable type
-
isPrimitive
default boolean isPrimitive()- Returns:
- Is primitive type
-
isArray
default boolean isArray()- Returns:
- Is Array type
-
makeNullable
- Returns:
- A new nullable type
-