private static <E extends Enum<E>> Optional<ColumnMapper<?>> makeEnumArgument(QualifiedType<E> givenType, Class<E> enumClass, ConfigRegistry config) { boolean byName = EnumStrategy.BY_NAME == config.get(EnumStrategies.class).findStrategy(givenType); return Optional.of(byName ? EnumMapper.byName(enumClass) : EnumMapper.byOrdinal(enumClass)); } }
@Override public Optional<ColumnMapper<?>> build(Type type, ConfigRegistry config) { Class<?> clazz = getErasedType(type); return clazz.isEnum() ? Optional.of(EnumMapper.byName(clazz.asSubclass(Enum.class))) : Optional.empty(); } }
@SuppressWarnings("rawtypes") @Override public Optional<ColumnMapper<?>> build(Type type, ConfigRegistry config) { Class<?> clazz = getErasedType(type); return clazz.isEnum() ? Optional.of(EnumMapper.byOrdinal(clazz.asSubclass(Enum.class))) : Optional.empty(); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public Optional<ColumnMapper<?>> build(Type type, ConfigRegistry config) { Class<?> clazz = getErasedType(type); return clazz.isEnum() ? Optional.of(EnumMapper.byName((Class<? extends Enum>) clazz)) : Optional.empty(); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public Optional<ColumnMapper<?>> build(Type type, ConfigRegistry config) { Class<?> clazz = getErasedType(type); return clazz.isEnum() ? Optional.of(EnumMapper.byOrdinal((Class<? extends Enum>) clazz)) : Optional.empty(); } }
@Override public Optional<ColumnMapper<?>> build(Type type, ConfigRegistry config) { Class<?> rawType = getErasedType(type); if (rawType.isEnum()) { return Optional.of(EnumMapper.byName(rawType.asSubclass(Enum.class))); } return Optional.ofNullable(mappers.get(rawType)); }