@API(status=STABLE, since="1.6") public class NestedMethodSelector extends Object implements DiscoverySelector
DiscoverySelector
that selects a nested Method
or a combination of enclosing classes names, class name, method
name, and parameter types so that
TestEngines
can discover
tests or containers based on methods.
If a Java Method
is provided, the selector will return that
method and its method name, class name, enclosing
classes names and parameter types accordingly. If class or methods names are
provided, this selector will only attempt to lazily load the Class
and Method
if getEnclosingClasses()
,
getNestedClass()
or getMethod()
is invoked.
In this context, a Java Method
means anything that can be referenced
as a Method
on the JVM — for example, methods from Java classes
or methods from other JVM languages such Groovy, Scala, etc.
DiscoverySelectors.selectNestedMethod(List, String, String)
,
DiscoverySelectors.selectNestedMethod(List, String, String, String)
,
DiscoverySelectors.selectNestedMethod(List, Class, String)
,
DiscoverySelectors.selectNestedMethod(List, Class, String, String)
,
DiscoverySelectors.selectNestedMethod(List, Class, Method)
,
MethodSource
,
NestedClassSelector
,
MethodSelector
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
List<Class<?>> |
getEnclosingClasses()
|
List<String> |
getEnclosingClassNames()
Get the names of the classes enclosing the nested class
containing the selected method.
|
Method |
getMethod()
Get the selected
Method . |
String |
getMethodName()
Get the name of the selected method.
|
String |
getMethodParameterTypes()
Get the parameter types for the selected method as a
String ,
typically a comma-separated list of primitive types, fully qualified
class names, or array types. |
Class<?> |
getNestedClass()
|
String |
getNestedClassName()
Get the name of the nested class containing the selected method.
|
int |
hashCode() |
String |
toString() |
public List<String> getEnclosingClassNames()
public List<Class<?>> getEnclosingClasses()
Class
enclosing the nested Class
containing the selected Method
.
If the Class
were not provided, but only the name of the
nested class and its enclosing classes, this method attempts to lazily
load the list of enclosing Class
and throws a
PreconditionViolationException
if the classes cannot be loaded.
public String getNestedClassName()
public Class<?> getNestedClass()
Class
containing the selected Method
.
If the Class
were not provided, but only the name of the
nested class and its enclosing classes, this method attempts to lazily
load the nested Class
and throws a
PreconditionViolationException
if the class cannot be loaded.
public String getMethodName()
public Method getMethod()
Method
.
If the Method
was not provided, but only the name, this method
attempts to lazily load the Method
based on its name and throws a
PreconditionViolationException
if the method cannot be loaded.
public String getMethodParameterTypes()
String
,
typically a comma-separated list of primitive types, fully qualified
class names, or array types.
Note: the parameter types are provided as a single string instead of a collection in order to allow this selector to be used in a generic fashion by various test engines. It is therefore the responsibility of the caller of this method to determine how to parse the returned string.
NestedMethodSelector
via a constructor or deduced from a Method
supplied via a
constructor; never null
Copyright © 2020. All rights reserved.