Package com.qfs.agg

Interface IGenericAggregation

All Superinterfaces:
Serializable
All Known Subinterfaces:
IAggregation, IMultiSourceAggregation, IUserDefinedAggregation
All Known Implementing Classes:
AAggregation, AMultiSourceAggregation, AUserDefinedAggregation, AUserDefinedVectorAggregation, HistoryAggregation, SumProductFunction.SumProductAggregationVectorDouble, SumProductFunction.SumProductAggregationVectorFloat, SumProductFunction.SumProductAggregationVectorLong

public interface IGenericAggregation extends Serializable
An aggregation can bind an input data structure called the source with a destination data structure that contains aggregates.

This binding is materialized by an instance of IAggregationBinding.

Author:
ActiveViam
  • Method Details

    • getSourceIdentifiers

      List<String> getSourceIdentifiers()
      Returns the identifiers used to retrieve the data sources needed as sources of this aggregation.
    • getSourceTypes

      int[] getSourceTypes()
      Returns the types of the data sources of this aggregation.
    • getAggregatedDataType

      int getAggregatedDataType()
      Returns the type of the result of the aggregation.
      Returns:
      The type of the result of the aggregation.
    • bindSources

      IAggregationBinding bindSources(IArrayReader[] sources, IArrayWriter aggregates)
      Binds sources of data that contain raw data elements with a destination data structure that contains aggregates.
      Parameters:
      sources - The source array of raw data. Must be correlated (size and order) with this aggregation's source types.
      aggregates - The target aggregates array
      Returns:
      The binding
    • bindAggregates

      IAggregationBinding bindAggregates(IArrayReader input, IArrayWriter output)
      Binds an input source of aggregates with an output destination that contains aggregates.
      Parameters:
      input - The source array of aggregated data
      output - The target aggregates array
      Returns:
      The binding
    • createChunkFactory

      IChunkFactory<?> createChunkFactory(boolean isTransient, IAllocationSettings allocationSettings)
      Creates the chunk factory that can create the chunks for this aggregation's results.
      Parameters:
      isTransient - Says if the chunks created by the factory should be transient.
      allocationSettings - The allocation settings to use
      Returns:
      A chunk factory that can create the chunks for storing the results of this aggregation.
    • getAggregationFunction

      IGenericAggregationFunction getAggregationFunction()
      Returns the associated function.
    • writeReplace

      Object writeReplace() throws ObjectStreamException
      Returns the custom serializer for aggregations. The abstract base classes for aggregations implement this method and provide serializers, for other implementations the user must provide their own serializers.
      Throws:
      ObjectStreamException