Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Hibernate, Relational Persistence for Idiomatic Java
   *
   * Copyright (c) 2009 by Red Hat Inc and/or its affiliates or by
   * third-party contributors as indicated by either @author tags or express
   * copyright attribution statements applied by the authors.  All
   * third-party contributions are distributed under license by Red Hat Inc.
   *
   * This copyrighted material is made available to anyone wishing to use, modify,
  * copy, or redistribute it subject to the terms and conditions of the GNU
  * Lesser General Public License, as published by the Free Software Foundation.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
  * for more details.
  *
  * You should have received a copy of the GNU Lesser General Public License
  * along with this distribution; if not, write to:
  * Free Software Foundation, Inc.
  * 51 Franklin Street, Fifth Floor
  * Boston, MA  02110-1301  USA
  */
 package org.hibernate.ejb.criteria;
 
 import java.util.List;
 import java.util.Set;
 
The Hibernate implementation of the JPA javax.persistence.criteria.Subquery contract. Mostlty a set of delegation to its internal QueryStructure.

Author(s):
Steve Ebersole
 
 public class CriteriaSubqueryImpl<T> extends ExpressionImpl<T> implements Subquery<T>, Serializable {
 	private final AbstractQuery<?> parent;
 	private final QueryStructure<T> queryStructure;
 
 			CriteriaBuilderImpl criteriaBuilder,
 			Class<T> javaType,
 			AbstractQuery<?> parent) {
 		supercriteriaBuilderjavaType);
 		this. = parent;
 		this. = new QueryStructure<T>( thiscriteriaBuilder );
 	}

 
 	public AbstractQuery<?> getParent() {
 		return ;
 	}

 
 	public void registerParameters(ParameterRegistry registry) {
 		for ( ParameterExpression param : .getParameters() ) {
 			registry.registerParameterparam );
 		}
 	}

 
 	public Class<T> getResultType() {
 		return getJavaType();
 	}
 
 
 	// ROOTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 	public Set<Root<?>> getRoots() {
 	}

 
	public <X> Root<X> from(EntityType<X> entityType) {
		return .fromentityType );
	}

	public <X> Root<X> from(Class<X> entityClass) {
		return .fromentityClass );
	}
	// SELECTION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	public Subquery<T> distinct(boolean applyDistinction) {
		.setDistinctapplyDistinction );
		return this;
	}
	public boolean isDistinct() {
	}
	public Expression<T> getSelection() {
	}
	public Subquery<T> select(Expression<T> expression) {
		return this;
	}
	// RESTRICTION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	}

	public Subquery<T> where(Expression<Booleanexpression) {
		return this;
	}

	public Subquery<T> where(Predicate... predicates) {
		// TODO : assuming this should be a conjuntion, but the spec does not say specifically...
		return this;
	}
	// GROUPING ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	public List<Expression<?>> getGroupList() {
	}

	public Subquery<T> groupBy(Expression<?>... groupings) {
		return this;
	}

	public Subquery<T> groupBy(List<Expression<?>> groupings) {
		return this;
	}

	}

	public Subquery<T> having(Expression<Booleanexpression) {
		return this;
	}

	public Subquery<T> having(Predicate... predicates) {
		return this;
	}
	// CORRELATIONS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    public Set<Join<?, ?>> getCorrelatedJoins() {
	}

	public <Y> Root<Y> correlate(Root<Y> source) {
		final RootImpl<Y> correlation = ( ( RootImpl<Y> ) source ).correlateTothis );
		return correlation;
	}

	public <X, Y> Join<X, Y> correlate(Join<X, Y> source) {
		final JoinImplementor<X,Y> correlation = ( (JoinImplementor<X,Y>) source ).correlateTothis );
		return correlation;
	}

	public <X, Y> CollectionJoin<X, Y> correlate(CollectionJoin<X, Y> source) {
		final CollectionJoinImplementor<X,Y> correlation = ( (CollectionJoinImplementor<X,Y>) source ).correlateTothis );
		return correlation;
	}

	public <X, Y> SetJoin<X, Y> correlate(SetJoin<X, Y> source) {
		final SetJoinImplementor<X,Y> correlation = ( (SetJoinImplementor<X,Y>) source ).correlateTothis );
		return correlation;
	}

	public <X, Y> ListJoin<X, Y> correlate(ListJoin<X, Y> source) {
		final ListJoinImplementor<X,Y> correlation = ( (ListJoinImplementor<X,Y>) source ).correlateTothis );
		return correlation;
	}

	public <X, K, V> MapJoin<X, K, V> correlate(MapJoin<X, K, V> source) {
		final MapJoinImplementor<X, K, V> correlation = ( (MapJoinImplementor<X, K, V>) source ).correlateTothis );
		return correlation;
	}

	public <U> Subquery<U> subquery(Class<U> subqueryType) {
		return .subquerysubqueryType );
	}
	public String render(CriteriaQueryCompiler.RenderingContext renderingContext) {
		StringBuilder subqueryBuffer = new StringBuilder"(" );
		.rendersubqueryBufferrenderingContext );
		subqueryBuffer.append')' );
		return subqueryBuffer.toString();
	}
		throw new IllegalStateException"Subquery cannot occur in select clause" );
	}
New to GrepCode? Check out our FAQ X