Class AnnotationBasedArgumentsProvider<A extends java.lang.annotation.Annotation>
- java.lang.Object
-
- org.junit.jupiter.params.provider.AnnotationBasedArgumentsProvider<A>
-
- All Implemented Interfaces:
java.util.function.Consumer<A>,ArgumentsProvider,AnnotationConsumer<A>
- Direct Known Subclasses:
CsvArgumentsProvider,CsvFileArgumentsProvider,EnumArgumentsProvider,FieldArgumentsProvider,MethodArgumentsProvider,ValueArgumentsProvider
@API(status=MAINTAINED, since="5.13.3") public abstract class AnnotationBasedArgumentsProvider<A extends java.lang.annotation.Annotation> extends java.lang.Object implements ArgumentsProvider, AnnotationConsumer<A>AnnotationBasedArgumentsProvideris an abstract base class forArgumentsProviderimplementations that also need to consume an annotation in order to provide the arguments.- Since:
- 5.10
- See Also:
ParameterizedClass,ParameterizedTest,ArgumentsSource,Arguments,ArgumentsProvider,AnnotationConsumer
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<A>annotations
-
Constructor Summary
Constructors Constructor Description AnnotationBasedArgumentsProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaccept(A annotation)protected java.util.stream.Stream<? extends Arguments>provideArguments(org.junit.jupiter.api.extension.ExtensionContext context, A annotation)Deprecated.Please implementprovideArguments(ParameterDeclarations, ExtensionContext, Annotation)instead.java.util.stream.Stream<? extends Arguments>provideArguments(ParameterDeclarations parameters, org.junit.jupiter.api.extension.ExtensionContext context)protected java.util.stream.Stream<? extends Arguments>provideArguments(ParameterDeclarations parameters, org.junit.jupiter.api.extension.ExtensionContext context, A annotation)The returnedStreamwill beproperly closedby the default implementation ofprovideArguments(ParameterDeclarations, ExtensionContext), making it safe to use a resource such asFiles.lines().-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.junit.jupiter.params.provider.ArgumentsProvider
provideArguments
-
-
-
-
Field Detail
-
annotations
private final java.util.List<A extends java.lang.annotation.Annotation> annotations
-
-
Method Detail
-
accept
public final void accept(A annotation)
- Specified by:
acceptin interfacejava.util.function.Consumer<A extends java.lang.annotation.Annotation>
-
provideArguments
public java.util.stream.Stream<? extends Arguments> provideArguments(ParameterDeclarations parameters, org.junit.jupiter.api.extension.ExtensionContext context)
Description copied from interface:ArgumentsProvider- Specified by:
provideArgumentsin interfaceArgumentsProvider- Parameters:
parameters- the parameter declarations for the parameterized class or test; nevernullcontext- the current extension context; nevernull- Returns:
- a stream of arguments; never
null
-
provideArguments
@Deprecated @API(status=DEPRECATED, since="5.13") protected java.util.stream.Stream<? extends Arguments> provideArguments(org.junit.jupiter.api.extension.ExtensionContext context, A annotation)Deprecated.Please implementprovideArguments(ParameterDeclarations, ExtensionContext, Annotation)instead.Provide aStreamofArguments— based on metadata in the provided annotation — to be passed to a@ParameterizedTestmethod.- Parameters:
context- the current extension context; nevernullannotation- the annotation to process; nevernull- Returns:
- a stream of arguments; never
null
-
provideArguments
protected java.util.stream.Stream<? extends Arguments> provideArguments(ParameterDeclarations parameters, org.junit.jupiter.api.extension.ExtensionContext context, A annotation)
The returnedStreamwill beproperly closedby the default implementation ofprovideArguments(ParameterDeclarations, ExtensionContext), making it safe to use a resource such asFiles.lines().
-
-