/*******************************************************************************
* Copyright (c) 2008 - 2013 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(); }