/* * Copyright (C) 2011 Peransin Nicolas. * Use is subject to license terms. */ package org.mypsycho.beans.converter; import java.lang.reflect.InvocationTargetException; import java.util.Arrays; import java.util.Collection; import java.util.List; /** * Class for ... * <p>Details</p> * * @author Peransin Nicolas * */ public abstract class AbstractTypeConverter implements TypeConverter { List<Class<?>> supporteds; protected AbstractTypeConverter(Class<?>... types) { supporteds = Arrays.asList(types); } public Collection<? extends Class<?>> getSupported() { return supporteds; } protected static <O> O reThrow(String message, Throwable cause) { while (cause instanceof InvocationTargetException) { cause = ((InvocationTargetException) cause).getTargetException(); } throw new IllegalArgumentException(message, cause); } }