java.lang.Object
iu.type.ParameterizedElement
- All Implemented Interfaces:
IuParameterizedElement
,ParameterizedFacade
Implements the facade view of an
IuParameterizedElement
as a
delegating mix-in.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void
apply
(AnnotatedElementBase<?> referrer, TypeVariable<?> typeVariable, Type actualTypeArgument) Applies a type argument from a parameterized type.(package private) void
apply
(Map<String, TypeFacade<?, ?>> typeArguments) Applies type arguments.(package private) void
seal
(GenericDeclaration genericDeclaration, AnnotatedElementBase<?> referrer) Seals type parameters from incoming arguments based on a generic declaration.TypeFacade
<?, ?> typeParameter
(String name) Gets a type parameter by name.Map
<String, TypeFacade<?, ?>> Gets type parameters by name.
-
Constructor Details
-
ParameterizedElement
ParameterizedElement()Facade constructor.
-
-
Method Details
-
apply
Applies type arguments.This is typically done after sealing original type parameters to apply the resulting parameters as arguments to the next reference.
- Parameters:
typeArguments
- Type arguments to apply. Expects arguments to be applied in highest-order last; type arguments matching the name of a previously applied argument will be overridden.
-
apply
Applies a type argument from a parameterized type.- Parameters:
referrer
- element referring to the parameterized type, typically itsTypeTemplate
.typeVariable
- type variable declared byraw type erasure
.actualTypeArgument
- fromParameterizedType.getActualTypeArguments()
relative to position oftypeVariable
.
-
seal
Seals type parameters from incoming arguments based on a generic declaration.- Parameters:
genericDeclaration
- source element capable of declaring type parametersreferrer
- referring element to use with any type parameters generated fromgenericDeclaration
-
typeParameters
Description copied from interface:IuParameterizedElement
Gets type parameters by name.- Specified by:
typeParameters
in interfaceIuParameterizedElement
- Specified by:
typeParameters
in interfaceParameterizedFacade
- Returns:
- map of type parameter facades
-
typeParameter
Description copied from interface:IuParameterizedElement
Gets a type parameter by name.- Specified by:
typeParameter
in interfaceIuParameterizedElement
- Specified by:
typeParameter
in interfaceParameterizedFacade
- Parameters:
name
- parameter name- Returns:
- type parameter facade
-