package org.castor.cpa.persistence.convertor; import java.lang.reflect.Method; /** * Custom convertor used to handle enum types. */ public class EnumTypeConvertor extends AbstractSimpleTypeConvertor { private final Method _method; public EnumTypeConvertor(final Class<?> fromType, final Class<?> toType, final Method method) { super(fromType, toType); _method = method; } /** * {@inheritDoc} */ public Object convert(final Object object) { try { // Invoking method for conversion via reflection. return _method.invoke(this.toType(), (String) object); } catch (Exception ex) { return null; } } }