Class AbstractPagingValueParamProvider<C,S,P,D>
- java.lang.Object
-
- com.bellotapps.webapps_commons.data_transfer.jersey.providers.AbstractPagingValueParamProvider<C,S,P,D>
-
- All Implemented Interfaces:
org.glassfish.jersey.server.spi.internal.ValueParamProvider
- Direct Known Subclasses:
PagingRequestValueParamProvider
public abstract class AbstractPagingValueParamProvider<C,S,P,D> extends java.lang.Object implements org.glassfish.jersey.server.spi.internal.ValueParamProviderAValueParamProviderto process paging information with the "page", "size", and "sort" query params.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceAbstractPagingValueParamProvider.PagingDataSupplier<C,S>Defines behaviour for a function that can create a paging data object from a page number, size and sorting data.
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractPagingValueParamProvider(java.lang.Class<C> parameterClass, org.glassfish.jersey.internal.inject.InjectionManager injectionManager, java.util.function.BiFunction<java.lang.Integer,java.lang.Integer,C> unsortedPagingProvider, java.util.function.Function<java.lang.String,java.util.Optional<D>> directionProvider, java.util.function.Supplier<D> defaultDirectionProvider, java.util.function.BiFunction<java.lang.String,D,P> propertySortProvider, java.util.function.Function<java.util.List<P>,S> finisher, AbstractPagingValueParamProvider.PagingDataSupplier<C,S> pagingDataProvider)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.glassfish.jersey.server.spi.internal.ValueParamProvider.PriorityTypegetPriority()java.util.function.Function<org.glassfish.jersey.server.ContainerRequest,?>getValueProvider(org.glassfish.jersey.server.model.Parameter parameter)
-
-
-
Constructor Detail
-
AbstractPagingValueParamProvider
protected AbstractPagingValueParamProvider(java.lang.Class<C> parameterClass, org.glassfish.jersey.internal.inject.InjectionManager injectionManager, java.util.function.BiFunction<java.lang.Integer,java.lang.Integer,C> unsortedPagingProvider, java.util.function.Function<java.lang.String,java.util.Optional<D>> directionProvider, java.util.function.Supplier<D> defaultDirectionProvider, java.util.function.BiFunction<java.lang.String,D,P> propertySortProvider, java.util.function.Function<java.util.List<P>,S> finisher, AbstractPagingValueParamProvider.PagingDataSupplier<C,S> pagingDataProvider)
Constructor.- Parameters:
parameterClass- Class of the parameter whose value must be provided.injectionManager- AnInjectionManagerto be used by theAbstractPagingValueParamProvider.PagingDataProviderunsortedPagingProvider- ABiFunctionthat takes page number and size, and returns an unsorted paging data.directionProvider- AFunctionthat takes aStringand returns anOptionalof a direction object, if the givenStringcan be parsed into it.defaultDirectionProvider- ASupplierthat provides the default direction.propertySortProvider- ABiFunctionthat takes a property (represented as aString) and a direction and returns an object that has information about how to sort by the given property.finisher- Function that indicates how to build the sorting information object from aListof property sorting information objects.pagingDataProvider- A paging data supplier (from the page number, size, and sorting information).
-
-
Method Detail
-
getValueProvider
public java.util.function.Function<org.glassfish.jersey.server.ContainerRequest,?> getValueProvider(org.glassfish.jersey.server.model.Parameter parameter)
- Specified by:
getValueProviderin interfaceorg.glassfish.jersey.server.spi.internal.ValueParamProvider
-
getPriority
public org.glassfish.jersey.server.spi.internal.ValueParamProvider.PriorityType getPriority()
- Specified by:
getPriorityin interfaceorg.glassfish.jersey.server.spi.internal.ValueParamProvider
-
-