Class DefaultArgumentConverter

  • All Implemented Interfaces:
    ArgumentConverter

    @API(status=INTERNAL,
         since="5.0")
    public class DefaultArgumentConverter
    extends java.lang.Object
    implements ArgumentConverter
    DefaultArgumentConverter is the default implementation of the ArgumentConverter API.

    The DefaultArgumentConverter is able to convert from strings to a number of primitive types and their corresponding wrapper types (Byte, Short, Integer, Long, Float, and Double), date and time types from the java.time package, and some additional common Java types such as File, BigDecimal, BigInteger, Currency, Locale, URI, URL, UUID, etc.

    If the source and target types are identical the source object will not be modified.

    Since:
    5.0
    See Also:
    ArgumentConverter, ConversionSupport
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultArgumentConverter​(org.junit.jupiter.api.extension.ExtensionContext context)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object convert​(java.lang.Object source, java.lang.Class<?> targetType, java.lang.ClassLoader classLoader)  
      java.lang.Object convert​(java.lang.Object source, org.junit.jupiter.api.extension.ParameterContext context)
      Convert the supplied source object according to the supplied context.
      java.lang.Object convert​(java.lang.Object source, FieldContext context)
      Convert the supplied source object according to the supplied context.
      (package private) java.lang.Object convert​(java.lang.String source, java.lang.Class<?> targetType, java.lang.ClassLoader classLoader)  
      private DefaultArgumentConverter.LocaleConversionFormat getLocaleConversionFormat()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT_LOCALE_CONVERSION_FORMAT_PROPERTY_NAME

        public static final java.lang.String DEFAULT_LOCALE_CONVERSION_FORMAT_PROPERTY_NAME
        Property name used to set the format for the conversion of Locale arguments: "junit.jupiter.params.arguments.conversion.locale.format"

        Supported Values

        • bcp_47: uses the IETF BCP 47 language tag format, delegating the conversion to Locale.forLanguageTag(String)
        • iso_639: uses the ISO 639 alpha-2 or alpha-3 language code format, delegating the conversion to Locale(String)

        If not specified, the default is bcp_47.

        Since:
        5.13
        See Also:
        Constant Field Values
      • context

        private final org.junit.jupiter.api.extension.ExtensionContext context
    • Constructor Detail

      • DefaultArgumentConverter

        public DefaultArgumentConverter​(org.junit.jupiter.api.extension.ExtensionContext context)
    • Method Detail

      • convert

        public final java.lang.Object convert​(java.lang.Object source,
                                              org.junit.jupiter.api.extension.ParameterContext context)
        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 supplied; never null
        Returns:
        the converted object; may be null but only if the target type is a reference type
      • convert

        public final java.lang.Object convert​(java.lang.Object source,
                                              FieldContext 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 field context where the converted object will be injected; 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

        public final java.lang.Object convert​(java.lang.Object source,
                                              java.lang.Class<?> targetType,
                                              java.lang.ClassLoader classLoader)
      • convert

        java.lang.Object convert​(java.lang.String source,
                                 java.lang.Class<?> targetType,
                                 java.lang.ClassLoader classLoader)