Class FallbackStringToObjectConverter

java.lang.Object
org.junit.jupiter.params.converter.FallbackStringToObjectConverter
All Implemented Interfaces:
StringToObjectConverter

class FallbackStringToObjectConverter extends Object implements StringToObjectConverter
FallbackStringToObjectConverter is a StringToObjectConverter that provides a fallback conversion strategy for converting from a String to a given target type by invoking a static factory method or factory constructor defined in the target type.

Search Algorithm

  1. Search for a single, non-private static factory method in the target type that converts from a String to the target type. Use the factory method if present.
  2. Search for a single, non-private constructor in the target type that accepts a String. Use the constructor if present.

If multiple suitable factory methods are discovered they will be ignored. If neither a single factory method nor a single constructor is found, this converter acts as a no-op.

Since:
5.1
See Also:
  • Field Details

    • NULL_EXECUTABLE

      private static final Function<String,Object> NULL_EXECUTABLE
      Implementation of the NULL Object Pattern.
    • factoryExecutableCache

      private static final ConcurrentHashMap<Class<?>,Function<String,Object>> factoryExecutableCache
      Cache for factory methods and factory constructors.

      Searches that do not find a factory method or constructor are tracked by the presence of a NULL_EXECUTABLE object stored in the map. This prevents the framework from repeatedly searching for things which are already known not to exist.

  • Constructor Details

    • FallbackStringToObjectConverter

      FallbackStringToObjectConverter()
  • Method Details