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:MethodorConstructor
- 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, typeFields 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) voidseal()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
declaringTypeMethods inherited from class iu.type.AnnotatedElementBase
annotation, annotations, hasAnnotation, permittedMethods inherited from class iu.type.ElementBase
checkSealed, postInitMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface edu.iu.type.IuAnnotatedElement
annotation, annotations, hasAnnotation, permitted, permittedMethods inherited from interface edu.iu.type.IuDeclaredElement
declaringTypeMethods 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 realizedTypeTemplatefor a generic type whose erasure declared the executable
-
-
Method Details
-
seal
void seal()Description copied from class:ElementBaseShould be called at the end of all concrete subclass constructors.- Overrides:
sealin classElementBase
-
getKey
Description copied from interface:IuExecutableGets the hash key for this executable.- Specified by:
getKeyin interfaceIuExecutable<D,R> - Returns:
- hash key
-
typeParameters
Description copied from interface:IuParameterizedElementGets type parameters by name.- Specified by:
typeParametersin interfaceIuParameterizedElement- Specified by:
typeParametersin interfaceParameterizedFacade- Returns:
- map of type parameter facades
-
typeParameter
Description copied from interface:IuParameterizedElementGets a type parameter by name.- Specified by:
typeParameterin interfaceIuParameterizedElement- Specified by:
typeParameterin interfaceParameterizedFacade- Parameters:
name- parameter name- Returns:
- type parameter facade
-
parameters
Description copied from interface:IuExecutableGets the parameters.- Specified by:
parametersin interfaceIuExecutable<D,R> - Returns:
- parameters
-
toString
-