Class JoinNode

java.lang.Object
com.blazebit.persistence.impl.JoinNode
All Implemented Interfaces:
From, BaseNode, ExpressionModifier

public class JoinNode extends Object implements From, ExpressionModifier, BaseNode
Since:
1.0.0
Author:
Christian Beikov, Moritz Becker
  • Method Details

    • createRootNode

      public static JoinNode createRootNode(javax.persistence.metamodel.EntityType<?> nodeType, JoinAliasInfo aliasInfo)
    • createSimpleValuesRootNode

      public static JoinNode createSimpleValuesRootNode(MainQuery mainQuery, Class<?> nodeType, int valueCount, JoinAliasInfo aliasInfo)
    • createValuesRootNode

      public static JoinNode createValuesRootNode(javax.persistence.metamodel.Type<?> nodeType, javax.persistence.metamodel.EntityType<?> valueType, String valuesTypeName, int valueCount, Set<String> valuesIdName, String valuesLikeClause, String qualificationExpression, boolean valueClazzAttributeSingular, boolean valueClazzSimpleValue, String valuesLikeAttribute, String valuesCastedParameter, String[] valuesAttributes, JoinAliasInfo aliasInfo)
    • createCorrelationRootNode

      public static JoinNode createCorrelationRootNode(JoinNode correlationParent, String correlationPath, javax.persistence.metamodel.Attribute<?,?> correlatedAttribute, javax.persistence.metamodel.Type<?> nodeType, javax.persistence.metamodel.EntityType<?> treatType, JoinAliasInfo aliasInfo, boolean lateral)
    • createEntityJoinNode

      public static JoinNode createEntityJoinNode(JoinNode parent, JoinType joinType, javax.persistence.metamodel.EntityType<?> nodeType, JoinAliasInfo aliasInfo, boolean lateral)
    • createAssociationJoinNode

      public static JoinNode createAssociationJoinNode(JoinNode parent, JoinTreeNode parentTreeNode, JoinType joinType, javax.persistence.metamodel.Type<?> nodeType, javax.persistence.metamodel.EntityType<?> treatType, String qualificationExpression, JoinAliasInfo aliasInfo)
    • cloneRootNode

      public JoinNode cloneRootNode(JoinAliasInfo aliasInfo)
    • cloneJoinNode

      public JoinNode cloneJoinNode(JoinNode parent, JoinTreeNode parentTreeNode, JoinAliasInfo aliasInfo)
    • isCardinalityMandatory

      public boolean isCardinalityMandatory()
    • containsNode

      public boolean containsNode(JoinNode n, String joinRelationName)
    • registerDependencies

      public void registerDependencies()
    • set

      public void set(Expression expression)
      Specified by:
      set in interface ExpressionModifier
    • get

      public Expression get()
      Specified by:
      get in interface ExpressionModifier
    • accept

      public void accept(ExpressionModifierVisitor<? super ExpressionModifier> visitor)
    • accept

      public void accept(JoinNodeVisitor visitor)
    • accept

      public <T> T accept(AbortableResultJoinNodeVisitor<T> visitor)
    • getTreatedJoinNode

      public JoinNode getTreatedJoinNode(javax.persistence.metamodel.EntityType<?> type)
    • getClauseDependencies

      public EnumSet<ClauseType> getClauseDependencies()
    • updateClauseDependencies

      public boolean updateClauseDependencies(ClauseType clauseDependency, Set<JoinNode> seenNodes)
    • getParentTreeNode

      public JoinTreeNode getParentTreeNode()
    • getParent

      public JoinNode getParent()
    • getAliasInfo

      public JoinAliasInfo getAliasInfo()
    • getJoinType

      public JoinType getJoinType()
    • setJoinType

      public void setJoinType(JoinType joinType)
    • isFetch

      public boolean isFetch()
    • setFetch

      public void setFetch(boolean fetch)
    • hasChildNodes

      public boolean hasChildNodes()
    • getNodes

      public NavigableMap<String,JoinTreeNode> getNodes()
    • getTreatedJoinNodes

      public NavigableMap<String,JoinNode> getTreatedJoinNodes()
    • getKeyJoinNode

      public JoinNode getKeyJoinNode()
    • getOrCreateTreeNode

      public JoinTreeNode getOrCreateTreeNode(String joinRelationName, javax.persistence.metamodel.Attribute<?,?> attribute)
    • getDefaultJoin

      public JoinNode getDefaultJoin(List<PathElementExpression> pathElements, int start, int end)
    • hasDefaultJoin

      public boolean hasDefaultJoin(String joinRelationName)
    • getEntityJoinNodes

      public Set<JoinNode> getEntityJoinNodes()
    • addEntityJoin

      public void addEntityJoin(JoinNode entityJoinNode)
    • getNodeType

      public javax.persistence.metamodel.Type<?> getNodeType()
    • getEntityType

      public javax.persistence.metamodel.EntityType<?> getEntityType()
    • getInternalEntityType

      public javax.persistence.metamodel.EntityType<?> getInternalEntityType()
    • getManagedType

      public javax.persistence.metamodel.ManagedType<?> getManagedType()
    • getBaseType

      public javax.persistence.metamodel.Type<?> getBaseType()
    • getTreatType

      public javax.persistence.metamodel.EntityType<?> getTreatType()
    • isTreatJoinNode

      public boolean isTreatJoinNode()
    • isTreatedJoinNode

      public boolean isTreatedJoinNode()
    • isEntityJoinNode

      public boolean isEntityJoinNode()
    • isRootJoinNode

      public boolean isRootJoinNode()
    • isDefaultJoinNode

      public boolean isDefaultJoinNode()
    • getValueCount

      public int getValueCount()
    • getValueType

      public javax.persistence.metamodel.EntityType<?> getValueType()
    • isValueClazzAttributeSingular

      public boolean isValueClazzAttributeSingular()
    • isValueClazzSimpleValue

      public boolean isValueClazzSimpleValue()
    • getValuesLikeAttribute

      public String getValuesLikeAttribute()
    • getValueClazzAlias

      public String getValueClazzAlias(String prefix)
    • appendValueClazzAlias

      public void appendValueClazzAlias(StringBuilder sb, String prefix)
    • getValuesIdNames

      public Set<String> getValuesIdNames()
    • getValuesLikeClause

      public String getValuesLikeClause()
    • getValuesCastedParameter

      public String getValuesCastedParameter()
    • getValuesAttributes

      public String[] getValuesAttributes()
    • getCorrelationParent

      public JoinNode getCorrelationParent()
    • getCorrelationPath

      public String getCorrelationPath()
    • getOnPredicate

      public CompoundPredicate getOnPredicate()
    • setOnPredicate

      public void setOnPredicate(CompoundPredicate onPredicate)
    • getDependencies

      public Set<JoinNode> getDependencies()
    • dependsOn

      public boolean dependsOn(JoinNode tableReference)
    • isCollection

      public boolean isCollection(com.blazebit.persistence.impl.ConstantifiedJoinNodeAttributeCollector constantifiedJoinNodeAttributeCollector)
    • getQualificationExpression

      public String getQualificationExpression()
    • isQualifiedJoin

      public boolean isQualifiedJoin()
    • isLateral

      public boolean isLateral()
    • setInlineCte

      public void setInlineCte(com.blazebit.persistence.impl.CTEInfo inlineCte)
    • getInlineCte

      public com.blazebit.persistence.impl.CTEInfo getInlineCte()
    • isInlineCte

      public boolean isInlineCte()
    • setAllowedDeReferences

      public void setAllowedDeReferences(Set<String> allowedAttributes)
    • setDisallowedDeReferenceAlias

      public void setDisallowedDeReferenceAlias(String disallowedDeReferenceAlias)
    • getDisallowedDeReferenceAlias

      public String getDisallowedDeReferenceAlias()
    • isDisallowedDeReferenceUsed

      public boolean isDisallowedDeReferenceUsed()
    • isParent

      public boolean isParent(JoinNode parent)
    • createExpression

      public Expression createExpression(String field)
      Specified by:
      createExpression in interface BaseNode
    • createPathExpression

      public PathExpression createPathExpression(String field)
      Specified by:
      createPathExpression in interface BaseNode
    • createExpression

      public Expression createExpression(String field, boolean asPath)
    • appendDeReference

      public void appendDeReference(StringBuilder sb, String property, boolean externalRepresentation)
    • appendDeReference

      public void appendDeReference(StringBuilder sb, String property, boolean renderTreat, boolean externalRepresentation, boolean requiresElementCollectionIdCutoff)
    • appendAlias

      public void appendAlias(StringBuilder sb, boolean externalRepresentation)
    • appendAlias

      public void appendAlias(StringBuilder sb, boolean renderTreat, boolean externalRepresentation)
    • getDeReferenceFunction

      public String getDeReferenceFunction()
    • setDeReferenceFunction

      public void setDeReferenceFunction(String deReferenceFunction)
    • isCrossJoin

      public boolean isCrossJoin()
    • setCrossJoin

      public void setCrossJoin()
    • isCollectionDmlNode

      public boolean isCollectionDmlNode(boolean externalRepresentation)
    • getAlias

      public String getAlias()
      Specified by:
      getAlias in interface From
    • getAliasExpression

      public String getAliasExpression()
    • getType

      public javax.persistence.metamodel.Type<?> getType()
      Specified by:
      getType in interface From
    • getJavaType

      public Class<?> getJavaType()
      Specified by:
      getJavaType in interface From
    • getJoinDepth

      public int getJoinDepth()