Package org.h2.schema
Class UserAggregate.AggregateWrapper
- java.lang.Object
-
- org.h2.schema.UserAggregate.AggregateWrapper
-
- All Implemented Interfaces:
Aggregate
- Enclosing class:
- UserAggregate
private static class UserAggregate.AggregateWrapper extends java.lang.Object implements Aggregate
WrapAggregateFunction
in order to behave asAggregate
-
-
Field Summary
Fields Modifier and Type Field Description private AggregateFunction
aggregateFunction
-
Constructor Summary
Constructors Constructor Description AggregateWrapper(AggregateFunction aggregateFunction)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(java.lang.Object value)
This method is called once for each row.int
getInternalType(int[] inputTypes)
This method must return the H2 data type,Value
, of the aggregate function, given the H2 data type of the input data.java.lang.Object
getResult()
This method returns the computed aggregate value.void
init(java.sql.Connection conn)
This method is called when the aggregate function is used.
-
-
-
Field Detail
-
aggregateFunction
private final AggregateFunction aggregateFunction
-
-
Constructor Detail
-
AggregateWrapper
AggregateWrapper(AggregateFunction aggregateFunction)
-
-
Method Detail
-
init
public void init(java.sql.Connection conn) throws java.sql.SQLException
Description copied from interface:Aggregate
This method is called when the aggregate function is used. A new object is created for each invocation.
-
getInternalType
public int getInternalType(int[] inputTypes) throws java.sql.SQLException
Description copied from interface:Aggregate
This method must return the H2 data type,Value
, of the aggregate function, given the H2 data type of the input data. The method should check here if the number of parameters passed is correct, and if not it should throw an exception.- Specified by:
getInternalType
in interfaceAggregate
- Parameters:
inputTypes
- the H2 data type of the parameters,- Returns:
- the H2 data type of the result
- Throws:
java.sql.SQLException
- if the number/type of parameters passed is incorrect
-
add
public void add(java.lang.Object value) throws java.sql.SQLException
Description copied from interface:Aggregate
This method is called once for each row. If the aggregate function is called with multiple parameters, those are passed as array.
-
getResult
public java.lang.Object getResult() throws java.sql.SQLException
Description copied from interface:Aggregate
This method returns the computed aggregate value. This method must preserve previously added values and must be able to reevaluate result if more values were added since its previous invocation.
-
-