Package ubic.gemma.rest.util
Class Responders
- java.lang.Object
-
- ubic.gemma.rest.util.Responders
-
public class Responders extends Object
Handles setting of the response status code and composing a proper payload structure.- Author:
- tesarst
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Responders.FilterMethod<T>
A functional interface matching the signature of a paginating service method.
-
Constructor Summary
Constructors Constructor Description Responders()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> QueriedAndFilteredResponseDataObject<T>
all(List<T> payload, String query, Filters filters, String[] groupBy, Sort sort)
static <T> FilteredResponseDataObject<T>
all(List<T> payload, Filters filters, String[] groupBy, Sort sort)
Produce all results.static <T> PaginatedResponseDataObject<T>
paginate(Slice<T> payload, String[] groupBy)
Paginate results.static <T> QueriedAndFilteredAndPaginatedResponseDataObject<T>
paginate(Slice<T> payload, String query, Filters filters, String[] groupBy)
Paginate results with a filter and a full-text query.static <T> FilteredAndPaginatedResponseDataObject<T>
paginate(Slice<T> payload, Filters filters, String[] groupBy)
Paginate results with a filter.static <T> FilteredAndPaginatedResponseDataObject<T>
paginate(Responders.FilterMethod<T> filterMethod, Filters filters, String[] groupBy, Sort sort, int offset, int limit)
Paginate results with a filter using a callback to produce the payload.static <T> ResponseDataObject<T>
respond(T payload)
Produce aResponseDataObject
that wraps the given argument.static <T> FilteredAndLimitedResponseDataObject<T>
top(List<T> payload, Filters filters, String[] groupBy, Sort sort, Integer limit)
Produce top results.
-
-
-
Method Detail
-
respond
public static <T> ResponseDataObject<T> respond(@Nullable T payload) throws javax.ws.rs.NotFoundException
Produce aResponseDataObject
that wraps the given argument.- Parameters:
payload
- an object to be wrapped and published to the API- Returns:
- a
ResponseDataObject
containing the argument - Throws:
javax.ws.rs.NotFoundException
- if the argument is null, a suitableResponseErrorObject
will be subsequently produced byNotFoundExceptionMapper
-
all
public static <T> FilteredResponseDataObject<T> all(List<T> payload, @Nullable Filters filters, String[] groupBy, @Nullable Sort sort)
Produce all results.
-
all
public static <T> QueriedAndFilteredResponseDataObject<T> all(List<T> payload, @Nullable String query, @Nullable Filters filters, String[] groupBy, @Nullable Sort sort)
-
top
public static <T> FilteredAndLimitedResponseDataObject<T> top(List<T> payload, @Nullable Filters filters, String[] groupBy, @Nullable Sort sort, Integer limit)
Produce top results.
-
paginate
public static <T> PaginatedResponseDataObject<T> paginate(Slice<T> payload, String[] groupBy)
Paginate results.
-
paginate
public static <T> FilteredAndPaginatedResponseDataObject<T> paginate(Slice<T> payload, @Nullable Filters filters, String[] groupBy)
Paginate results with a filter.
-
paginate
public static <T> FilteredAndPaginatedResponseDataObject<T> paginate(Responders.FilterMethod<T> filterMethod, @Nullable Filters filters, String[] groupBy, @Nullable Sort sort, int offset, int limit)
Paginate results with a filter using a callback to produce the payload.
-
-