Class 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.ValueParamProvider
    A ValueParamProvider to process paging information with the "page", "size", and "sort" query params.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static interface  AbstractPagingValueParamProvider.PagingDataSupplier<C,​S>
      Defines behaviour for a function that can create a paging data object from a page number, size and sorting data.
      • Nested classes/interfaces inherited from interface org.glassfish.jersey.server.spi.internal.ValueParamProvider

        org.glassfish.jersey.server.spi.internal.ValueParamProvider.Priority, org.glassfish.jersey.server.spi.internal.ValueParamProvider.PriorityType
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      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.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.glassfish.jersey.server.spi.internal.ValueParamProvider.PriorityType getPriority()  
      java.util.function.Function<org.glassfish.jersey.server.ContainerRequest,​?> getValueProvider​(org.glassfish.jersey.server.model.Parameter parameter)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 - An InjectionManager to be used by the AbstractPagingValueParamProvider.PagingDataProvider
        unsortedPagingProvider - A BiFunction that takes page number and size, and returns an unsorted paging data.
        directionProvider - A Function that takes a String and returns an Optional of a direction object, if the given String can be parsed into it.
        defaultDirectionProvider - A Supplier that provides the default direction.
        propertySortProvider - A BiFunction that takes a property (represented as a String) 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 a List of 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:
        getValueProvider in interface org.glassfish.jersey.server.spi.internal.ValueParamProvider
      • getPriority

        public org.glassfish.jersey.server.spi.internal.ValueParamProvider.PriorityType getPriority()
        Specified by:
        getPriority in interface org.glassfish.jersey.server.spi.internal.ValueParamProvider