Interface ArgumentConverter

All Known Implementing Classes:
AnnotationBasedArgumentConverter, DefaultArgumentConverter, SimpleArgumentConverter, TypedArgumentConverter

@API(status=STABLE, since="5.7") public interface ArgumentConverter
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 or a constructor parameter or @Parameter-annotated field of a @ParameterizedClass 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: