/** * Licensed to The Apereo Foundation under one or more contributor license * agreements. See the NOTICE file distributed with this work for additional * information regarding copyright ownership. * * * The Apereo Foundation licenses this file to you under the Educational * Community License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of the License * at: * * http://opensource.org/licenses/ecl2.txt * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. * */ package org.opencastproject.index.service.resources.list.api; import org.opencastproject.util.data.Option; import java.util.List; /** * Query for the resource list */ public interface ResourceListQuery { /** * Returns all the {@link ResourceListFilter} set for the query. * * @return all the query filters */ List<ResourceListFilter<?>> getFilters(); /** * Returns all the available {@link ResourceListFilter} filters with this query. The objects returned in the list are * simple instance without any filter value set. * * @return all the available filters */ List<ResourceListFilter<?>> getAvailableFilters(); /** * Returns the filter with the given name * * @param name * * @return the query filter or null if the filter does not exist */ ResourceListFilter<?> getFilter(String name); /** * Returns the limit for the resource query * * @return the list limit */ Option<Integer> getLimit(); /** * Returns the offset for the resource query * * @return the list offset */ Option<Integer> getOffset(); /** * Returns the name of the field by which the list should be sorted * * @return the name of the field to use to sort the list */ Option<String> getSortBy(); /** * Returns if the given filter is or not set * * @param name * the filter name * @return true if set */ Boolean hasFilter(String name); }