All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vaadin.data.provider.BackEndDataProvider Maven / Gradle / Ivy

There is a newer version: 8.27.3
Show newest version
/*
 * Copyright (C) 2000-2024 Vaadin Ltd
 *
 * This program is available under Vaadin Commercial License and Service Terms.
 *
 * See  for the full
 * license.
 */
package com.vaadin.data.provider;

import java.util.Collections;
import java.util.List;
import java.util.Objects;

/**
 * A data provider that lazy loads items from a back end.
 *
 * @param 
 *            data provider data type
 * @param 
 *            data provider filter type
 * @since 8.0
 */
public interface BackEndDataProvider extends DataProvider {

    /**
     * Sets a list of sort orders to use as the default sorting for this data
     * provider. This overrides the sorting set by any other method that
     * manipulates the default sorting of this data provider.
     * 

* The default sorting is used if the query defines no sorting. The default * sorting is also used to determine the ordering of items that are * considered equal by the sorting defined in the query. * * @see #setSortOrder(QuerySortOrder) * * @param sortOrders * a list of sort orders to set, not null */ void setSortOrders(List sortOrders); /** * Sets the sort order to use, given a {@link QuerySortOrderBuilder}. * Shorthand for {@code setSortOrders(builder.build())}. * * @see QuerySortOrderBuilder * * @param builder * the sort builder to retrieve the sort order from * @throws NullPointerException * if builder is null */ default void setSortOrders(QuerySortOrderBuilder builder) { Objects.requireNonNull(builder, "Sort builder cannot be null."); setSortOrders(builder.build()); } /** * Sets a single sort order to use as the default sorting for this data * provider. This overrides the sorting set by any other method that * manipulates the default sorting of this data provider. *

* The default sorting is used if the query defines no sorting. The default * sorting is also used to determine the ordering of items that are * considered equal by the sorting defined in the query. * * @see #setSortOrders(List) * * @param sortOrder * a sort order to set, or null to clear any * previously set sort orders */ default void setSortOrder(QuerySortOrder sortOrder) { if (sortOrder == null) { setSortOrders(Collections.emptyList()); } else { setSortOrders(Collections.singletonList(sortOrder)); } } @Override default boolean isInMemory() { return false; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy