Class MethodSelector

All Implemented Interfaces:

@API(status=STABLE, since="1.0") public class MethodSelector extends Object implements DiscoverySelector
A DiscoverySelector that selects a Method or a combination of 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, and parameter types accordingly. If a Class and method name, a class name and method name, or a fully qualified method name is provided, this selector will only attempt to lazily load the Class and Method if getJavaClass() or getJavaMethod() 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.

See Also:
DiscoverySelectors.selectMethod(String), DiscoverySelectors.selectMethod(String, String), DiscoverySelectors.selectMethod(String, String, String), DiscoverySelectors.selectMethod(Class, String), DiscoverySelectors.selectMethod(Class, String, String), DiscoverySelectors.selectMethod(Class, Method), MethodSource
  • Method Details

    • getClassName

      public String getClassName()
      Get the selected class name.
    • getMethodName

      public String getMethodName()
      Get the selected method name.
    • getMethodParameterTypes

      public 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.

      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.

      the parameter types supplied to this MethodSelector via a constructor or deduced from a Method supplied via a constructor; never null
    • getJavaClass

      public Class<?> getJavaClass()
      Get the Class in which the selected method is declared, or a subclass thereof.

      If the Class was not provided, but only the name, this method attempts to lazily load the Class based on its name and throws a PreconditionViolationException if the class cannot be loaded.

      See Also:
    • getJavaMethod

      public Method getJavaMethod()
      Get the selected 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.

      See Also:
    • equals

      @API(status=STABLE, since="1.3") public boolean equals(Object o)
      equals in class Object
    • hashCode

      @API(status=STABLE, since="1.3") public int hashCode()
      hashCode in class Object
    • toString

      public String toString()
      toString in class Object