org.objectweb.medor.filter.lib
Class Count

java.lang.Object
  |
  +--org.objectweb.medor.filter.lib.BasicUnaryOperator
        |
        +--org.objectweb.medor.filter.lib.BasicAggregateOperator
              |
              +--org.objectweb.medor.filter.lib.Count
All Implemented Interfaces:
AggregateOperator, java.lang.Cloneable, Cloneable, Expression, Operator, UnaryOperator

public class Count
extends BasicAggregateOperator

Count aggregate function.

Count applies to :

  1. a FieldOperand, which is part of a NestedField.
  2. a Collection of values (TupleCollection), specifying which Field is to be aggregated
  3. a Collection of values (Java Collection)

In the case of Count, it may be that no operand is specified. In this case, like in SQL (*), the Tuples made of all Fields of the NestedField are considered.

Author:
Alexandre Lefebvre

Field Summary
 
Fields inherited from class org.objectweb.medor.filter.lib.BasicAggregateOperator
distinct
 
Fields inherited from class org.objectweb.medor.filter.lib.BasicUnaryOperator
result, subResult, type
 
Fields inherited from interface org.objectweb.medor.filter.api.Operator
ABS, AND, AVG, BITWIZE, CONCAT, CONDAND, CONDOR, COUNT, DIV, EQUAL, FIRSTLOCATE, GREATER, GREATEREQUAL, IN, INDEXEDLOCATE, LENGTH, LOWER, LOWEREQUAL, MAX, MEMBEROF, MIN, MINUS, MOD, MULT, NAV, NOT, NOTEQUAL, NOTMEMBEROF, OR, PLUS, SQRT, SUBSTRING, SUM, UMINUS
 
Constructor Summary
Count()
           
Count(Expression e)
           
Count(Expression e, boolean distinct)
           
 
Method Summary
 void compileExpression()
          Checks the semantic integrity of an expression.
 boolean countAll()
           
 void evaluate(ParameterOperand[] pos, Tuple t)
          It evaluates the expression tree and puts the result into the operand result.
 java.lang.String getOperatorString()
          Returns the String representing the operator in Java
 void setCountAll()
           
 
Methods inherited from class org.objectweb.medor.filter.lib.BasicAggregateOperator
getDistinct, setDistinct
 
Methods inherited from class org.objectweb.medor.filter.lib.BasicUnaryOperator
clone, getExpression, getExpression, getOperandNumber, getResult, getType, isCompiled, setExpression, setExpression
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.objectweb.medor.filter.api.UnaryOperator
getExpression, setExpression
 
Methods inherited from interface org.objectweb.medor.filter.api.Operator
getExpression, getOperandNumber, setExpression
 
Methods inherited from interface org.objectweb.medor.filter.api.Expression
getResult, getType, isCompiled
 
Methods inherited from interface org.objectweb.medor.api.Cloneable
clone
 

Constructor Detail

Count

public Count()

Count

public Count(Expression e)

Count

public Count(Expression e,
             boolean distinct)
Method Detail

getOperatorString

public java.lang.String getOperatorString()
Description copied from interface: Operator
Returns the String representing the operator in Java

Returns:
the String representing the operator in Java

compileExpression

public void compileExpression()
                       throws TypingException,
                              MalformedExpressionException
Description copied from interface: Expression
Checks the semantic integrity of an expression. It checks that all types are compatible and prepare the expression to be evaluable.It also creates buffers where stores the result. Notes that when evaluating there is no creation of new objects. This method change the state of this expression object, it will be evaluable and not modifiable.

Throws:
MalformedExpressionException - if syntax error
TypingException - when incompatible types error occures.

evaluate

public void evaluate(ParameterOperand[] pos,
                     Tuple t)
              throws MedorException
Description copied from interface: Expression
It evaluates the expression tree and puts the result into the operand result.

Specified by:
evaluate in interface Expression
Specified by:
evaluate in class BasicUnaryOperator
Parameters:
pos - a list of ParameterOperand
t - Tuple
Throws:
MedorException - if evaluation error

countAll

public boolean countAll()

setCountAll

public void setCountAll()