Class AnnotationBasedArgumentConverter<A extends Annotation>

java.lang.Object
org.junit.jupiter.params.converter.AnnotationBasedArgumentConverter<A>
All Implemented Interfaces:
Consumer<A>, ArgumentConverter, AnnotationConsumer<A>

@API(status=EXPERIMENTAL, since="5.10") public abstract class AnnotationBasedArgumentConverter<A extends Annotation> extends Object implements ArgumentConverter, AnnotationConsumer<A>
AnnotationBasedArgumentConverter is an abstract base class for ArgumentConverter implementations that also need to consume an annotation in order to perform the conversion.
Since:
5.10
See Also:
  • Constructor Details

    • AnnotationBasedArgumentConverter

      public AnnotationBasedArgumentConverter()
  • Method Details

    • accept

      public final void accept(A annotation)
      Specified by:
      accept in interface Consumer<A extends Annotation>
    • convert

      public final Object convert(Object source, ParameterContext context) throws ArgumentConversionException
      Description copied from interface: ArgumentConverter
      Convert the supplied source object according to the supplied context.
      Specified by:
      convert in interface ArgumentConverter
      Parameters:
      source - the source object to convert; may be null
      context - the parameter context where the converted object will be used; never null
      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
    • convert

      protected abstract Object convert(Object source, Class<?> targetType, A annotation) throws ArgumentConversionException
      Convert the supplied source object into the supplied targetType, based on metadata in the provided annotation.
      Parameters:
      source - the source object to convert; may be null
      targetType - the target type the source object should be converted into; never null
      annotation - the annotation to process; never null
      Returns:
      the converted object; may be null but only if the target type is a reference type
      Throws:
      ArgumentConversionException - in case an error occurs during the conversion