All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.persistence.criteria.From Maven / Gradle / Ivy

Go to download

Clean-room definition of JPA APIs intended for use in developing Hibernate JPA implementation. See README.md for details

The newest version!
/*
 * Copyright (c) 2008, 2009, 2011 Oracle, Inc. 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.
 */
package javax.persistence.criteria;

import javax.persistence.metamodel.CollectionAttribute;
import javax.persistence.metamodel.ListAttribute;
import javax.persistence.metamodel.MapAttribute;
import javax.persistence.metamodel.SetAttribute;
import javax.persistence.metamodel.SingularAttribute;
import java.util.Set;

/**
 * Represents a bound type, usually an entity that appears in
 * the from clause, but may also be an embeddable belonging to
 * an entity in the from clause.
 * 

Serves as a factory for Joins of associations, embeddables, and * collections belonging to the type, and for Paths of attributes * belonging to the type. * * @param the source type * @param the target type * @since Java Persistence 2.0 */ @SuppressWarnings("hiding") public interface From extends Path, FetchParent { /** * Return the joins that have been made from this bound type. * Returns empty set if no joins have been made from this * bound type. * Modifications to the set do not affect the query. * * @return joins made from this type */ Set> getJoins(); /** * Whether the From object has been obtained as a result of * correlation (use of a Subquery correlate * method). * * @return boolean indicating whether the object has been * obtained through correlation */ boolean isCorrelated(); /** * Returns the parent From object from which the correlated * From object has been obtained through correlation (use * of a Subquery correlate method). * * @return the parent of the correlated From object * * @throws IllegalStateException if the From object has * not been obtained through correlation */ From getCorrelationParent(); /** * Create an inner join to the specified single-valued * attribute. * * @param attribute target of the join * * @return the resulting join */ Join join(SingularAttribute attribute); /** * Create a join to the specified single-valued attribute * using the given join type. * * @param attribute target of the join * @param jt join type * * @return the resulting join */ Join join(SingularAttribute attribute, JoinType jt); /** * Create an inner join to the specified Collection-valued * attribute. * * @param collection target of the join * * @return the resulting join */ CollectionJoin join(CollectionAttribute collection); /** * Create an inner join to the specified Set-valued attribute. * * @param set target of the join * * @return the resulting join */ SetJoin join(SetAttribute set); /** * Create an inner join to the specified List-valued attribute. * * @param list target of the join * * @return the resulting join */ ListJoin join(ListAttribute list); /** * Create an inner join to the specified Map-valued attribute. * * @param map target of the join * * @return the resulting join */ MapJoin join(MapAttribute map); /** * Create a join to the specified Collection-valued attribute * using the given join type. * * @param collection target of the join * @param jt join type * * @return the resulting join */ CollectionJoin join(CollectionAttribute collection, JoinType jt); /** * Create a join to the specified Set-valued attribute using * the given join type. * * @param set target of the join * @param jt join type * * @return the resulting join */ SetJoin join(SetAttribute set, JoinType jt); /** * Create a join to the specified List-valued attribute using * the given join type. * * @param list target of the join * @param jt join type * * @return the resulting join */ ListJoin join(ListAttribute list, JoinType jt); /** * Create a join to the specified Map-valued attribute using * the given join type. * * @param map target of the join * @param jt join type * * @return the resulting join */ MapJoin join(MapAttribute map, JoinType jt); //String-based: /** * Create an inner join to the specified attribute. * * @param attributeName name of the attribute for the * target of the join * * @return the resulting join * * @throws IllegalArgumentException if attribute of the given * name does not exist */ Join join(String attributeName); /** * Create an inner join to the specified Collection-valued * attribute. * * @param attributeName name of the attribute for the * target of the join * * @return the resulting join * * @throws IllegalArgumentException if attribute of the given * name does not exist */ CollectionJoin joinCollection(String attributeName); /** * Create an inner join to the specified Set-valued attribute. * * @param attributeName name of the attribute for the * target of the join * * @return the resulting join * * @throws IllegalArgumentException if attribute of the given * name does not exist */ SetJoin joinSet(String attributeName); /** * Create an inner join to the specified List-valued attribute. * * @param attributeName name of the attribute for the * target of the join * * @return the resulting join * * @throws IllegalArgumentException if attribute of the given * name does not exist */ ListJoin joinList(String attributeName); /** * Create an inner join to the specified Map-valued attribute. * * @param attributeName name of the attribute for the * target of the join * * @return the resulting join * * @throws IllegalArgumentException if attribute of the given * name does not exist */ MapJoin joinMap(String attributeName); /** * Create a join to the specified attribute using the given * join type. * * @param attributeName name of the attribute for the * target of the join * @param jt join type * * @return the resulting join * * @throws IllegalArgumentException if attribute of the given * name does not exist */ Join join(String attributeName, JoinType jt); /** * Create a join to the specified Collection-valued attribute * using the given join type. * * @param attributeName name of the attribute for the * target of the join * @param jt join type * * @return the resulting join * * @throws IllegalArgumentException if attribute of the given * name does not exist */ CollectionJoin joinCollection(String attributeName, JoinType jt); /** * Create a join to the specified Set-valued attribute using * the given join type. * * @param attributeName name of the attribute for the * target of the join * @param jt join type * * @return the resulting join * * @throws IllegalArgumentException if attribute of the given * name does not exist */ SetJoin joinSet(String attributeName, JoinType jt); /** * Create a join to the specified List-valued attribute using * the given join type. * * @param attributeName name of the attribute for the * target of the join * @param jt join type * * @return the resulting join * * @throws IllegalArgumentException if attribute of the given * name does not exist */ ListJoin joinList(String attributeName, JoinType jt); /** * Create a join to the specified Map-valued attribute using * the given join type. * * @param attributeName name of the attribute for the * target of the join * @param jt join type * * @return the resulting join * * @throws IllegalArgumentException if attribute of the given * name does not exist */ MapJoin joinMap(String attributeName, JoinType jt); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy