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

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

Go to download

The Java Persistence API (JPA) : a standard interface-based Java model abstraction of persistence, developed by the JCP.

There is a newer version: 2.2.4
Show 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 */ @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 * @param type */ 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 * @param type */ 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 * @param type */ CollectionJoin join(CollectionAttribute collection); /** * Create an inner join to the specified Set-valued attribute. * @param set target of the join * @return the resulting join * @param type */ SetJoin join(SetAttribute set); /** * Create an inner join to the specified List-valued attribute. * @param list target of the join * @return the resulting join * @param type */ ListJoin join(ListAttribute list); /** * Create an inner join to the specified Map-valued attribute. * @param map target of the join * @return the resulting join * @param Key type * @param Value type */ 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 * @param type */ 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 * @param type */ 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 * @param type */ 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 * @param Key type * @param Value type */ 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 * @param type * @param type */ 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 * @param type * @param type */ 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 * @param type * @param type */ 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 * @param type * @param type */ 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 * @param type * @param Key type * @param Value type */ 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 * @param type * @param type */ 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 * @param type * @param type */ 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 * @param type * @param type */ 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 * @param type * @param type */ 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 * @param type * @param Key type * @param Value type */ MapJoin joinMap(String attributeName, JoinType jt); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy