@Override public Stream<T> fetch(Query<T, F> query) { return fetchFromBackEnd(mixInSortOrders(query)); }
@Override public void setSortOrders(List<QuerySortOrder> sortOrders) { this.sortOrders = Objects.requireNonNull(sortOrders, "Sort orders cannot be null"); refreshAll(); }
@Override public int size(Query<T, F> query) { return sizeInBackEnd(mixInSortOrders(query)); }
@Override public Object getId(ITEM item) { if (getItemIdentifier().isPresent()) { return getItemIdentifier().get().getItemId(item); } return super.getId(item); }
@Override public Object getId(PropertyBox item) { if (getItemIdentifier().isPresent()) { return getItemIdentifier().get().getItemId(item); } return super.getId(item); }
@Override public Object getId(ITEM item) { if (getDataSource().getConfiguration().getItemIdentifierProvider().isPresent()) { return getDataSource().getConfiguration().getItemIdentifierProvider().get().getItemId(item); } return super.getId(item); }