@Override public <X extends Throwable> R getOrThrow( SerializableFunction<String, ? extends X> exceptionProvider) throws X { return wrappedResult.getOrThrow(exceptionProvider); }
/** * Parses a given string as a value of given type. * * @param value * String value to convert. * @param type * Expected result type. * @return String converted to the expected result type using a registered * converter for that type. */ public <T> T parse(String value, Class<? extends T> type) { Converter<String, T> converter = findConverterFor(type); if (converter != null) { Result<T> result = converter.convertToModel(value, new ValueContext()); return result.getOrThrow(msg -> new IllegalArgumentException(msg)); } else { return null; } }
private MODEL getModelSafely(PRESENTATION value, ValueContext context) { try { return (MODEL) delegate.convertToModel(value, context).getOrThrow(e -> new IllegalArgumentException(String.valueOf(e))); } catch (Throwable throwable) { log.info(throwable.getMessage()); return null; } } }
/** * Convert the presentation value type to model value type. * @param value Value to convert * @return Converted value */ private V convertToModel(T value) { return converter.convertToModel(value, _valueContext()).getOrThrow(error -> new RuntimeException(error)); }
@Override protected LocalDate toInternalValue(Date value) { return getConverter().convertToModel(value, new ValueContext(findLocale())) .getOrThrow(msg -> new IllegalArgumentException(msg)); }
@Override protected T fromInternalValue(Double value) { return getConverter().convertToModel(value, new ValueContext(findLocale())) .getOrThrow(msg -> new IllegalArgumentException(msg)); }
@Override protected LocalDateTime toInternalValue(Date value) { return getConverter().convertToModel(value, new ValueContext(findLocale())) .getOrThrow(msg -> new IllegalArgumentException(msg)); }
@Override protected T fromInternalValue(String value) { return getConverter().convertToModel(value, new ValueContext(findLocale())) .getOrThrow(msg -> new IllegalArgumentException(msg)); }
protected ITEM toItem(S selection) { return requireItemConverter().convertToModel(selection, new ValueContext(this, this, findLocale())).getOrThrow( m -> new IllegalArgumentException("Failed to convert selection value [" + selection + "]: " + m)); }