Class DiscoverySelectors
static factory methods for creating
DiscoverySelectors.-
Method Summary
Modifier and TypeMethodDescriptionstatic ClassSelectorselectClass(Class<?> clazz)Create aClassSelectorfor the suppliedClass.static ClassSelectorselectClass(String className)Create aClassSelectorfor the supplied class name.static ClasspathResourceSelectorselectClasspathResource(String classpathResourceName)Create aClasspathResourceSelectorfor the supplied classpath resource name.static ClasspathResourceSelectorselectClasspathResource(String classpathResourceName, FilePosition position)Create aClasspathResourceSelectorfor the supplied classpath resource name.static List<ClasspathRootSelector>selectClasspathRoots(Set<Path> classpathRoots)Create a list ofClasspathRootSelectorsfor the supplied classpath roots (directories or JAR files).static DirectorySelectorselectDirectory(File directory)Create aDirectorySelectorfor the supplied directory.static DirectorySelectorselectDirectory(String path)Create aDirectorySelectorfor the supplied directory path.static FileSelectorselectFile(File file)Create aFileSelectorfor the supplied file.static FileSelectorselectFile(File file, FilePosition position)Create aFileSelectorfor the supplied file.static FileSelectorselectFile(String path)Create aFileSelectorfor the supplied file path.static FileSelectorselectFile(String path, FilePosition position)Create aFileSelectorfor the supplied file path.static MethodSelectorselectMethod(Class<?> javaClass, Method method)static MethodSelectorselectMethod(Class<?> javaClass, String methodName)Create aMethodSelectorfor the suppliedClassand method name.static MethodSelectorselectMethod(Class<?> javaClass, String methodName, String methodParameterTypes)Create aMethodSelectorfor the suppliedClass, method name, and method parameter types.static MethodSelectorselectMethod(String fullyQualifiedMethodName)Create aMethodSelectorfor the supplied fully qualified method name.static MethodSelectorselectMethod(String className, String methodName)Create aMethodSelectorfor the supplied class name and method name.static MethodSelectorselectMethod(String className, String methodName, String methodParameterTypes)Create aMethodSelectorfor the supplied class name, method name, and method parameter types.static ModuleSelectorselectModule(String moduleName)Create aModuleSelectorfor the supplied module name.static List<ModuleSelector>selectModules(Set<String> moduleNames)Create a list ofModuleSelectorsfor the supplied module names.static NestedClassSelectorselectNestedClass(List<Class<?>> enclosingClasses, Class<?> nestedClass)Create aNestedClassSelectorfor the supplied nestedClassand its enclosing classes.static NestedClassSelectorselectNestedClass(List<String> enclosingClassNames, String nestedClassName)Create aNestedClassSelectorfor the supplied class name and its enclosing classes' names.static NestedMethodSelectorselectNestedMethod(List<Class<?>> enclosingClasses, Class<?> nestedClass, Method method)static NestedMethodSelectorselectNestedMethod(List<Class<?>> enclosingClasses, Class<?> nestedClass, String methodName)Create aNestedMethodSelectorfor the supplied nestedClassand method name.static NestedMethodSelectorselectNestedMethod(List<Class<?>> enclosingClasses, Class<?> nestedClass, String methodName, String methodParameterTypes)Create aNestedMethodSelectorfor the suppliedClass, method name, and method parameter types.static NestedMethodSelectorselectNestedMethod(List<String> enclosingClassNames, String nestedClassName, String methodName)Create aNestedMethodSelectorfor the supplied nested class name and method name.static NestedMethodSelectorselectNestedMethod(List<String> enclosingClassNames, String nestedClassName, String methodName, String methodParameterTypes)Create aNestedMethodSelectorfor the supplied nested class name, method name, and method parameter types.static PackageSelectorselectPackage(String packageName)Create aPackageSelectorfor the supplied package name.static UniqueIdSelectorselectUniqueId(String uniqueId)Create aUniqueIdSelectorfor the supplied unique ID.static UniqueIdSelectorselectUniqueId(UniqueId uniqueId)Create aUniqueIdSelectorfor the suppliedUniqueId.static UriSelectorCreate aUriSelectorfor the supplied URI.static UriSelectorCreate aUriSelectorfor the suppliedURI.
-
Method Details
-
selectUri
Create aUriSelectorfor the supplied URI.- Parameters:
uri- the URI to select; nevernullor blank- See Also:
UriSelector,selectUri(URI),selectFile(String),selectFile(File),selectDirectory(String),selectDirectory(File)
-
selectUri
Create aUriSelectorfor the suppliedURI.- Parameters:
uri- the URI to select; nevernull- See Also:
UriSelector,selectUri(String),selectFile(String),selectFile(File),selectDirectory(String),selectDirectory(File)
-
selectFile
Create aFileSelectorfor the supplied file path.This method selects the file using the supplied path as is, without verifying if the file exists.
- Parameters:
path- the path to the file to select; nevernullor blank- See Also:
FileSelector,selectFile(File),selectFile(String, FilePosition),selectFile(File, FilePosition),selectDirectory(String),selectDirectory(File)
-
selectFile
Create aFileSelectorfor the supplied file.This method selects the file in its canonical form and throws a
PreconditionViolationExceptionif the file does not exist.- Parameters:
file- the file to select; nevernull- See Also:
FileSelector,selectFile(String),selectFile(File, FilePosition),selectFile(String, FilePosition),selectDirectory(String),selectDirectory(File)
-
selectFile
Create aFileSelectorfor the supplied file path.This method selects the file using the supplied path as is, without verifying if the file exists.
- Parameters:
path- the path to the file to select; nevernullor blankposition- the position inside the file; may benull- See Also:
FileSelector,selectFile(String),selectFile(File),selectFile(File, FilePosition),selectDirectory(String),selectDirectory(File)
-
selectFile
Create aFileSelectorfor the supplied file.This method selects the file in its canonical form and throws a
PreconditionViolationExceptionif the file does not exist.- Parameters:
file- the file to select; nevernullposition- the position inside the file; may benull- See Also:
FileSelector,selectFile(File),selectFile(String),selectFile(String, FilePosition),selectDirectory(String),selectDirectory(File)
-
selectDirectory
Create aDirectorySelectorfor the supplied directory path.This method selects the directory using the supplied path as is, without verifying if the directory exists.
- Parameters:
path- the path to the directory to select; nevernullor blank- See Also:
DirectorySelector,selectDirectory(File),selectFile(String),selectFile(File)
-
selectDirectory
Create aDirectorySelectorfor the supplied directory.This method selects the directory in its canonical form and throws a
PreconditionViolationExceptionif the directory does not exist.- Parameters:
directory- the directory to select; nevernull- See Also:
DirectorySelector,selectDirectory(String),selectFile(String),selectFile(File)
-
selectClasspathRoots
Create a list ofClasspathRootSelectorsfor the supplied classpath roots (directories or JAR files).Since the supplied paths are converted to
URIs, theFileSystemthat created them must be the default or one that has been created by an installedFileSystemProvider.Since engines are not expected to modify the classpath, the classpath roots represented by the resulting selectors must be on the classpath of the context class loader of the thread that uses these selectors.
- Parameters:
classpathRoots- set of directories and JAR files in the filesystem that represent classpath roots; nevernull- Returns:
- a list of selectors for the supplied classpath roots; elements which do not physically exist in the filesystem will be filtered out
- See Also:
ClasspathRootSelector,Thread.getContextClassLoader()
-
selectClasspathResource
Create aClasspathResourceSelectorfor the supplied classpath resource name.The name of a classpath resource must follow the semantics for resource paths as defined in
ClassLoader.getResource(String).If the supplied classpath resource name is prefixed with a slash (
/), the slash will be removed.Since engines are not expected to modify the classpath, the supplied classpath resource must be on the classpath of the context class loader of the thread that uses the resulting selector.
- Parameters:
classpathResourceName- the name of the classpath resource; nevernullor blank- See Also:
selectClasspathResource(String, FilePosition),ClasspathResourceSelector,ClassLoader.getResource(String),ClassLoader.getResourceAsStream(String),ClassLoader.getResources(String)
-
selectClasspathResource
public static ClasspathResourceSelector selectClasspathResource(String classpathResourceName, FilePosition position)Create aClasspathResourceSelectorfor the supplied classpath resource name.The name of a classpath resource must follow the semantics for resource paths as defined in
ClassLoader.getResource(String).If the supplied classpath resource name is prefixed with a slash (
/), the slash will be removed.Since engines are not expected to modify the classpath, the supplied classpath resource must be on the classpath of the context class loader of the thread that uses the resulting selector.
- Parameters:
classpathResourceName- the name of the classpath resource; nevernullor blankposition- the position inside the classpath resource; may benull- See Also:
selectClasspathResource(String),ClasspathResourceSelector,ClassLoader.getResource(String),ClassLoader.getResourceAsStream(String),ClassLoader.getResources(String)
-
selectModule
@API(status=EXPERIMENTAL, since="1.1") public static ModuleSelector selectModule(String moduleName)Create aModuleSelectorfor the supplied module name.The unnamed module is not supported.
- Parameters:
moduleName- the module name to select; nevernullor blank- Since:
- 1.1
- See Also:
ModuleSelector
-
selectModules
@API(status=EXPERIMENTAL, since="1.1") public static List<ModuleSelector> selectModules(Set<String> moduleNames)Create a list ofModuleSelectorsfor the supplied module names.The unnamed module is not supported.
- Parameters:
moduleNames- the module names to select; nevernull, never containingnullor blank- Since:
- 1.1
- See Also:
ModuleSelector
-
selectPackage
Create aPackageSelectorfor the supplied package name.The default package is represented by an empty string (
"").- Parameters:
packageName- the package name to select; nevernulland never containing whitespace only- See Also:
PackageSelector
-
selectClass
Create aClassSelectorfor the suppliedClass.- Parameters:
clazz- the class to select; nevernull- See Also:
ClassSelector
-
selectClass
Create aClassSelectorfor the supplied class name.- Parameters:
className- the fully qualified name of the class to select; nevernullor blank- See Also:
ClassSelector
-
selectMethod
public static MethodSelector selectMethod(String fullyQualifiedMethodName) throws PreconditionViolationExceptionCreate aMethodSelectorfor the supplied fully qualified method name.The following formats are supported.
[fully qualified class name]#[methodName][fully qualified class name]#[methodName](parameter type list)
The parameter type list is a comma-separated list of primitive names or fully qualified class names for the types of parameters accepted by the method.
Array parameter types may be specified using either the JVM's internal String representation (e.g.,
[[Iforint[][],[Ljava.lang.String;forjava.lang.String[], etc.) or source code syntax (e.g.,int[][],java.lang.String[], etc.).Examples
Method Fully Qualified Method Name java.lang.String.chars()java.lang.String#charsjava.lang.String.chars()java.lang.String#chars()java.lang.String.equalsIgnoreCase(String)java.lang.String#equalsIgnoreCase(java.lang.String)java.lang.String.substring(int, int)java.lang.String#substring(int, int)example.Calc.avg(int[])example.Calc#avg([I)example.Calc.avg(int[])example.Calc#avg(int[])example.Matrix.multiply(double[][])example.Matrix#multiply([[D)example.Matrix.multiply(double[][])example.Matrix#multiply(double[][])example.Service.process(String[])example.Service#process([Ljava.lang.String;)example.Service.process(String[])example.Service#process(java.lang.String[])example.Service.process(String[][])example.Service#process([[Ljava.lang.String;)example.Service.process(String[][])example.Service#process(java.lang.String[][])- Parameters:
fullyQualifiedMethodName- the fully qualified name of the method to select; nevernullor blank- Throws:
PreconditionViolationException- See Also:
MethodSelector
-
selectMethod
Create aMethodSelectorfor the supplied class name and method name.- Parameters:
className- the fully qualified name of the class in which the method is declared, or a subclass thereof; nevernullor blankmethodName- the name of the method to select; nevernullor blank- See Also:
MethodSelector
-
selectMethod
public static MethodSelector selectMethod(String className, String methodName, String methodParameterTypes)Create aMethodSelectorfor the supplied class name, method name, and method parameter types.The parameter types
Stringis typically a comma-separated list of atomic types, fully qualified class names, or array types; however, the exact syntax depends on the underlying test engine.- Parameters:
className- the fully qualified name of the class in which the method is declared, or a subclass thereof; nevernullor blankmethodName- the name of the method to select; nevernullor blankmethodParameterTypes- the method parameter types as a single string; nevernullthough potentially an empty string if the method does not accept arguments- See Also:
MethodSelector
-
selectMethod
Create aMethodSelectorfor the suppliedClassand method name.- Parameters:
javaClass- the class in which the method is declared, or a subclass thereof; nevernullmethodName- the name of the method to select; nevernullor blank- See Also:
MethodSelector
-
selectMethod
public static MethodSelector selectMethod(Class<?> javaClass, String methodName, String methodParameterTypes)Create aMethodSelectorfor the suppliedClass, method name, and method parameter types.The parameter types
Stringis typically a comma-separated list of atomic types, fully qualified class names, or array types; however, the exact syntax depends on the underlying test engine.- Parameters:
javaClass- the class in which the method is declared, or a subclass thereof; nevernullmethodName- the name of the method to select; nevernullor blankmethodParameterTypes- the method parameter types as a single string; nevernullthough potentially an empty string if the method does not accept arguments- See Also:
MethodSelector
-
selectMethod
- Parameters:
javaClass- the class in which the method is declared, or a subclass thereof; nevernullmethod- the method to select; nevernull- See Also:
MethodSelector
-
selectNestedClass
@API(status=STABLE, since="1.6") public static NestedClassSelector selectNestedClass(List<Class<?>> enclosingClasses, Class<?> nestedClass)Create aNestedClassSelectorfor the supplied nestedClassand its enclosing classes.- Parameters:
enclosingClasses- the path to the nested class to select; nevernullor emptynestedClass- the nested class to select; nevernull- Since:
- 1.6
- See Also:
NestedClassSelector
-
selectNestedClass
@API(status=STABLE, since="1.6") public static NestedClassSelector selectNestedClass(List<String> enclosingClassNames, String nestedClassName)Create aNestedClassSelectorfor the supplied class name and its enclosing classes' names.- Parameters:
enclosingClassNames- the names of the enclosing classes; nevernullor emptynestedClassName- the name of the nested class to select; nevernullor blank- Since:
- 1.6
- See Also:
NestedClassSelector
-
selectNestedMethod
@API(status=STABLE, since="1.6") public static NestedMethodSelector selectNestedMethod(List<String> enclosingClassNames, String nestedClassName, String methodName)Create aNestedMethodSelectorfor the supplied nested class name and method name.- Parameters:
enclosingClassNames- the names of the enclosing classes; nevernullor emptynestedClassName- the name of the nested class to select; nevernullor blankmethodName- the name of the method to select; nevernullor blank- Since:
- 1.6
- See Also:
NestedMethodSelector
-
selectNestedMethod
@API(status=STABLE, since="1.6") public static NestedMethodSelector selectNestedMethod(List<String> enclosingClassNames, String nestedClassName, String methodName, String methodParameterTypes)Create aNestedMethodSelectorfor the supplied nested class name, method name, and method parameter types.The parameter types
Stringis typically a comma-separated list of atomic types, fully qualified class names, or array types; however, the exact syntax depends on the underlying test engine.- Parameters:
enclosingClassNames- the names of the enclosing classes; nevernullor emptynestedClassName- the name of the nested class to select; nevernullor blankmethodName- the name of the method to select; nevernullor blankmethodParameterTypes- the method parameter types as a single string; nevernullthough potentially an empty string if the method does not accept arguments- Since:
- 1.6
- See Also:
NestedMethodSelector
-
selectNestedMethod
@API(status=STABLE, since="1.6") public static NestedMethodSelector selectNestedMethod(List<Class<?>> enclosingClasses, Class<?> nestedClass, String methodName)Create aNestedMethodSelectorfor the supplied nestedClassand method name.- Parameters:
enclosingClasses- the path to the nested class to select; nevernullor emptynestedClass- the nested class to select; nevernullmethodName- the name of the method to select; nevernullor blank- Since:
- 1.6
- See Also:
NestedMethodSelector
-
selectNestedMethod
@API(status=STABLE, since="1.6") public static NestedMethodSelector selectNestedMethod(List<Class<?>> enclosingClasses, Class<?> nestedClass, String methodName, String methodParameterTypes)Create aNestedMethodSelectorfor the suppliedClass, method name, and method parameter types.The parameter types
Stringis typically a comma-separated list of atomic types, fully qualified class names, or array types; however, the exact syntax depends on the underlying test engine.- Parameters:
enclosingClasses- the path to the nested class to select; nevernullor emptynestedClass- the nested class to select; nevernullmethodName- the name of the method to select; nevernullor blankmethodParameterTypes- the method parameter types as a single string; nevernullthough potentially an empty string if the method does not accept arguments- Since:
- 1.6
- See Also:
NestedMethodSelector
-
selectNestedMethod
@API(status=STABLE, since="1.6") public static NestedMethodSelector selectNestedMethod(List<Class<?>> enclosingClasses, Class<?> nestedClass, Method method)- Parameters:
enclosingClasses- the path to the nested class to select; nevernullor emptynestedClass- the nested class to select; nevernullmethod- the method to select; nevernull- Since:
- 1.6
- See Also:
NestedMethodSelector
-
selectUniqueId
Create aUniqueIdSelectorfor the suppliedUniqueId.- Parameters:
uniqueId- theUniqueIdto select; nevernull- See Also:
UniqueIdSelector
-
selectUniqueId
Create aUniqueIdSelectorfor the supplied unique ID.- Parameters:
uniqueId- the unique ID to select; nevernullor blank- See Also:
UniqueIdSelector
-