T
- the type of the engine's descriptor@API(status=EXPERIMENTAL,
since="1.5")
public class EngineDiscoveryRequestResolver<T extends TestDescriptor>
extends java.lang.Object
SelectorResolver
and TestDescriptor.Visitor
that can be reused by different
TestEngines
.
This resolver takes care of notifying registered
EngineDiscoveryListeners
about the results of processed
DiscoverySelectors
.
builder()
,
resolve(EngineDiscoveryRequest, TestDescriptor)
Modifier and Type | Class and Description |
---|---|
static class |
EngineDiscoveryRequestResolver.Builder<T extends TestDescriptor>
Builder for
EngineDiscoveryRequestResolver . |
private static class |
EngineDiscoveryRequestResolver.DefaultInitializationContext<T extends TestDescriptor> |
static interface |
EngineDiscoveryRequestResolver.InitializationContext<T extends TestDescriptor>
The initialization context for creating resolvers and visitors that depend
on the
EngineDiscoveryRequest to be resolved or the engine
descriptor that will be used to collect the results. |
Modifier and Type | Field and Description |
---|---|
private java.util.List<java.util.function.Function<EngineDiscoveryRequestResolver.InitializationContext<T>,SelectorResolver>> |
resolverCreators |
private java.util.List<java.util.function.Function<EngineDiscoveryRequestResolver.InitializationContext<T>,TestDescriptor.Visitor>> |
visitorCreators |
Modifier | Constructor and Description |
---|---|
private |
EngineDiscoveryRequestResolver(java.util.List<java.util.function.Function<EngineDiscoveryRequestResolver.InitializationContext<T>,SelectorResolver>> resolverCreators,
java.util.List<java.util.function.Function<EngineDiscoveryRequestResolver.InitializationContext<T>,TestDescriptor.Visitor>> visitorCreators) |
Modifier and Type | Method and Description |
---|---|
static <T extends TestDescriptor> |
builder()
Create a new
EngineDiscoveryRequestResolver.Builder for creating a EngineDiscoveryRequestResolver . |
private <R> java.util.List<R> |
instantiate(java.util.List<java.util.function.Function<EngineDiscoveryRequestResolver.InitializationContext<T>,R>> creators,
EngineDiscoveryRequestResolver.InitializationContext<T> context) |
void |
resolve(EngineDiscoveryRequest request,
T engineDescriptor)
Resolve the supplied
EngineDiscoveryRequest and collect the
results into the supplied TestDescriptor . |
private final java.util.List<java.util.function.Function<EngineDiscoveryRequestResolver.InitializationContext<T extends TestDescriptor>,SelectorResolver>> resolverCreators
private final java.util.List<java.util.function.Function<EngineDiscoveryRequestResolver.InitializationContext<T extends TestDescriptor>,TestDescriptor.Visitor>> visitorCreators
private EngineDiscoveryRequestResolver(java.util.List<java.util.function.Function<EngineDiscoveryRequestResolver.InitializationContext<T>,SelectorResolver>> resolverCreators, java.util.List<java.util.function.Function<EngineDiscoveryRequestResolver.InitializationContext<T>,TestDescriptor.Visitor>> visitorCreators)
public void resolve(EngineDiscoveryRequest request, T engineDescriptor)
EngineDiscoveryRequest
and collect the
results into the supplied TestDescriptor
.
The algorithm works as follows:
unresolved()
.
request
- the request to be resolved; never null
engineDescriptor
- the engine's TestDescriptor
to be used
for adding direct childrenSelectorResolver
,
TestDescriptor.Visitor
private <R> java.util.List<R> instantiate(java.util.List<java.util.function.Function<EngineDiscoveryRequestResolver.InitializationContext<T>,R>> creators, EngineDiscoveryRequestResolver.InitializationContext<T> context)
public static <T extends TestDescriptor> EngineDiscoveryRequestResolver.Builder<T> builder()
EngineDiscoveryRequestResolver.Builder
for creating a EngineDiscoveryRequestResolver
.T
- the type of the engine's descriptornull