public ConverterProvider converterProvider()

in src/main/java/com/epam/digital/data/platform/starter/kafkaapi/config/JooqConfig.java [66:88]


  public ConverterProvider converterProvider() {
    return new ConverterProvider() {
      final ConverterProvider defaultConverterProvider = new DefaultConverterProvider();

      @Override
      public <T, U> Converter<T, U> provide(Class<T> tType, Class<U> uType) {
        if (uType == LocalDate.class) {
          return (Converter<T, U>) Converter.ofNullable(Date.class, LocalDate.class,
              Date::toLocalDate, Date::valueOf);
        } else if (uType == LocalTime.class) {
          return (Converter<T, U>) Converter.ofNullable(Time.class, LocalTime.class,
              Time::toLocalTime, Time::valueOf);
        } else if (uType == LocalDateTime.class) {
          return (Converter<T, U>) Converter.ofNullable(Timestamp.class, LocalDateTime.class,
              Timestamp::toLocalDateTime, Timestamp::valueOf);
        } else if (Enum.class.isAssignableFrom(uType)) {
          return new EnumConverter(tType, uType);
        } else {
          return defaultConverterProvider.provide(tType, uType);
        }
      }
    };
  }