streamcruncher.api.aggregator
Class AbstractAggregatorHelper

java.lang.Object
  extended by streamcruncher.api.aggregator.AbstractAggregatorHelper
Direct Known Subclasses:
TimeWF2PartitionAggTest.TestAggregatorHelper

public abstract class AbstractAggregatorHelper
extends java.lang.Object

An Aggregator must be accompanied by a Sub-class of this Helper, which provides all the details regarding the Aggregator being registered.

When the Kernel stops and restarts, the Aggregates must be registered again, before the Queries start executing. See StartupShutdownHook.


Constructor Summary
AbstractAggregatorHelper(java.lang.String functionName, java.lang.Class<? extends AbstractAggregator> aggregatorClass)
           
 
Method Summary
abstract  java.lang.String getAggregatedColumnDDLFragment(DBName name, java.lang.String[] params, java.util.LinkedHashMap<java.lang.String,java.lang.String> columnNamesAndTypes)
           
 java.lang.Class<? extends AbstractAggregator> getAggregatorClass()
           
 java.lang.String getFunctionName()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractAggregatorHelper

public AbstractAggregatorHelper(java.lang.String functionName,
                                java.lang.Class<? extends AbstractAggregator> aggregatorClass)
Parameters:
functionName - The name of the function that will be used in the Query, which indicates that the Aggregate (being registered) must be invoked.
aggregatorClass - The Aggregator Class that is being represented/registered by this Helper.
See Also:
AbstractAggregatorHelper(String, Class)
Method Detail

getFunctionName

public java.lang.String getFunctionName()

getAggregatorClass

public java.lang.Class<? extends AbstractAggregator> getAggregatorClass()

getAggregatedColumnDDLFragment

public abstract java.lang.String getAggregatedColumnDDLFragment(DBName name,
                                                                java.lang.String[] params,
                                                                java.util.LinkedHashMap<java.lang.String,java.lang.String> columnNamesAndTypes)
                                                         throws java.lang.Exception
Parameters:
name -
params - That parameters that were provided in the Query to the Function. Ex: A definition such as with custom(test_fn, order_id, J) as test_fn_val) will produce String[]{"order_id", "J"}
columnNamesAndTypes - The names and SQL Native Types in the Source Table.
Returns:
"varchar2(10)" or "integer".
Throws:
java.lang.Exception - If aggregation is not possible on the columns chosen.


Copyright © 2006 - 2008 Ashwin Jayaprakash. All Rights Reserved. (Docs generated on 3-November-2007 )