Interface ArgumentConverter
- All Known Implementing Classes:
AnnotationBasedArgumentConverter
,DefaultArgumentConverter
,SimpleArgumentConverter
,TypedArgumentConverter
ArgumentConverter
is an abstraction that allows an input object to
be converted to an instance of a different class.
Such an ArgumentConverter
is applied to the method parameter
of a @ParameterizedTest
method with the help of a
@ConvertWith
annotation.
Implementations must provide a no-args constructor or a single unambiguous constructor to use parameter resolution. They should not make any assumptions regarding when they are instantiated or how often they are called. Since instances may potentially be cached and called from different threads, they should be thread-safe.
Extend SimpleArgumentConverter
if your implementation only needs
to know the target type and does not need access to the ParameterContext
to perform the conversion.
Extend TypedArgumentConverter
if your implementation always converts
from a given source type into a given target type and does not need access to
the ParameterContext
to perform the conversion.
- Since:
- 5.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionconvert
(Object source, ParameterContext context) Convert the suppliedsource
object according to the suppliedcontext
.
-
Method Details
-
convert
Convert the suppliedsource
object according to the suppliedcontext
.- Parameters:
source
- the source object to convert; may benull
context
- the parameter context where the converted object will be used; nevernull
- Returns:
- the converted object; may be
null
but only if the target type is a reference type - Throws:
ArgumentConversionException
- if an error occurs during the conversion
-