java.lang.Object
org.eclipse.persistence.internal.jpa.parsing.Node
org.eclipse.persistence.internal.jpa.parsing.AggregateNode
All Implemented Interfaces:
AliasableNode
Direct Known Subclasses:
AvgNode, CountNode, MaxNode, MinNode, SumNode

public abstract class AggregateNode extends Node implements AliasableNode
INTERNAL

Purpose: Superclass for Aggregate Nodes

Responsibilities:

  • Apply itself to a query correctly
Since:
TopLink 5.0
  • Constructor Details

    • AggregateNode

      public AggregateNode()
  • Method Details

    • resolveAttribute

      public String resolveAttribute()
      INTERNAL
      Overrides:
      resolveAttribute in class Node
    • resolveClass

      public Class<?> resolveClass(GenerationContext context)
      resolveClass: Answer the class associated with my left node.
      Overrides:
      resolveClass in class Node
    • isAggregateNode

      public boolean isAggregateNode()
      INTERNAL Is this node an Aggregate node
      Overrides:
      isAggregateNode in class Node
    • usesDistinct

      public boolean usesDistinct()
    • setDistinct

      public void setDistinct(boolean distinct)
    • generateExpression

      public Expression generateExpression(GenerationContext context)
      INTERNAL Return a EclipseLink expression generated using the left node
      Overrides:
      generateExpression in class Node
    • addAggregateExression

      protected abstract Expression addAggregateExression(Expression expr)
      INTERNAL
    • isAliasableNode

      public boolean isAliasableNode()
      Overrides:
      isAliasableNode in class Node