handlebars.JavaJaxRS.libraries.jersey2.LocalDateProvider.mustache Maven / Gradle / Ivy
package {{apiPackage}};
import javax.ws.rs.ext.ParamConverter;
import javax.ws.rs.ext.ParamConverterProvider;
import javax.ws.rs.ext.Provider;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.time.LocalDate;
@Provider
public class LocalDateProvider implements ParamConverterProvider {
public ParamConverter getConverter(Class clazz, Type type, Annotation[] annotations) {
if (clazz.getName().equals(LocalDate.class.getName())) {
return new ParamConverter() {
@SuppressWarnings("unchecked")
public T fromString(String value) {
return value!=null ? (T) LocalDate.parse(value) : null;
}
public String toString(T bean) {
return bean!=null ? bean.toString() : "";
}
};
}
return null;
}
}