Class AnnotatedMethodList
java.lang.Object
io.helidon.microprofile.grpc.core.AnnotatedMethodList
- All Implemented Interfaces:
Iterable<AnnotatedMethod>
Iterable list of
AnnotatedMethod
s on a single class with convenience
getters to provide additional method information.-
Method Summary
Modifier and TypeMethodDescriptionstatic AnnotatedMethodList
Create an annotated method list for a class.static AnnotatedMethodList
Create an annotated method list for a class.static AnnotatedMethodList
create
(Collection<Method> methods) Create an annotated method list from the given collection of methods.filter
(Predicate<AnnotatedMethod> predicate) Created a new method list containing only the methods supported by themethod list predicate
.hasParameterCount
(int paramCount) Get a new sub-list of methods containing all the methods from this method list that have the specific number of parameters.hasReturnType
(Class<?> returnType) Get a new sub-list of methods containing all the methods from this method list that declare the specified return type.Get a new sub-list of methods containing all the methods from this method list that are not public.iterator()
Iterator over the list ofannotated methods
contained in this method list.nameStartsWith
(String prefix) Get a new sub-list of methods containing all the methods from this method list with a specified method name prefix.stream()
<T extends Annotation>
AnnotatedMethodListwithAnnotation
(Class<T> annotation) Get a new sub-list of methods containing all the methods from this method list with a specified method-level annotation declared.<T extends Annotation>
AnnotatedMethodListwithMetaAnnotation
(Class<T> annotation) Get a new sub-list of methods containing all the methods from this method list with a method-level annotation declared that is itself annotated with a specified meta-annotation.<T extends Annotation>
AnnotatedMethodListwithoutAnnotation
(Class<T> annotation) Get a new sub-list of methods containing all the methods from this method list without a specified method-level annotation declared.<T extends Annotation>
AnnotatedMethodListwithoutMetaAnnotation
(Class<T> annotation) Get a new sub-list of methods containing all the methods from this method list without any method-level annotation declared that would itself be annotated with a specified meta-annotation.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Method Details
-
create
Create an annotated method list for a class.The method list contains
all methods
available on the class.The
bridge methods
and methods declared directly on theObject
class are filtered out.- Parameters:
cls
- class from which the method list is created- Returns:
- an
AnnotatedMethodList
containingAnnotatedMethod
instances for all of the methods of the specified class
-
create
Create an annotated method list for a class.The method list contains
all methods
available on the class ordeclared methods
only, depending on the value of thedeclaredMethods
parameter.The
bridge methods
and methods declared directly on theObject
class are filtered out.- Parameters:
cls
- class from which the method list is createddeclaredMethods
- iftrue
only thedeclared methods
will be included in the method list; otherwiseall methods
will be listed- Returns:
- an
AnnotatedMethodList
containingAnnotatedMethod
instances for the methods of the specified class
-
create
Create an annotated method list from the given collection of methods.The
bridge methods
and methods declared directly on theObject
class are filtered out.- Parameters:
methods
- methods to be included in the method list.- Returns:
- an
AnnotatedMethodList
containingAnnotatedMethod
instances for the methods of the specified class
-
iterator
Iterator over the list ofannotated methods
contained in this method list.- Specified by:
iterator
in interfaceIterable<AnnotatedMethod>
- Returns:
- method list iterator.
-
isNotPublic
Get a new sub-list of methods containing all the methods from this method list that are not public.- Returns:
- new filtered method sub-list.
-
hasParameterCount
Get a new sub-list of methods containing all the methods from this method list that have the specific number of parameters.- Parameters:
paramCount
- number of method parameters.- Returns:
- new filtered method sub-list.
-
hasReturnType
Get a new sub-list of methods containing all the methods from this method list that declare the specified return type.- Parameters:
returnType
- method return type.- Returns:
- new filtered method sub-list.
-
nameStartsWith
Get a new sub-list of methods containing all the methods from this method list with a specified method name prefix.- Parameters:
prefix
- method name prefix.- Returns:
- new filtered method sub-list.
-
withAnnotation
Get a new sub-list of methods containing all the methods from this method list with a specified method-level annotation declared.- Type Parameters:
T
- annotation type.- Parameters:
annotation
- annotation class.- Returns:
- new filtered method sub-list.
-
withMetaAnnotation
Get a new sub-list of methods containing all the methods from this method list with a method-level annotation declared that is itself annotated with a specified meta-annotation.- Type Parameters:
T
- meta-annotation type.- Parameters:
annotation
- meta-annotation class.- Returns:
- new filtered method sub-list.
-
withoutAnnotation
Get a new sub-list of methods containing all the methods from this method list without a specified method-level annotation declared.- Type Parameters:
T
- annotation type.- Parameters:
annotation
- annotation class.- Returns:
- new filtered method sub-list.
-
withoutMetaAnnotation
Get a new sub-list of methods containing all the methods from this method list without any method-level annotation declared that would itself be annotated with a specified meta-annotation.- Type Parameters:
T
- meta-annotation type.- Parameters:
annotation
- meta-annotation class.- Returns:
- new filtered method sub-list.
-
stream
- Returns:
- a
Stream
of theMethod
s in thisAnnotatedMethodList
-
filter
Created a new method list containing only the methods supported by themethod list predicate
.- Parameters:
predicate
- method list predicate.- Returns:
- new filtered method list.
-