org.hibernate.ejb.criteria.path
Class PluralAttributeJoinSupport<O,C,E>

java.lang.Object
  extended by org.hibernate.ejb.criteria.AbstractNode
      extended by org.hibernate.ejb.criteria.expression.AbstractTupleElement<X>
          extended by org.hibernate.ejb.criteria.expression.SelectionImpl<T>
              extended by org.hibernate.ejb.criteria.expression.ExpressionImpl<X>
                  extended by org.hibernate.ejb.criteria.path.AbstractPathImpl<X>
                      extended by org.hibernate.ejb.criteria.path.AbstractFromImpl<Z,X>
                          extended by org.hibernate.ejb.criteria.path.AbstractJoinImpl<O,E>
                              extended by org.hibernate.ejb.criteria.path.PluralAttributeJoinSupport<O,C,E>
All Implemented Interfaces:
Serializable, Expression<E>, Fetch<O,E>, FetchParent<O,E>, From<O,E>, Join<O,E>, Path<E>, PluralJoin<O,C,E>, Selection<E>, TupleElement<E>, ExpressionImplementor<E>, FromImplementor<O,E>, JoinImplementor<O,E>, ParameterContainer, PathImplementor<E>, PathSource<E>, Renderable, SelectionImplementor<E>, TupleElementImplementor<E>
Direct Known Subclasses:
CollectionAttributeJoin, ListAttributeJoin, MapAttributeJoin, SetAttributeJoin

public abstract class PluralAttributeJoinSupport<O,C,E>
extends AbstractJoinImpl<O,E>
implements PluralJoin<O,C,E>

Support for defining joins to plural attributes (JPA requires typing based on the specific collection type so we cannot really implement all support in a single class)

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.hibernate.ejb.criteria.path.AbstractFromImpl
AbstractFromImpl.BasicJoinScope, AbstractFromImpl.CorrelationJoinScope, AbstractFromImpl.JoinScope<X>
 
Nested classes/interfaces inherited from interface org.hibernate.ejb.criteria.ParameterContainer
ParameterContainer.Helper
 
Field Summary
 
Fields inherited from class org.hibernate.ejb.criteria.path.AbstractFromImpl
DEFAULT_JOIN_TYPE
 
Constructor Summary
PluralAttributeJoinSupport(CriteriaBuilderImpl criteriaBuilder, Class<E> javaType, PathSource<O> pathSource, Attribute<? super O,?> joinAttribute, JoinType joinType)
           
 
Method Summary
protected  boolean canBeDereferenced()
           
protected  boolean canBeJoinSource()
           
 PluralAttribute<? super O,C,E> getAttribute()
          Retrieve reference to the attribute this path represents.
 PluralAttribute<? super O,C,E> getModel()
           
 boolean isBasicCollection()
           
protected  ManagedType<E> locateManagedType()
           
 
Methods inherited from class org.hibernate.ejb.criteria.path.AbstractJoinImpl
correlateTo, getJoinType, getParent, renderTableExpression
 
Methods inherited from class org.hibernate.ejb.criteria.path.AbstractFromImpl
canBeFetchSource, createCorrelationDelegate, fetch, fetch, fetch, fetch, fetch, fetch, getAlias, getCorrelationParent, getFetches, getJoins, getPathIdentifier, getPathSource, isCorrelated, join, join, join, join, join, join, join, join, join, join, join, join, joinCollection, joinCollection, joinList, joinList, joinMap, joinMap, joinSet, joinSet, locateAttributeInternal, prepareAlias, prepareCorrelationDelegate, render, renderProjection
 
Methods inherited from class org.hibernate.ejb.criteria.path.AbstractPathImpl
get, get, get, get, getParentPath, illegalDereference, locateAttribute, registerAttributePath, registerParameters, resolveCachedAttributePath, type, unknownAttribute
 
Methods inherited from class org.hibernate.ejb.criteria.expression.ExpressionImpl
as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, in, in, in, in, isNotNull, isNull
 
Methods inherited from class org.hibernate.ejb.criteria.expression.SelectionImpl
alias, getCompoundSelectionItems, getValueHandlers, isCompoundSelection
 
Methods inherited from class org.hibernate.ejb.criteria.expression.AbstractTupleElement
forceConversion, getJavaType, getValueHandler, resetJavaType, setAlias
 
Methods inherited from class org.hibernate.ejb.criteria.AbstractNode
criteriaBuilder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.persistence.criteria.Join
getJoinType, getParent
 
Methods inherited from interface javax.persistence.criteria.From
getCorrelationParent, getJoins, isCorrelated, join, join, join, join, join, join, join, join, join, join, join, join, joinCollection, joinCollection, joinList, joinList, joinMap, joinMap, joinSet, joinSet
 
Methods inherited from interface javax.persistence.criteria.Path
get, get, get, get, getParentPath, type
 
Methods inherited from interface javax.persistence.criteria.Expression
as, in, in, in, in, isNotNull, isNull
 
Methods inherited from interface javax.persistence.criteria.Selection
alias, getCompoundSelectionItems, isCompoundSelection
 
Methods inherited from interface javax.persistence.TupleElement
getAlias, getJavaType
 
Methods inherited from interface javax.persistence.criteria.FetchParent
fetch, fetch, fetch, fetch, fetch, fetch, getFetches
 
Methods inherited from interface org.hibernate.ejb.criteria.FromImplementor
getCorrelationParent, prepareAlias, prepareCorrelationDelegate
 
Methods inherited from interface org.hibernate.ejb.criteria.ExpressionImplementor
asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString
 
Methods inherited from interface org.hibernate.ejb.criteria.SelectionImplementor
getValueHandlers
 
Methods inherited from interface org.hibernate.ejb.criteria.TupleElementImplementor
getValueHandler
 
Methods inherited from interface org.hibernate.ejb.criteria.Renderable
render, renderProjection
 
Methods inherited from interface org.hibernate.ejb.criteria.PathSource
getPathIdentifier
 

Constructor Detail

PluralAttributeJoinSupport

public PluralAttributeJoinSupport(CriteriaBuilderImpl criteriaBuilder,
                                  Class<E> javaType,
                                  PathSource<O> pathSource,
                                  Attribute<? super O,?> joinAttribute,
                                  JoinType joinType)
Method Detail

getAttribute

public PluralAttribute<? super O,C,E> getAttribute()
Description copied from class: AbstractJoinImpl
Retrieve reference to the attribute this path represents.

Specified by:
getAttribute in interface Fetch<O,E>
Specified by:
getAttribute in interface Join<O,E>
Specified by:
getAttribute in interface PathImplementor<E>
Overrides:
getAttribute in class AbstractJoinImpl<O,E>
Returns:
The metamodel attribute.

getModel

public PluralAttribute<? super O,C,E> getModel()
Specified by:
getModel in interface Path<E>
Specified by:
getModel in interface PluralJoin<O,C,E>

locateManagedType

protected ManagedType<E> locateManagedType()
Overrides:
locateManagedType in class AbstractFromImpl<O,E>

isBasicCollection

public boolean isBasicCollection()

canBeDereferenced

protected boolean canBeDereferenced()
Overrides:
canBeDereferenced in class AbstractFromImpl<O,E>

canBeJoinSource

protected boolean canBeJoinSource()
Specified by:
canBeJoinSource in class AbstractFromImpl<O,E>


Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.