/* * Copyright 2008 Alberto Gimeno <gimenete at gmail.com> * * Licensed under the Apache 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://www.apache.org/licenses/LICENSE-2.0 * * 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 siena; import java.io.Serializable; import java.util.List; import java.util.Map; import siena.core.options.QueryOption; /** * The Siena interface for storing query data. * it extends Serializable so that all queries are serializable * * @author mandubian <pascal.voitot@mandubian.org> * */ public interface QueryData<T> extends Serializable{ /** * finds an option from its identifier * * @param option the option identifier * @return the found QueryOption */ QueryOption option(int option); /** * retrieves all options * * @return the map of <Integer, QueryOption> */ Map<Integer, QueryOption> options(); List<QueryFilter> getFilters(); List<QueryOrder> getOrders(); List<QueryFilterSearch> getSearches(); List<QueryJoin> getJoins(); List<QueryAggregated> getAggregatees(); List<QueryOwned> getOwnees(); Class<T> getQueriedClass(); }