java.lang.Object
org.eclipse.birt.report.model.core.Structure
org.eclipse.birt.report.model.core.PropertyStructure
org.eclipse.birt.report.model.api.elements.structures.ComputedColumn
All Implemented Interfaces:
Cloneable, IStructure, org.eclipse.birt.report.model.core.IPropertySet

public class ComputedColumn extends org.eclipse.birt.report.model.core.PropertyStructure
Represents one computed column. A computed column is a 'virtual' column produced as an expression of other columns within the data set.

This is a managed object, meaning that all changes should be made though the command layer so that they can be undone and redone. Each computed column has the following properties:

Column Name
a computed column has a required column name.
Expression
expression of the computation for the column.
  • Field Details

    • COMPUTED_COLUMN_STRUCT

      public static final String COMPUTED_COLUMN_STRUCT
      Name of this structure. Matches the definition in the meta-data dictionary.
      See Also:
    • NAME_MEMBER

      public static final String NAME_MEMBER
      Name of the column name member.
      See Also:
    • DISPLAY_NAME_MEMBER

      public static final String DISPLAY_NAME_MEMBER
      DisplayName of the column name member.
      See Also:
    • DISPLAY_NAME_ID_MEMBER

      public static final String DISPLAY_NAME_ID_MEMBER
      DisplayNameID of the column name member.
      See Also:
    • COLUMN_NAME_MEMBER

      @Deprecated public static final String COLUMN_NAME_MEMBER
      Deprecated.
      using NAME_MEMBER instead.
      Name of the column name member.
      See Also:
    • EXPRESSION_MEMBER

      public static final String EXPRESSION_MEMBER
      Name of the expression member.
      See Also:
    • DATA_TYPE_MEMBER

      public static final String DATA_TYPE_MEMBER
      Name of the data-type member.
      See Also:
    • AGGREGATEON_MEMBER

      public static final String AGGREGATEON_MEMBER
      Name of the aggregateOn member.
      See Also:
    • AGGREGRATEON_MEMBER

      @Deprecated public static final String AGGREGRATEON_MEMBER
      Deprecated.
      Name of the aggregateOn member.
      See Also:
    • AGGREGATEON_FUNCTION_MEMBER

      public static final String AGGREGATEON_FUNCTION_MEMBER
      Name of the aggregateOn member.
      See Also:
    • ARGUMENTS_MEMBER

      public static final String ARGUMENTS_MEMBER
      Name of arguments of function member.
      See Also:
    • FILTER_MEMBER

      public static final String FILTER_MEMBER
      Name of the filter member.
      See Also:
    • ALLOW_EXPORT_MEMBER

      public static final String ALLOW_EXPORT_MEMBER
      Name of the allowExport member.
      See Also:
    • CALCULATION_TYPE_MEMBER

      public static final String CALCULATION_TYPE_MEMBER
      Name of the member that specifies the calculation function name. The function name is defined by customer DB executor.
      See Also:
    • CALCULATION_ARGUMENTS_MEMBER

      public static final String CALCULATION_ARGUMENTS_MEMBER
      Name of the member that specifies a list of calculation argument for the specific calculation function.
      See Also:
    • REFERENCE_DATE_TYPE_MEMBER

      public static final String REFERENCE_DATE_TYPE_MEMBER
      Name of the member that specifies the reference date type.
      See Also:
    • REFERENCE_DATE_VALUE_MEMBER

      public static final String REFERENCE_DATE_VALUE_MEMBER
      Name of the member that specifies the reference date value. It is required when reference date type is fixed date.
      See Also:
    • TIME_DIMENSION_MEMBER

      public static final String TIME_DIMENSION_MEMBER
      Name of the member that specifies the expression that returns the name of time dimension.
      See Also:
  • Constructor Details

    • ComputedColumn

      public ComputedColumn()
  • Method Details

    • getStructName

      public String getStructName()
      Description copied from interface: IStructure
      Returns the name of the structure definition. The name is the one used to define the structure in the meta-data dictionary.
      Returns:
      the internal name of the structure a defined in the meta-data dictionary.
    • getColumnName

      @Deprecated public String getColumnName()
      Deprecated.
      using getName() instead.
      Returns the column name.
      Returns:
      the column name
    • getName

      public String getName()
      Returns the column name.
      Returns:
      the column name
    • getDisplayName

      public String getDisplayName()
      Returns column display name.
      Returns:
      column display name.
    • getDisplayNameID

      public String getDisplayNameID()
      Gets column display name id.
      Returns:
      the column display name id.
    • setDisplayName

      public void setDisplayName(String columnDisplayName)
      Sets the column display name.
      Parameters:
      columnDisplayName - the column display name to set.
    • setDisplayNameID

      public void setDisplayNameID(String displayNameID)
      Sets the column display name id.
      Parameters:
      displayNameID - the column display name id.
    • setColumnName

      @Deprecated public void setColumnName(String columnName)
      Deprecated.
      using setName(String) instead.
      Sets the column name.
      Parameters:
      columnName - the column name to set
    • setName

      public void setName(String name)
      Sets the column name
      Parameters:
      name - the column name to set.
    • getExpression

      public String getExpression()
      Returns the expression to compute.
      Returns:
      the expression to compute
    • setExpression

      public void setExpression(String expression)
      Sets the expression.
      Parameters:
      expression - the expression to set
    • handle

      public StructureHandle handle(SimpleValueHandle valueHandle, int index)
      Description copied from class: org.eclipse.birt.report.model.core.Structure
      Creates the specific handle of this structure. This handle is always created.
      Specified by:
      handle in class org.eclipse.birt.report.model.core.Structure
      Parameters:
      valueHandle - the value handle of this structure list property this structure is in
      index - the position of this structure in structure list
      Returns:
      the handle of this structure.
    • validate

      public List validate(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element)
      Validates this structure. The following are the rules:
      • The column name is required.
      Overrides:
      validate in class org.eclipse.birt.report.model.core.Structure
      Parameters:
      module - the module
      element - the element contains this structure
      Returns:
      the semantic error list
      See Also:
      • Structure.validate(Module, org.eclipse.birt.report.model.core.DesignElement)
    • getDataType

      public String getDataType()
      Returns the data type of this column. The possible values are defined in DesignChoiceConstants, and they are:
      • COLUMN_DATA_TYPE_ANY
      • COLUMN_DATA_TYPE_INTEGER
      • COLUMN_DATA_TYPE_STRING
      • COLUMN_DATA_TYPE_DATETIME
      • COLUMN_DATA_TYPE_DECIMAL
      • COLUMN_DATA_TYPE_FLOAT
      • COLUMN_DATA_TYPE_STRUCTURE
      • COLUMN_DATA_TYPE_TABLE
      Returns:
      the data type of this column.
    • setDataType

      public void setDataType(String dataType)
      Sets the data type of this column. The allowed values are defined in DesignChoiceConstants, and they are:
      • COLUMN_DATA_TYPE_ANY
      • COLUMN_DATA_TYPE_INTEGER
      • COLUMN_DATA_TYPE_STRING
      • COLUMN_DATA_TYPE_DATETIME
      • COLUMN_DATA_TYPE_DECIMAL
      • COLUMN_DATA_TYPE_FLOAT
      • COLUMN_DATA_TYPE_STRUCTURE
      • COLUMN_DATA_TYPE_TABLE
      Parameters:
      dataType - the data type to set
    • getAggregrateOn

      @Deprecated public String getAggregrateOn()
      Deprecated.
      Returns the aggregrateOn expression to compute.
      Returns:
      the aggregrateOn expression to compute.
    • setAggregrateOn

      @Deprecated public void setAggregrateOn(String aggregateOn)
      Deprecated.
      Sets the aggregateOn expression.
      Parameters:
      aggregateOn - the aggregateOn expression to set
    • getAggregateOn

      public String getAggregateOn()
      Returns the aggregateOn expression to compute.
      Returns:
      the aggregateOn expression to compute.
    • getAggregateOnList

      public List getAggregateOnList()
      Returns the list containing levels to be aggregated on.
      Returns:
      the list containing levels to be aggregated on
    • setAggregateOn

      public void setAggregateOn(String aggregateOn)
      Sets the aggregateOn expression.
      Parameters:
      aggregateOn - the aggregateOn expression to set
    • addAggregateOn

      public void addAggregateOn(String aggreValue)
      Adds an aggregate level to the list.
      Parameters:
      aggreValue - the aggregate name. For listing elements, this can be "All" or the name of a single group.
    • removeAggregateOn

      public void removeAggregateOn(String aggreValue)
      Removes an aggregate level from the list.
      Parameters:
      aggreValue - the aggregate name. For listing elements, this can be "All" or the name of a single group.
    • getAggregateFunction

      public String getAggregateFunction()
      Returns the expression used to define this computed column.
      Returns:
      the expression used to define this computed column
    • getFilterExpression

      public String getFilterExpression()
      Returns the expression used to define this computed column.
      Returns:
      the expression used to define this computed column
    • setAggregateFunction

      public void setAggregateFunction(String expression)
      Sets the expression used to define this computed column.
      Parameters:
      expression - the expression to set
      Throws:
      SemanticException - value required exception
    • setFilterExpression

      public void setFilterExpression(String expression)
      Sets the expression used to define this computed column.
      Parameters:
      expression - the expression to set
      Throws:
      SemanticException - value required exception
    • clearAggregateOnList

      public void clearAggregateOnList()
      Sets the expression used to define this computed column.
      Parameters:
      expression - the expression to set
      Throws:
      SemanticException - value required exception
    • addArgument

      public void addArgument(AggregationArgument argument)
      Adds an argument to list.
      Parameters:
      argument - the aggregate function argument
    • removeArgument

      public void removeArgument(AggregationArgument argument)
      Removes an argument from list.
      Parameters:
      argument - the aggregate function argument
    • allowExport

      public boolean allowExport()
      Gets the flag which indicates whether the computed column supports export.
      Returns:
      true if it allows, otherwise false.
    • setAllowExport

      public void setAllowExport(boolean allowExport)
      Sets the flag which indicates whether the computed column supports export.
      Parameters:
      allowExport - the flag to set
    • setCalculationType

      public void setCalculationType(String calculationType)
      Sets the calculation type.
      Parameters:
      calculationType -
    • addCalculationArgument

      public void addCalculationArgument(CalculationArgument argument)
      Adds a calculation argument to list.
      Parameters:
      argument - the calculation argument
    • removeCalculationArgument

      public void removeCalculationArgument(CalculationArgument argument)
      Removes a calculation argument from list.
      Parameters:
      argument - the calculation argument
    • setReferenceDateValue

      public void setReferenceDateValue(Expression expr)
      Sets the reference date value with the expression value. It must be set when reference date type is TODAY.
      Parameters:
      expr -
    • setReferenceDateType

      public void setReferenceDateType(String type)
      Sets the reference date type.
      Parameters:
      offset -
    • setTimeDimension

      public void setTimeDimension(String expr)
      Sets the time dimension expression value.
      Parameters:
      expr -