Class NestedMethodSelector
- All Implemented Interfaces:
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 names or method names
are provided, this selector will only attempt to lazily load a class or method
if getEnclosingClasses()
, getNestedClass()
,
getMethod()
, or getParameterTypes()
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.
- Since:
- 1.6
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Get theClassLoader
used to load the nested class.Get the names of the classes enclosing the nested class containing the selected method.Get the selectedMethod
.Get the name of the selected method.Deprecated.Class
<?> Get the name of the nested class containing the selected method.Get the names of parameter types for the selected method as aString
.Class<?>[]
Get the parameter types for the selected method.int
hashCode()
Return the identifier of this selector.toString()
-
Method Details
-
getClassLoader
Get theClassLoader
used to load the nested class.- Since:
- 1.10
-
getEnclosingClassNames
Get the names of the classes enclosing the nested class containing the selected method. -
getEnclosingClasses
Get the list ofClass
enclosing the nestedClass
containing the selectedMethod
.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 enclosingClass
and throws aPreconditionViolationException
if the classes cannot be loaded. -
getNestedClassName
Get the name of the nested class containing the selected method. -
getNestedClass
Get the nestedClass
containing the selectedMethod
.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 nestedClass
and throws aPreconditionViolationException
if the class cannot be loaded. -
getMethodName
Get the name of the selected method. -
getMethod
Get the selectedMethod
.If the
Method
was not provided, but only the name, this method attempts to lazily load theMethod
based on its name and throws aPreconditionViolationException
if the method cannot be loaded. -
getMethodParameterTypes
Deprecated.since 1.10 in favor orgetParameterTypeNames()
Get the names of parameter types for the selected method.See
getParameterTypeNames()
for details.- Returns:
- the names of parameter types
- Since:
- 1.6
- See Also:
-
getParameterTypeNames
Get the names of parameter types for the selected method as aString
.See
MethodSelector.getParameterTypeNames()
for details.- Returns:
- the names of parameter types supplied to this
NestedMethodSelector
via a constructor or deduced from aMethod
or parameter types supplied via a constructor; nevernull
but potentially an empty string - Since:
- 1.10
- See Also:
-
getParameterTypes
Get the parameter types for the selected method.See
MethodSelector.getParameterTypes()
for details.- Returns:
- the method's parameter types; never
null
but potentially an empty array if the selected method does not declare parameters - Since:
- 1.10
- See Also:
-
equals
-
hashCode
public int hashCode() -
toString
-
toIdentifier
Description copied from interface:DiscoverySelector
Return the identifier of this selector.The returned identifier must be parsable by a corresponding
DiscoverySelectorIdentifierParser
.The default implementation returns
Optional.empty()
. Can be overridden by concrete implementations.- Specified by:
toIdentifier
in interfaceDiscoverySelector
- Returns:
- an
Optional
containing the identifier of this selector; nevernull
but potentially empty if the selector does not support identifiers
-
getParameterTypeNames()