java.lang.Object
iu.type.ElementBase
iu.type.AnnotatedElementBase<E>
iu.type.DeclaredElementBase<D,E>
iu.type.ExecutableBase<D,R,E>
- Type Parameters:
D
- declaring typeR
- result type: constructor declaring type or method return typeE
- executable type:Method
orConstructor
- All Implemented Interfaces:
IuAnnotatedElement
,IuDeclaredElement<D>
,IuExecutable<D,
,R> IuParameterizedElement
,ParameterizedFacade
- Direct Known Subclasses:
ConstructorFacade
,MethodFacade
abstract sealed class ExecutableBase<D,R,E extends Executable>
extends DeclaredElementBase<D,E>
implements IuExecutable<D,R>, ParameterizedFacade
permits ConstructorFacade<C>, MethodFacade<D,R>
Facade implementation for an
Executable
.-
Field Summary
Fields inherited from class iu.type.DeclaredElementBase
declaringType, type
Fields inherited from class iu.type.AnnotatedElementBase
annotatedElement
-
Constructor Summary
ConstructorsConstructorDescriptionExecutableBase
(E executable, Type type, TypeTemplate<?, D> declaringTypeTemplate) Facade constructor. -
Method Summary
Modifier and TypeMethodDescriptiongetKey()
Gets the hash key for this executable.List
<ParameterFacade<?>> Gets the parameters.(package private) void
seal()
Should be called at the end of all concrete subclass constructors.toString()
TypeFacade
<?, ?> typeParameter
(String name) Gets a type parameter by name.Map
<String, TypeFacade<?, ?>> Gets type parameters by name.Methods inherited from class iu.type.DeclaredElementBase
declaringType
Methods inherited from class iu.type.AnnotatedElementBase
annotation, annotations, hasAnnotation, permitted
Methods inherited from class iu.type.ElementBase
checkSealed, postInit
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface edu.iu.type.IuAnnotatedElement
annotation, annotations, hasAnnotation, permitted, permitted
Methods inherited from interface edu.iu.type.IuDeclaredElement
declaringType
Methods inherited from interface edu.iu.type.IuExecutable
exec, parameter
-
Constructor Details
-
ExecutableBase
ExecutableBase(E executable, Type type, TypeTemplate<?, D> declaringTypeTemplate) Facade constructor.- Parameters:
executable
- method or constructortype
- generic type associated with the elementdeclaringTypeTemplate
- fully realizedTypeTemplate
for a generic type whose erasure declared the executable
-
-
Method Details
-
seal
void seal()Description copied from class:ElementBase
Should be called at the end of all concrete subclass constructors.- Overrides:
seal
in classElementBase
-
getKey
Description copied from interface:IuExecutable
Gets the hash key for this executable.- Specified by:
getKey
in interfaceIuExecutable<D,
R> - Returns:
- hash key
-
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
-
parameters
Description copied from interface:IuExecutable
Gets the parameters.- Specified by:
parameters
in interfaceIuExecutable<D,
R> - Returns:
- parameters
-
toString
-