ResultAccumulator Class TIBCO Spotfire 7.6 API Reference
Accumulator used to add the results of a calculation.
Inheritance Hierarchy

SystemObject
  Spotfire.Dxp.Application.CalculationsResultAccumulator

Namespace: Spotfire.Dxp.Application.Calculations
Assembly: Spotfire.Dxp.Application (in Spotfire.Dxp.Application.dll) Version: 25.11.10401.3615 (25.11.10401.3615)
Syntax

C#
public sealed class ResultAccumulator : IDisposable

The ResultAccumulator type exposes the following members.

Methods

  NameDescription
Public methodAddColumns(CalculationResultsIdentifier, DataTable, ColumnBuilder)
Adds a column to an existing table or replaces it if it already exist.
Public methodAddColumns(CalculationResultsIdentifier, DataTable, IEnumerableColumnBuilder)
Adds columns to an existing table or replaces them if they already exist.
Public methodAddTable(CalculationResultsIdentifier, String, ColumnBuilder)
Adds a completely new DataTable consisting of the columns provided here or replaces them if the table already exists.
Public methodAddTable(CalculationResultsIdentifier, String, IEnumerableColumnBuilder)
Adds a completely new DataTable consisting of the columns provided here or replaces them if the table already exists.
Public methodDispose
Disposes this ResultAccumulator
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Top
Examples

protected override void CalculateCore(ResultAccumulator resultAccumulator)
{  
  //Get one or more column builders.
  ColumnBuilder<double> builder = GetColumnBuilder<double>(col.Name);   

  // Perform the calculation and add items to the builder.
  ...    
  builder.AddItem(2.0)
  ...

  // Naming combined with updates, deletions and uniqueness can be a surprisingly tricky thing.
  // This is one relatively hasslefree way of dealing with naming where the user doesn't get to name the table but 
  // possibly the calculation itself. We let the framework take care of making names unique.
  // Then the user can only rename the table through the normal rename table interface in Data Table Properties. Alternatively it can
  // be renamed explicitly by the user in the update step.  If the UI wants to pre-check
  // uniqueness remember the update scenario so you don't include the tablename you are about to update in the taken names.

  string targetTableName = null;
  if (CalculationResults.MyNewTable == null)
  {
      targetTableName = CalculationSettings.GetAncestor<Calculation>().Name;
  }
  else
  {
      targetTableName = CalculationResults.MyNewTable.Name;
  }
  //add a completely new table
  resultAccumulator.AddTable(MyCalculationResults.CalculationResultsIdentifiers.MyNewTable,
      targetTableName, myColumnBuilders);                

  //and add some columns to an existing table
  resultAccumulator.AddColumns(MyCalculationResults.CalculationResultsIdentifiers.MyColumn,
      CalculationSettings.TableToPutResultIn, builder); 
}
Version Information

Supported in: 7.6, 7.5, 7.0, 6.5, 6.0, 5.5, 5.0
See Also

Reference