Class DiscoverySelectors
static
factory methods for creating
DiscoverySelectors
.-
Method Summary
Modifier and TypeMethodDescriptionstatic ClassSelector
selectClass(Class<?> clazz)
Create aClassSelector
for the suppliedClass
.static ClassSelector
selectClass(String className)
Create aClassSelector
for the supplied class name.static ClasspathResourceSelector
selectClasspathResource(String classpathResourceName)
Create aClasspathResourceSelector
for the supplied classpath resource name.static ClasspathResourceSelector
selectClasspathResource(String classpathResourceName, FilePosition position)
Create aClasspathResourceSelector
for the supplied classpath resource name.static List<ClasspathRootSelector>
selectClasspathRoots(Set<Path> classpathRoots)
Create a list ofClasspathRootSelectors
for the supplied classpath roots (directories or JAR files).static DirectorySelector
selectDirectory(File directory)
Create aDirectorySelector
for the supplied directory.static DirectorySelector
selectDirectory(String path)
Create aDirectorySelector
for the supplied directory path.static FileSelector
selectFile(File file)
Create aFileSelector
for the supplied file.static FileSelector
selectFile(File file, FilePosition position)
Create aFileSelector
for the supplied file.static FileSelector
selectFile(String path)
Create aFileSelector
for the supplied file path.static FileSelector
selectFile(String path, FilePosition position)
Create aFileSelector
for the supplied file path.static MethodSelector
selectMethod(Class<?> javaClass, Method method)
static MethodSelector
selectMethod(Class<?> javaClass, String methodName)
Create aMethodSelector
for the suppliedClass
and method name.static MethodSelector
selectMethod(Class<?> javaClass, String methodName, String methodParameterTypes)
Create aMethodSelector
for the suppliedClass
, method name, and method parameter types.static MethodSelector
selectMethod(String fullyQualifiedMethodName)
Create aMethodSelector
for the supplied fully qualified method name.static MethodSelector
selectMethod(String className, String methodName)
Create aMethodSelector
for the supplied class name and method name.static MethodSelector
selectMethod(String className, String methodName, String methodParameterTypes)
Create aMethodSelector
for the supplied class name, method name, and method parameter types.static ModuleSelector
selectModule(String moduleName)
Create aModuleSelector
for the supplied module name.static List<ModuleSelector>
selectModules(Set<String> moduleNames)
Create a list ofModuleSelectors
for the supplied module names.static NestedClassSelector
selectNestedClass(List<Class<?>> enclosingClasses, Class<?> nestedClass)
Create aNestedClassSelector
for the supplied nestedClass
and its enclosing classes.static NestedClassSelector
selectNestedClass(List<String> enclosingClassNames, String nestedClassName)
Create aNestedClassSelector
for the supplied class name and its enclosing classes' names.static NestedMethodSelector
selectNestedMethod(List<Class<?>> enclosingClasses, Class<?> nestedClass, Method method)
static NestedMethodSelector
selectNestedMethod(List<Class<?>> enclosingClasses, Class<?> nestedClass, String methodName)
Create aNestedMethodSelector
for the supplied nestedClass
and method name.static NestedMethodSelector
selectNestedMethod(List<Class<?>> enclosingClasses, Class<?> nestedClass, String methodName, String methodParameterTypes)
Create aNestedMethodSelector
for the suppliedClass
, method name, and method parameter types.static NestedMethodSelector
selectNestedMethod(List<String> enclosingClassNames, String nestedClassName, String methodName)
Create aNestedMethodSelector
for the supplied nested class name and method name.static NestedMethodSelector
selectNestedMethod(List<String> enclosingClassNames, String nestedClassName, String methodName, String methodParameterTypes)
Create aNestedMethodSelector
for the supplied nested class name, method name, and method parameter types.static PackageSelector
selectPackage(String packageName)
Create aPackageSelector
for the supplied package name.static UniqueIdSelector
selectUniqueId(String uniqueId)
Create aUniqueIdSelector
for the supplied unique ID.static UniqueIdSelector
selectUniqueId(UniqueId uniqueId)
Create aUniqueIdSelector
for the suppliedUniqueId
.static UriSelector
Create aUriSelector
for the supplied URI.static UriSelector
Create aUriSelector
for the suppliedURI
.
-
Method Details
-
selectUri
Create aUriSelector
for the supplied URI.- Parameters:
uri
- the URI to select; nevernull
or blank- See Also:
UriSelector
,selectUri(URI)
,selectFile(String)
,selectFile(File)
,selectDirectory(String)
,selectDirectory(File)
-
selectUri
Create aUriSelector
for the suppliedURI
.- Parameters:
uri
- the URI to select; nevernull
- See Also:
UriSelector
,selectUri(String)
,selectFile(String)
,selectFile(File)
,selectDirectory(String)
,selectDirectory(File)
-
selectFile
Create aFileSelector
for 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; nevernull
or blank- See Also:
FileSelector
,selectFile(File)
,selectFile(String, FilePosition)
,selectFile(File, FilePosition)
,selectDirectory(String)
,selectDirectory(File)
-
selectFile
Create aFileSelector
for the supplied file.This method selects the file in its canonical form and throws a
PreconditionViolationException
if 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 aFileSelector
for 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; nevernull
or blankposition
- the position inside the file; may benull
- See Also:
FileSelector
,selectFile(String)
,selectFile(File)
,selectFile(File, FilePosition)
,selectDirectory(String)
,selectDirectory(File)
-
selectFile
Create aFileSelector
for the supplied file.This method selects the file in its canonical form and throws a
PreconditionViolationException
if the file does not exist.- Parameters:
file
- the file to select; nevernull
position
- the position inside the file; may benull
- See Also:
FileSelector
,selectFile(File)
,selectFile(String)
,selectFile(String, FilePosition)
,selectDirectory(String)
,selectDirectory(File)
-
selectDirectory
Create aDirectorySelector
for 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; nevernull
or blank- See Also:
DirectorySelector
,selectDirectory(File)
,selectFile(String)
,selectFile(File)
-
selectDirectory
Create aDirectorySelector
for the supplied directory.This method selects the directory in its canonical form and throws a
PreconditionViolationException
if 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 ofClasspathRootSelectors
for the supplied classpath roots (directories or JAR files).Since the supplied paths are converted to
URIs
, theFileSystem
that 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 aClasspathResourceSelector
for 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; nevernull
or 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 aClasspathResourceSelector
for 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; nevernull
or 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 aModuleSelector
for the supplied module name.The unnamed module is not supported.
- Parameters:
moduleName
- the module name to select; nevernull
or 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 ofModuleSelectors
for the supplied module names.The unnamed module is not supported.
- Parameters:
moduleNames
- the module names to select; nevernull
, never containingnull
or blank- Since:
- 1.1
- See Also:
ModuleSelector
-
selectPackage
Create aPackageSelector
for the supplied package name.The default package is represented by an empty string (
""
).- Parameters:
packageName
- the package name to select; nevernull
and never containing whitespace only- See Also:
PackageSelector
-
selectClass
Create aClassSelector
for the suppliedClass
.- Parameters:
clazz
- the class to select; nevernull
- See Also:
ClassSelector
-
selectClass
Create aClassSelector
for the supplied class name.- Parameters:
className
- the fully qualified name of the class to select; nevernull
or blank- See Also:
ClassSelector
-
selectMethod
public static MethodSelector selectMethod(String fullyQualifiedMethodName) throws PreconditionViolationExceptionCreate aMethodSelector
for 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.,
[[I
forint[][]
,[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#chars
java.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; nevernull
or blank- Throws:
PreconditionViolationException
- See Also:
MethodSelector
-
selectMethod
Create aMethodSelector
for 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; nevernull
or blankmethodName
- the name of the method to select; nevernull
or blank- See Also:
MethodSelector
-
selectMethod
public static MethodSelector selectMethod(String className, String methodName, String methodParameterTypes)Create aMethodSelector
for the supplied class name, method name, and method parameter types.The parameter types
String
is 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; nevernull
or blankmethodName
- the name of the method to select; nevernull
or blankmethodParameterTypes
- the method parameter types as a single string; nevernull
though potentially an empty string if the method does not accept arguments- See Also:
MethodSelector
-
selectMethod
Create aMethodSelector
for the suppliedClass
and method name.- Parameters:
javaClass
- the class in which the method is declared, or a subclass thereof; nevernull
methodName
- the name of the method to select; nevernull
or blank- See Also:
MethodSelector
-
selectMethod
public static MethodSelector selectMethod(Class<?> javaClass, String methodName, String methodParameterTypes)Create aMethodSelector
for the suppliedClass
, method name, and method parameter types.The parameter types
String
is 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; nevernull
methodName
- the name of the method to select; nevernull
or blankmethodParameterTypes
- the method parameter types as a single string; nevernull
though 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; nevernull
method
- 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 aNestedClassSelector
for the supplied nestedClass
and its enclosing classes.- Parameters:
enclosingClasses
- the path to the nested class to select; nevernull
or 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 aNestedClassSelector
for the supplied class name and its enclosing classes' names.- Parameters:
enclosingClassNames
- the names of the enclosing classes; nevernull
or emptynestedClassName
- the name of the nested class to select; nevernull
or 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 aNestedMethodSelector
for the supplied nested class name and method name.- Parameters:
enclosingClassNames
- the names of the enclosing classes; nevernull
or emptynestedClassName
- the name of the nested class to select; nevernull
or blankmethodName
- the name of the method to select; nevernull
or 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 aNestedMethodSelector
for the supplied nested class name, method name, and method parameter types.The parameter types
String
is 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; nevernull
or emptynestedClassName
- the name of the nested class to select; nevernull
or blankmethodName
- the name of the method to select; nevernull
or blankmethodParameterTypes
- the method parameter types as a single string; nevernull
though 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 aNestedMethodSelector
for the supplied nestedClass
and method name.- Parameters:
enclosingClasses
- the path to the nested class to select; nevernull
or emptynestedClass
- the nested class to select; nevernull
methodName
- the name of the method to select; nevernull
or 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 aNestedMethodSelector
for the suppliedClass
, method name, and method parameter types.The parameter types
String
is 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; nevernull
or emptynestedClass
- the nested class to select; nevernull
methodName
- the name of the method to select; nevernull
or blankmethodParameterTypes
- the method parameter types as a single string; nevernull
though 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; nevernull
or emptynestedClass
- the nested class to select; nevernull
method
- the method to select; nevernull
- Since:
- 1.6
- See Also:
NestedMethodSelector
-
selectUniqueId
Create aUniqueIdSelector
for the suppliedUniqueId
.- Parameters:
uniqueId
- theUniqueId
to select; nevernull
- See Also:
UniqueIdSelector
-
selectUniqueId
Create aUniqueIdSelector
for the supplied unique ID.- Parameters:
uniqueId
- the unique ID to select; nevernull
or blank- See Also:
UniqueIdSelector
-