Top Description Fields Constructors Methods
org.junit.platform.suite.engine

pack-priv final Class SuiteLauncherDiscoveryRequestBuilder

extends Object
Class Inheritance
Static Imports
org.junit.platform.commons.support.AnnotationSupport.findAnnotation, .AnnotationSupport.findRepeatableAnnotations, org.junit.platform.engine.discovery.ClassNameFilter.STANDARD_INCLUDE_PATTERN, org.junit.platform.suite.engine.AdditionalDiscoverySelectors.selectClasspathResource, .AdditionalDiscoverySelectors.selectFile

The SuiteLauncherDiscoveryRequestBuilder provides a light-weight DSL for generating a LauncherDiscoveryRequest specifically tailored for suite execution.
Since
1.8 (originally in junit-platform-suite-commons)
See Also
org.junit.platform.engine.discovery.DiscoverySelectors, org.junit.platform.engine.discovery.ClassNameFilter, org.junit.platform.launcher.EngineFilter, org.junit.platform.launcher.TagFilter

Field Summary

Modifier and TypeField and Description
private final LauncherDiscoveryRequestBuilder
private boolean
private boolean
private boolean
private @Nullable ConfigurationParameters
private final Set<String>

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private void
private void
addExcludeFilters(Class<?> suiteClass)

private void
addIncludeFilters(Class<?> suiteClass)

private void
addOtherSelectors(Class<?> suiteClass)

pack-priv SuiteLauncherDiscoveryRequestBuilder

Returns:

this builder for method chaining
applyConfigurationParametersFromSuite
(Class<?>
the class to apply the configuration annotations from; never null
suiteClass
)

Apply a suite's annotation-based configuration to this builder.

pack-priv SuiteLauncherDiscoveryRequestBuilder

Returns:

this builder for method chaining
applySelectorsAndFiltersFromSuite
(Class<?>
the class to apply the discovery selectors and filter annotations from; never null
suiteClass
)

Apply a suite's annotation-based discovery selectors and filters to this builder.

pack-priv LauncherDiscoveryRequest
build()

Build the LauncherDiscoveryRequest that has been configured via this builder.

pack-priv SuiteLauncherDiscoveryRequestBuilder

Returns:

this builder for method chaining
configurationParameter
(String
the configuration parameter key under which to store the value; never null or blank
key
,
String
the value to store
value
)

Add the supplied configuration parameter to the request.

pack-priv void
private ClassNameFilter
pack-priv SuiteLauncherDiscoveryRequestBuilder

Returns:

this builder for method chaining
disableImplicitConfigurationParameters
()

Configure whether implicit configuration parameters should be considered.

private void
filters(Filter<?>...
the Filters to add; never null
filters
)

Add all supplied filters to the request.

pack-priv SuiteLauncherDiscoveryRequestBuilder

Returns:

this builder for method chaining
filterStandardClassNamePatterns
()

Specify whether to filter standard class name patterns.

private static <A extends Annotation, V> Optional<V[]>
findAnnotationValues(AnnotatedElement element, Class<A> annotationType, Function<A, V[]> valueExtractor)

pack-priv void
pack-priv SuiteLauncherDiscoveryRequestBuilder
pack-priv SuiteLauncherDiscoveryRequestBuilder

Returns:

this builder for method chaining
parentConfigurationParameters
(ConfigurationParameters
the parent instance to use for looking up configuration parameters that have not been explicitly configured; never null
parentConfigurationParameters
)

Set the parent configuration parameters to use for the request.

private static String
pack-priv static SuiteLauncherDiscoveryRequestBuilder

Returns:

a new builder
request
()

Create a new SuiteLauncherDiscoveryRequestBuilder.

private List<ClassSelector>
selectClasses(Class<?> suiteClass, SelectClasses annotation)

private MethodSelector
selectMethod(Class<?> suiteClass, SelectMethod annotation)

pack-priv void
selectors(DiscoverySelector...
the DiscoverySelectors to add; never null
selectors
)

Add all supplied selectors to the request.

private void
selectors(List<? extends DiscoverySelector>
the DiscoverySelectors to add; never null
selectors
)

Add all supplied selectors to the request.

private static Optional<String[]>
stripped(String[] patterns)

private static Stream<ClassSelector>
toClassSelectors(Class<?> suiteClass, SelectClasses annotation)

private MethodSelector
toMethodSelector(Class<?> suiteClass, SelectMethod annotation)

private static MethodSelector
toMethodSelector(Class<?> suiteClass, @Nullable Class<?> type, @Nullable String typeName, @Nullable Class<?>[] parameterTypes, String methodName, String parameterTypeNames)

private static MethodSelector
toMethodSelectorFromFQMN(Class<?> suiteClass, SelectMethod annotation)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

delegateback to summary
private final LauncherDiscoveryRequestBuilder delegate
enableParentConfigurationParametersback to summary
private boolean enableParentConfigurationParameters
filterStandardClassNamePatternsback to summary
private boolean filterStandardClassNamePatterns
includeClassNamePatternsUsedback to summary
private boolean includeClassNamePatternsUsed
parentConfigurationParametersback to summary
private @Nullable ConfigurationParameters parentConfigurationParameters
selectedClassNamesback to summary
private final Set<String> selectedClassNames

Constructor Detail

SuiteLauncherDiscoveryRequestBuilderback to summary
private SuiteLauncherDiscoveryRequestBuilder()

Method Detail

addClassAndMethodSelectorsback to summary
private void addClassAndMethodSelectors(Class<?> suiteClass)
addExcludeFiltersback to summary
private void addExcludeFilters(Class<?> suiteClass)
addIncludeFiltersback to summary
private void addIncludeFilters(Class<?> suiteClass)
addOtherSelectorsback to summary
private void addOtherSelectors(Class<?> suiteClass)
applyConfigurationParametersFromSuiteback to summary
pack-priv SuiteLauncherDiscoveryRequestBuilder applyConfigurationParametersFromSuite(Class<?> suiteClass)

Apply a suite's annotation-based configuration to this builder.

This will apply the configuration from the following annotations.

Parameters
suiteClass:Class<?>

the class to apply the configuration annotations from; never null

Returns:SuiteLauncherDiscoveryRequestBuilder

this builder for method chaining

Since
1.11
See Also
org.junit.platform.suite.api.Suite
applySelectorsAndFiltersFromSuiteback to summary
pack-priv SuiteLauncherDiscoveryRequestBuilder applySelectorsAndFiltersFromSuite(Class<?> suiteClass)

Apply a suite's annotation-based discovery selectors and filters to this builder.

This will apply the configuration from the following annotations.

Parameters
suiteClass:Class<?>

the class to apply the discovery selectors and filter annotations from; never null

Returns:SuiteLauncherDiscoveryRequestBuilder

this builder for method chaining

Since
1.11
See Also
org.junit.platform.suite.api.Suite
buildback to summary
pack-priv LauncherDiscoveryRequest build()

Build the LauncherDiscoveryRequest that has been configured via this builder.

configurationParameterback to summary
pack-priv SuiteLauncherDiscoveryRequestBuilder configurationParameter(String key, String value)

Add the supplied configuration parameter to the request.

Parameters
key:String

the configuration parameter key under which to store the value; never null or blank

value:String

the value to store

Returns:SuiteLauncherDiscoveryRequestBuilder

this builder for method chaining

configurationParametersResourceback to summary
pack-priv void configurationParametersResource(String resourceFile)
createIncludeClassNameFilterback to summary
private ClassNameFilter createIncludeClassNameFilter(String... patterns)
disableImplicitConfigurationParametersback to summary
pack-priv SuiteLauncherDiscoveryRequestBuilder disableImplicitConfigurationParameters()

Configure whether implicit configuration parameters should be considered.

By default, in addition to those parameters that are passed explicitly to this builder, configuration parameters are read from system properties and from the junit-platform.properties classpath resource. Passing false to this method, disables the latter two sources so that only explicit configuration parameters are taken into account.

Returns:SuiteLauncherDiscoveryRequestBuilder

this builder for method chaining

See Also
configurationParameter(String, String)
filtersback to summary
private void filters(Filter<?>... filters)

Add all supplied filters to the request.

The filters are combined using AND semantics, i.e. all of them have to include a resource for it to end up in the test plan.

Warning

be cautious when registering multiple competing include EngineFilters or multiple competing exclude EngineFilters for the same discovery request since doing so will likely lead to undesirable results (i.e., zero engines being active).

Parameters
filters:Filter<?>[]

the Filters to add; never null

filterStandardClassNamePatternsback to summary
pack-priv SuiteLauncherDiscoveryRequestBuilder filterStandardClassNamePatterns()

Specify whether to filter standard class name patterns.

If set to true, standard class name patterns are filtered.

Returns:SuiteLauncherDiscoveryRequestBuilder

this builder for method chaining

findAnnotationValuesback to summary
private static <A extends Annotation, V> Optional<V[]> findAnnotationValues(AnnotatedElement element, Class<A> annotationType, Function<A, V[]> valueExtractor)
listenerback to summary
pack-priv void listener(LauncherDiscoveryListener listener)
outputDirectoryCreatorback to summary
pack-priv SuiteLauncherDiscoveryRequestBuilder outputDirectoryCreator(OutputDirectoryCreator outputDirectoryCreator)
parentConfigurationParametersback to summary
pack-priv SuiteLauncherDiscoveryRequestBuilder parentConfigurationParameters(ConfigurationParameters parentConfigurationParameters)

Set the parent configuration parameters to use for the request.

Any explicit configuration parameters configured via configurationParameter(String, String) takes precedence over the supplied configuration parameters.

Parameters
parentConfigurationParameters:ConfigurationParameters

the parent instance to use for looking up configuration parameters that have not been explicitly configured; never null

Returns:SuiteLauncherDiscoveryRequestBuilder

this builder for method chaining

See Also
configurationParameter(String, String)
prefixErrorMessageForInvalidSelectMethodUsageback to summary
private static String prefixErrorMessageForInvalidSelectMethodUsage(Class<?> suiteClass, String detailMessage)
requestback to summary
pack-priv static SuiteLauncherDiscoveryRequestBuilder request()

Create a new SuiteLauncherDiscoveryRequestBuilder.

Returns:SuiteLauncherDiscoveryRequestBuilder

a new builder

selectClassesback to summary
private List<ClassSelector> selectClasses(Class<?> suiteClass, SelectClasses annotation)
selectMethodback to summary
private MethodSelector selectMethod(Class<?> suiteClass, SelectMethod annotation)
selectorsback to summary
pack-priv void selectors(DiscoverySelector... selectors)

Add all supplied selectors to the request.

Parameters
selectors:DiscoverySelector[]

the DiscoverySelectors to add; never null

selectorsback to summary
private void selectors(List<? extends DiscoverySelector> selectors)

Add all supplied selectors to the request.

Parameters
selectors:List<? extends DiscoverySelector>

the DiscoverySelectors to add; never null

strippedback to summary
private static Optional<String[]> stripped(String[] patterns)
toClassSelectorsback to summary
private static Stream<ClassSelector> toClassSelectors(Class<?> suiteClass, SelectClasses annotation)
toMethodSelectorback to summary
private MethodSelector toMethodSelector(Class<?> suiteClass, SelectMethod annotation)
toMethodSelectorback to summary
private static MethodSelector toMethodSelector(Class<?> suiteClass, @Nullable Class<?> type, @Nullable String typeName, @Nullable Class<?>[] parameterTypes, String methodName, String parameterTypeNames)
toMethodSelectorFromFQMNback to summary
private static MethodSelector toMethodSelectorFromFQMN(Class<?> suiteClass, SelectMethod annotation)