Package org.eclipse.birt.report.model.api.elements.structures

# Class ComputedColumn

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 Summary

Fields
Modifier and Type
Field
Description
`static final String`
`AGGREGATEON_FUNCTION_MEMBER`
Name of the aggregateOn member.
`static final String`
`AGGREGATEON_MEMBER`
Name of the aggregateOn member.
`static final String`
`AGGREGRATEON_MEMBER`
Deprecated.
`static final String`
`ALLOW_EXPORT_MEMBER`
Name of the allowExport member.
`static final String`
`ARGUMENTS_MEMBER`
Name of arguments of function member.
`static final String`
`CALCULATION_ARGUMENTS_MEMBER`
Name of the member that specifies a list of calculation argument for the specific calculation function.
`static final String`
`CALCULATION_TYPE_MEMBER`
Name of the member that specifies the calculation function name.
`static final String`
`COLUMN_NAME_MEMBER`
Deprecated.
using `NAME_MEMBER` instead.
`static final String`
`COMPUTED_COLUMN_STRUCT`
Name of this structure.
`static final String`
`DATA_TYPE_MEMBER`
Name of the data-type member.
`static final String`
`DISPLAY_NAME_ID_MEMBER`
DisplayNameID of the column name member.
`static final String`
`DISPLAY_NAME_MEMBER`
DisplayName of the column name member.
`static final String`
`EXPRESSION_MEMBER`
Name of the expression member.
`static final String`
`FILTER_MEMBER`
Name of the filter member.
`static final String`
`NAME_MEMBER`
Name of the column name member.
`static final String`
`REFERENCE_DATE_TYPE_MEMBER`
Name of the member that specifies the reference date type.
`static final String`
`REFERENCE_DATE_VALUE_MEMBER`
Name of the member that specifies the reference date value.
`static final String`
`TIME_DIMENSION_MEMBER`
Name of the member that specifies the expression that returns the name of time dimension.

### Fields inherited from class org.eclipse.birt.report.model.core.PropertyStructure

`propValues`

## Constructor Summary

Constructors
Constructor
Description
`ComputedColumn()`

## Method Summary

Modifier and Type
Method
Description
`void`
`addAggregateOn(String aggreValue)`
Adds an aggregate level to the list.
`void`
`addArgument(AggregationArgument argument)`
Adds an argument to list.
`void`
`addCalculationArgument(CalculationArgument argument)`
Adds a calculation argument to list.
`boolean`
`allowExport()`
Gets the flag which indicates whether the computed column supports export.
`void`
`clearAggregateOnList()`
Sets the expression used to define this computed column.
`String`
`getAggregateFunction()`
Returns the expression used to define this computed column.
`String`
`getAggregateOn()`
Returns the aggregateOn expression to compute.
`List`
`getAggregateOnList()`
Returns the list containing levels to be aggregated on.
`String`
`getAggregrateOn()`
Deprecated.
by `getAggregateOn()`
`String`
`getColumnName()`
Deprecated.
using `getName()` instead.
`String`
`getDataType()`
Returns the data type of this column.
`String`
`getDisplayName()`
Returns column display name.
`String`
`getDisplayNameID()`
Gets column display name id.
`String`
`getExpression()`
Returns the expression to compute.
`String`
`getFilterExpression()`
Returns the expression used to define this computed column.
`String`
`getName()`
Returns the column name.
`String`
`getStructName()`
Returns the name of the structure definition.
`StructureHandle`
`handle(SimpleValueHandle valueHandle, int index)`
Creates the specific handle of this structure.
`void`
`removeAggregateOn(String aggreValue)`
Removes an aggregate level from the list.
`void`
`removeArgument(AggregationArgument argument)`
Removes an argument from list.
`void`
`removeCalculationArgument(CalculationArgument argument)`
Removes a calculation argument from list.
`void`
`setAggregateFunction(String expression)`
Sets the expression used to define this computed column.
`void`
`setAggregateOn(String aggregateOn)`
Sets the aggregateOn expression.
`void`
`setAggregrateOn(String aggregateOn)`
Deprecated.
by `setAggregateOn(String)`
`void`
`setAllowExport(boolean allowExport)`
Sets the flag which indicates whether the computed column supports export.
`void`
`setCalculationType(String calculationType)`
Sets the calculation type.
`void`
`setColumnName(String columnName)`
Deprecated.
using `setName(String)` instead.
`void`
`setDataType(String dataType)`
Sets the data type of this column.
`void`
`setDisplayName(String columnDisplayName)`
Sets the column display name.
`void`
`setDisplayNameID(String displayNameID)`
Sets the column display name id.
`void`
`setExpression(String expression)`
Sets the expression.
`void`
`setFilterExpression(String expression)`
Sets the expression used to define this computed column.
`void`
`setName(String name)`
Sets the column name
`void`
`setReferenceDateType(String type)`
Sets the reference date type.
`void`
`setReferenceDateValue(Expression expr)`
Sets the reference date value with the expression value.
`void`
`setTimeDimension(String expr)`
Sets the time dimension expression value.
`List`
`validate(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element)`
Validates this structure.

### Methods inherited from class org.eclipse.birt.report.model.core.PropertyStructure

`clone, getIntrinsicProperty, getLocalProperty, getLocalProperty, setIntrinsicProperty, setProperty`

### Methods inherited from class org.eclipse.birt.report.model.core.Structure

`checkStringMember, copy, equals, getCompatibleValue, getContext, getDefn, getElement, getExpressionProperty, getHandle, getHandle, getMemberDefn, getObjectDefn, getProperty, getProperty, getReferencableProperty, getStringProperty, isDesignTime, isReferencable, setContext, setExpressionProperty, setProperty, setupContext, updateReference`

### Methods inherited from class java.lang.Object

`finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## 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:
  - Constant Field Values

### NAME_MEMBER

public static final String NAME_MEMBER
Name of the column name member.

See Also:
  - Constant Field Values

### DISPLAY_NAME_MEMBER

public static final String DISPLAY_NAME_MEMBER
DisplayName of the column name member.

See Also:
  - Constant Field Values

### DISPLAY_NAME_ID_MEMBER

public static final String DISPLAY_NAME_ID_MEMBER
DisplayNameID of the column name member.

See Also:
  - Constant Field Values

### COLUMN_NAME_MEMBER

@Deprecated public static final String COLUMN_NAME_MEMBER
Deprecated.
using `NAME_MEMBER` instead.
Name of the column name member.

See Also:
  - Constant Field Values

### EXPRESSION_MEMBER

public static final String EXPRESSION_MEMBER
Name of the expression member.

See Also:
  - Constant Field Values

### DATA_TYPE_MEMBER

public static final String DATA_TYPE_MEMBER
Name of the data-type member.

See Also:
  - Constant Field Values

### AGGREGATEON_MEMBER

public static final String AGGREGATEON_MEMBER
Name of the aggregateOn member.

See Also:
  - Constant Field Values

### AGGREGRATEON_MEMBER

@Deprecated public static final String AGGREGRATEON_MEMBER
Deprecated.
Name of the aggregateOn member.

See Also:
  - Constant Field Values

### AGGREGATEON_FUNCTION_MEMBER

public static final String AGGREGATEON_FUNCTION_MEMBER
Name of the aggregateOn member.

See Also:
  - Constant Field Values

### ARGUMENTS_MEMBER

public static final String ARGUMENTS_MEMBER
Name of arguments of function member.

See Also:
  - Constant Field Values

### FILTER_MEMBER

public static final String FILTER_MEMBER
Name of the filter member.

See Also:
  - Constant Field Values

### ALLOW_EXPORT_MEMBER

public static final String ALLOW_EXPORT_MEMBER
Name of the allowExport member.

See Also:
  - Constant Field Values

### 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:
  - Constant Field Values

### 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:
  - Constant Field Values

### REFERENCE_DATE_TYPE_MEMBER

public static final String REFERENCE_DATE_TYPE_MEMBER
Name of the member that specifies the reference date type.

See Also:
  - Constant Field Values

### 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:
  - Constant Field Values

### 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:
  - Constant Field Values

## 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.
by `getAggregateOn()`
Returns the aggregrateOn expression to compute.

Returns:
  the aggregrateOn expression to compute.

### setAggregrateOn

@Deprecated public void setAggregrateOn(String aggregateOn)
Deprecated.
by `setAggregateOn(String)`
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` -