Search in sources :

Example 1 with Context

use of com.linkedin.restli.server.annotations.Context in project rest.li by linkedin.

the class RestLiAnnotationReader method buildPagingContextParam.

private static Parameter<?> buildPagingContextParam(final AnnotationSet annotations, final Class<?> paramType, final Class<?> paramAnnotationType) {
    if (!paramType.equals(PagingContext.class)) {
        throw new ResourceConfigException("Incorrect data type for param: @" + PagingContextParam.class.getSimpleName() + " or @" + Context.class.getSimpleName() + " parameter annotation must be of type " + PagingContext.class.getName());
    }
    PagingContext defaultContext = null;
    Parameter.ParamType parameter = null;
    if (paramAnnotationType.equals(PagingContextParam.class)) {
        PagingContextParam pagingContextParam = annotations.get(PagingContextParam.class);
        defaultContext = new PagingContext(pagingContextParam.defaultStart(), pagingContextParam.defaultCount(), false, false);
        parameter = Parameter.ParamType.PAGING_CONTEXT_PARAM;
    } else if (paramAnnotationType.equals(Context.class)) {
        Context contextParam = annotations.get(Context.class);
        defaultContext = new PagingContext(contextParam.defaultStart(), contextParam.defaultCount(), false, false);
        parameter = Parameter.ParamType.CONTEXT;
    } else {
        throw new ResourceConfigException("Param Annotation type must be 'PagingContextParam' or the deprecated 'Context' for PagingContext");
    }
    Optional optional = annotations.get(Optional.class);
    @SuppressWarnings({ "unchecked", "rawtypes" }) Parameter<?> param = new Parameter("", paramType, null, optional != null, defaultContext, parameter, false, annotations);
    return param;
}
Also used : PagingContext(com.linkedin.restli.server.PagingContext) ResourceContext(com.linkedin.restli.server.ResourceContext) ParSeqContext(com.linkedin.restli.server.annotations.ParSeqContext) Context(com.linkedin.restli.server.annotations.Context) PagingContextParam(com.linkedin.restli.server.annotations.PagingContextParam) Optional(com.linkedin.restli.server.annotations.Optional) PagingContext(com.linkedin.restli.server.PagingContext) ResourceConfigException(com.linkedin.restli.server.ResourceConfigException)

Aggregations

PagingContext (com.linkedin.restli.server.PagingContext)1 ResourceConfigException (com.linkedin.restli.server.ResourceConfigException)1 ResourceContext (com.linkedin.restli.server.ResourceContext)1 Context (com.linkedin.restli.server.annotations.Context)1 Optional (com.linkedin.restli.server.annotations.Optional)1 PagingContextParam (com.linkedin.restli.server.annotations.PagingContextParam)1 ParSeqContext (com.linkedin.restli.server.annotations.ParSeqContext)1