/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or http://www.gnu.org/licenses/lgpl-2.1.html */ package org.hibernate.query.sqm.tree; import org.hibernate.query.sqm.tree.from.SqmFromClauseContainer; import org.hibernate.query.sqm.tree.order.SqmOrderByClause; import org.hibernate.query.sqm.tree.predicate.SqmWhereClause; import org.hibernate.query.sqm.tree.select.SqmSelectClause; import org.hibernate.query.sqm.tree.from.SqmFromClause; import org.hibernate.query.sqm.tree.paging.SqmLimitOffsetClause; import org.hibernate.query.sqm.tree.predicate.SqmWhereClauseContainer; /** * Defines the commonality between a root query and a subquery. * * @author Steve Ebersole */ public class SqmQuerySpec implements SqmFromClauseContainer, SqmWhereClauseContainer { private final SqmFromClause fromClause; private final SqmSelectClause selectClause; private final SqmWhereClause whereClause; private final SqmOrderByClause orderByClause; private final SqmLimitOffsetClause limitOffsetClause; // todo : group-by + having public SqmQuerySpec( SqmFromClause fromClause, SqmSelectClause selectClause, SqmWhereClause whereClause, SqmOrderByClause orderByClause, SqmLimitOffsetClause limitOffsetClause) { this.fromClause = fromClause; this.selectClause = selectClause; this.whereClause = whereClause; this.orderByClause = orderByClause; this.limitOffsetClause = limitOffsetClause; } public SqmSelectClause getSelectClause() { return selectClause; } @Override public SqmFromClause getFromClause() { return fromClause; } public SqmWhereClause getWhereClause() { return whereClause; } public SqmOrderByClause getOrderByClause() { return orderByClause; } public SqmLimitOffsetClause getLimitOffsetClause() { return limitOffsetClause; } }