@Test public void valid_values_can_be_retrieved_from_exception() { TypeCoercer typeCoercer = getService(TypeCoercer.class); EnumValueEncoder<Stooge> encoder = new EnumValueEncoder<Stooge>(typeCoercer, Stooge.class); try { encoder.toValue("Foo"); fail(); } catch (RuntimeException e){ assertTrue(e.getCause() instanceof UnknownValueException); UnknownValueException cause = (UnknownValueException) e.getCause(); List<String> availableValues = cause.getAvailableValues().getValues(); assertTrue(availableValues.contains("MOE")); assertTrue(availableValues.contains("LARRY")); assertTrue(availableValues.contains("CURLY_JOE")); } }
public E toValue(String clientValue) { if (InternalUtils.isBlank(clientValue)) return null; return typeCoercer.coerce(clientValue, enumType); }
EnumValueEncoder implements ValueEncoder<E> { public E toValue(String clientValue) { if (InternalUtils.isBlank(clientValue)) return null; return typeCoercer.coerce(clientValue, enumType); } }
EnumValueEncoder implements ValueEncoder<E> { public E toValue(String clientValue) { if (InternalUtils.isBlank(clientValue)) return null; return typeCoercer.coerce(clientValue, enumType); } EnumValueEncoder(TypeCoercer typeCoercer, final Class<E> enumType); }
EnumValueEncoder implements ValueEncoder<E> { public E toValue(String clientValue) { if (InternalUtils.isBlank(clientValue)) return null; return typeCoercer.coerce(clientValue, enumType); } EnumValueEncoder(TypeCoercer typeCoercer, final Class<E> enumType); String toClient(E value); E toValue(String clientValue); }
EnumValueEncoder implements ValueEncoder<E> { public E toValue(String clientValue) { if (InternalUtils.isBlank(clientValue)) return null; return typeCoercer.coerce(clientValue, enumType); } EnumValueEncoder(TypeCoercer typeCoercer, final Class<E> enumType); String toClient(E value); E toValue(String clientValue);  }