package cactusServer.utils;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import javax.ws.rs.ext.ParamConverter;
import javax.ws.rs.ext.ParamConverterProvider;
import javax.ws.rs.ext.Provider;
/**
* Rest系クラスのメソッドにおいて, FormParamアノテーションをつけた仮引数の型がFormParamの制約条件を<br>
* 満たしていない場合に, 当該条件を満たさせる役割を担うクラス
* @author r-isitani
*
*/
@Provider
public class MyParamConverterProvider implements ParamConverterProvider {
@Override
@SuppressWarnings("unchecked")
public <T> ParamConverter<T> getConverter(Class<T> rawType, Type genericType, Annotation[] annotations) {
if (rawType != null && !rawType.equals(String.class)) {
return (ParamConverter<T>) new MyParamConverter(genericType);
}
return null;
}
}