package openperipheral.converter; import com.google.common.reflect.TypeToken; import java.lang.reflect.Type; import openperipheral.api.converter.IConverter; import openperipheral.api.converter.IGenericInboundTypeConverter; public abstract class GenericInboundConverterAdapter implements IGenericInboundTypeConverter { @Override public Object toJava(IConverter registry, Object obj, Type expected) { TypeToken<?> type = TypeToken.of(expected); return toJava(registry, obj, type.getRawType()); } protected abstract Object toJava(IConverter converter, Object obj, Class<?> expected); }