/******************************************************************************* * Copyright (c) 2008 - 2012 Oracle Corporation. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Linda DeMichiel - Java Persistence 2.1 * Linda DeMichiel - Java Persistence 2.0 * ******************************************************************************/ package javax.persistence.criteria; /** * The CommonAbstractCriteria interface defines functionality * that is common to both top-level criteria queries and subqueries as * well as to update and delete criteria operations. * It is not intended to be used directly in query construction. * *

Note that criteria queries and criteria update and delete operations * are typed differently. * Criteria queries are typed according to the query result type. * Update and delete operations are typed according to the target of the * update or delete. * * @since Java Persistence 2.1 */ public interface CommonAbstractCriteria { /** * Create a subquery of the query. * @param type the subquery result type * @return subquery */ Subquery subquery(Class type); /** * Return the predicate that corresponds to the where clause * restriction(s), or null if no restrictions have been * specified. * @return where clause predicate */ Predicate getRestriction(); }