2014-10-28 1 views
-1

Я ищу альтернативу ConvertUtilsBean из Apache Commons. Я просто нужно преобразовать значение в объект определенного класса, другими словами, метод, как это:Object Conversion utitilty

Object convert(Object value, Class targetType) 

Я хотел бы знать, какие варианты облегченные есть, что являются эффективными. Примечание: этот параметр не должен использоваться для ведения Commons Logging и замены регистрации в Commons с помощью SLF4J также не является жизнеспособным вариантом. Я предложил этот подход, но по какой-то причине требуется, чтобы commons-beanutils не включался.

+0

отлично! и каков ваш вопрос? – ursa

+0

Часть, которая гласит: «Я ищу ...», кажется достаточно ясной, но я добавил более подробно JIC. – CCC

+0

Секрет реализует конвертер. Класс, чтобы использовать это просто, как @ursa ответил – Joqus

ответ

1

Вы можете использовать наиболее эффективное/легкое решение - рукописный. Ниже приводится только пример того, как это можно реализовать:

public interface Converter<F, T> { 
    T convert(F from); 
} 

public final class Converters { 
    private final Map<Class<?>, Converter<?, ?>> converters; // initialize as you want 

    public <F> void register(Converter<F, ?> converter, Class<F> fromClass) { 
     converters.put(fromClass, converter); 
    } 

    public <T> T convert(Object input) { 
     if (input == null) throw NPE; 
     return (T) converters.get(input.getClass()).convert(input); 
    } 
}