com.holonplatform.core.query

## Interface QueryConfigurationProvider

-     public interface QueryConfigurationProvider

  Interface that can be used to dynamically provide query configuration elements.
  Since:
    4.5.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `QueryConfigurationProvider.Builder` Builder to create `QueryConfigurationProvider` instances.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static QueryConfigurationProvider.Builder` | `builder()` Obtain a builder to create a `QueryConfigurationProvider` instance.
    `static QueryConfigurationProvider` | `create(QueryFilter filter, QuerySort sort)` Create a new `QueryConfigurationProvider` which provides given `QueryFilter` and `QuerySort`.
    `static QueryConfigurationProvider` | `create(Supplier<QueryFilter> filterSupplier, Supplier<QuerySort> sortSupplier)` Create a new `QueryConfigurationProvider` using given Suppliers to provide the query configuration elements.
    `static QueryConfigurationProvider` | `create(Supplier<QueryFilter> filterSupplier, Supplier<QuerySort> sortSupplier, Supplier<ParameterSet> parametersSupplier)` Create a new `QueryConfigurationProvider` using given Suppliers to provide the query configuration elements.
    `QueryFilter` | `getQueryFilter()` Get the query filter.
    `default ParameterSet` | `getQueryParameters()` Get the query parameters.
    `default QuerySort` | `getQuerySort()` Get the query sort.
    `static QueryConfigurationProvider` | `withFilter(QueryFilter filter)` Create a new `QueryConfigurationProvider` which provides given `QueryFilter`.
    `static QueryConfigurationProvider` | `withFilter(Supplier<QueryFilter> filterSupplier)` Create a new `QueryConfigurationProvider` which provides a `QueryFilter` using given Supplier.
    `static QueryConfigurationProvider` | `withSort(QuerySort sort)` Create a new `QueryConfigurationProvider` which provides given `QuerySort`.
    `static QueryConfigurationProvider` | `withSort(Supplier<QuerySort> sortSupplier)` Create a new `QueryConfigurationProvider` which provides a `QuerySort` using given Supplier.

- - ### Method Detail

    - #### getQueryFilter

          QueryFilter getQueryFilter()

      Get the query filter.
      Returns:
        Query filter, or `null` if none

    - #### getQuerySort

          default QuerySort getQuerySort()

      Get the query sort.

      By default this method returns `null`.

      Returns:
        Query sort, or `null` if none

    - #### getQueryParameters

          default ParameterSet getQueryParameters()

      Get the query parameters.

      By default this method returns `null`.

      Returns:
        Query parameters, or `null` if none

    - #### create

          static QueryConfigurationProvider create(Supplier<QueryFilter> filterSupplier,
                                                   Supplier<QuerySort> sortSupplier,
                                                   Supplier<ParameterSet> parametersSupplier)

      Create a new `QueryConfigurationProvider` using given Suppliers to provide the query configuration elements.
      Parameters:
        `filterSupplier` - `QueryFilter` supplier (not null)
        `sortSupplier` - `QuerySort` supplier (not null)
        `parametersSupplier` - `ParameterSet` supplier (not null)
      Returns:
        A new `QueryConfigurationProvider` instance using given Suppliers to provide the query configuration element
      Since:
        5.2.0

    - #### create

          static QueryConfigurationProvider create(Supplier<QueryFilter> filterSupplier,
                                                   Supplier<QuerySort> sortSupplier)

      Create a new `QueryConfigurationProvider` using given Suppliers to provide the query configuration elements.
      Parameters:
        `filterSupplier` - `QueryFilter` supplier (not null)
        `sortSupplier` - `QuerySort` supplier (not null)
      Returns:
        A new `QueryConfigurationProvider` instance using given Suppliers to provide the query configuration element
      Since:
        5.2.0

    - #### create

          static QueryConfigurationProvider create(QueryFilter filter,
                                                   QuerySort sort)

      Create a new `QueryConfigurationProvider` which provides given `QueryFilter` and `QuerySort`.
      Parameters:
        `filter` - The `QueryFilter` to provide (may be null)
        `sort` - The `QuerySort` to provide (may be null)
      Returns:
        A new `QueryConfigurationProvider` instance using given Suppliers to provide the query configuration element
      Since:
        5.2.0

    - #### withFilter

          static QueryConfigurationProvider withFilter(Supplier<QueryFilter> filterSupplier)

      Create a new `QueryConfigurationProvider` which provides a `QueryFilter` using given Supplier.
      Parameters:
        `filterSupplier` - `QueryFilter` supplier (not null)
      Returns:
        A new `QueryConfigurationProvider` instance
      Since:
        5.2.0

    - #### withFilter

          static QueryConfigurationProvider withFilter(QueryFilter filter)

      Create a new `QueryConfigurationProvider` which provides given `QueryFilter`.
      Parameters:
        `filter` - The `QueryFilter` to provide (may be null)
      Returns:
        A new `QueryConfigurationProvider` instance
      Since:
        5.2.0

    - #### withSort

          static QueryConfigurationProvider withSort(Supplier<QuerySort> sortSupplier)

      Create a new `QueryConfigurationProvider` which provides a `QuerySort` using given Supplier.
      Parameters:
        `sortSupplier` - `QuerySort` supplier (not null)
      Returns:
        A new `QueryConfigurationProvider` instance
      Since:
        5.2.0

    - #### withSort

          static QueryConfigurationProvider withSort(QuerySort sort)

      Create a new `QueryConfigurationProvider` which provides given `QuerySort`.
      Parameters:
        `sort` - The `QuerySort` to provide (may be null)
      Returns:
        A new `QueryConfigurationProvider` instance
      Since:
        5.2.0

    - #### builder

          static QueryConfigurationProvider.Builder builder()

      Obtain a builder to create a `QueryConfigurationProvider` instance.
      Returns:
        QueryConfigurationProvider builder

Copyright © 2019 The Holon Platform. All rights reserved.