handlebars.JavaJaxRS.resteasy.JodaDateTimeProvider.mustache Maven / Gradle / Ivy
package {{apiPackage}};
import org.joda.time.DateTime;
{{#jakarta}}
import jakarta.ws.rs.ext.ParamConverter;
import jakarta.ws.rs.ext.ParamConverterProvider;
import jakarta.ws.rs.ext.Provider;
import jakarta.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
{{/jakarta}}
{{^jakarta}}
import javax.ws.rs.ext.ParamConverter;
import javax.ws.rs.ext.ParamConverterProvider;
import javax.ws.rs.ext.Provider;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
{{/jakarta}}
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
@Provider
public class JodaDateTimeProvider implements ParamConverterProvider {
public static class JodaDateTimeConverter implements ParamConverter {
public DateTime fromString(String string) {
try {
DateTime dateTime = DateTime.parse(string);
return dateTime;
} catch (Exception e) {
throw new WebApplicationException(Response.status(Response.Status.BAD_REQUEST).
entity(string + " must be valid DateTime").build());
}
}
public String toString(DateTime t) {
return t.toString();
}
}
public ParamConverter getConverter(Class type, Type type1, Annotation[] antns) {
if (DateTime.class.equals(type)) {
return (ParamConverter) new JodaDateTimeConverter();
}
return null;
}
}