org.apache.openjpa.jdbc.kernel.exps
Class Count

java.lang.Object
  extended by org.apache.openjpa.jdbc.kernel.exps.AbstractVal
      extended by org.apache.openjpa.jdbc.kernel.exps.UnaryOp
          extended by org.apache.openjpa.jdbc.kernel.exps.Count
All Implemented Interfaces:
Serializable, Val, Value

 class Count
extends UnaryOp

Count non-null values.

Author:
Abe White

Field Summary
 
Fields inherited from class org.apache.openjpa.jdbc.kernel.exps.AbstractVal
FALSE, TRUE
 
Fields inherited from interface org.apache.openjpa.jdbc.kernel.exps.Val
ABS_VAL, ARGS_VAL, CMP_EQUAL, COALESCE_VAL, CONCAT_VAL, FORCE_OUTER, GENERALCASE_VAL, INDEXOF_VAL, JOIN_REL, LENGTH_VAL, LOCATE_VAL, LOWER_VAL, MATH_VAL, NULL_CMP, NULLIF_VAL, SIMPLECASE_VAL, SQRT_VAL, SUBSTRING_VAL, TRIM_VAL, UPPER_VAL, VAL, WHENCONDITION_VAL, WHENSCALAR_VAL
 
Constructor Summary
Count(Val val)
          Constructor.
 
Method Summary
 void appendTo(Select sel, ExpContext ctx, ExpState state, SQLBuffer sql, int index)
          Overrides SQL formation by replacing COUNT(column) by COUNT(*) when specific conditions are met and DBDictionary configuration useWildCardForCount is set.
protected  String getOperator()
          Return the name of this operator.
protected  Class getType(Class c)
          Return the type of this value based on the argument type.
 ExpState initialize(Select sel, ExpContext ctx, int flags)
          Initialize the value.
 boolean isAggregate()
          Return true if this value is an aggregate.
 boolean isCountDistinctMultiCols()
           
 
Methods inherited from class org.apache.openjpa.jdbc.kernel.exps.UnaryOp
acceptVisit, calculateValue, getMetaData, getNoParen, getType, getValue, groupBy, initializeValue, length, load, orderBy, select, selectColumns, setImplicitType, setMetaData
 
Methods inherited from class org.apache.openjpa.jdbc.kernel.exps.AbstractVal
appendIndex, appendIsEmpty, appendIsNotEmpty, appendIsNotNull, appendIsNull, appendSize, appendType, getAlias, getId, getName, getPath, getSelectAs, isVariable, isXPath, setAlias, toDataStoreValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Count

public Count(Val val)
Constructor. Provide the value to operate on.

Method Detail

initialize

public ExpState initialize(Select sel,
                           ExpContext ctx,
                           int flags)
Description copied from interface: Val
Initialize the value. This method should recursively initialize any sub-values.

Specified by:
initialize in interface Val
Overrides:
initialize in class UnaryOp

getType

protected Class getType(Class c)
Description copied from class: UnaryOp
Return the type of this value based on the argument type. Returns the argument type by default.

Overrides:
getType in class UnaryOp

getOperator

protected String getOperator()
Description copied from class: UnaryOp
Return the name of this operator.

Specified by:
getOperator in class UnaryOp

isAggregate

public boolean isAggregate()
Description copied from interface: Value
Return true if this value is an aggregate.

Specified by:
isAggregate in interface Value
Overrides:
isAggregate in class AbstractVal

isCountDistinctMultiCols

public boolean isCountDistinctMultiCols()

appendTo

public void appendTo(Select sel,
                     ExpContext ctx,
                     ExpState state,
                     SQLBuffer sql,
                     int index)
Overrides SQL formation by replacing COUNT(column) by COUNT(*) when specific conditions are met and DBDictionary configuration useWildCardForCount is set.

Specified by:
appendTo in interface Val
Overrides:
appendTo in class UnaryOp


Copyright © 2006-2012 Apache Software Foundation. All Rights Reserved.