org.eclipse.birt.data.engine.api
Interface IGroupDefinition

All Superinterfaces:
IBaseTransform
All Known Implementing Classes:
GroupDefinition

public interface IGroupDefinition
extends IBaseTransform

Provides information about a grouping level within a query or subquery. A group definition contains group break definition (key column etc.) and a set of transforms defined for the group


Field Summary
static int DAY_INTERVAL
          Grouping interval unit is Day.
static int HOUR_INTERVAL
          Grouping interval unit is Hour.
static int MINUTE_INTERVAL
          Grouping interval unit is Minute.
static int MONTH_INTERVAL
          Grouping interval unit is Month.
static int NO_INTERVAL
          No grouping interval unit specified.
static int NO_SORT
           
static int NUMERIC_INTERVAL
          Grouping interval unit is the numerical value.
static int QUARTER_INTERVAL
          Grouping interval unit is Quarter.
static int SECOND_INTERVAL
          Grouping interval unit is Second.
static int SORT_ASC
           
static int SORT_DESC
           
static int STRING_PREFIX_INTERVAL
          Grouping interval unit is the length of the string prefix.
static int WEEK_INTERVAL
          Grouping interval unit is Week.
static int YEAR_INTERVAL
          Grouping interval unit is Year.
 
Method Summary
 int getInterval()
          Returns the interval for grouping on a range of contiguous group key values.
 double getIntervalRange()
          Returns the number of contiguous group intervals that form one single group, when Interval is used to define group break level.
 java.lang.Object getIntervalStart()
          Returns a start value for grouping by range.
 java.lang.String getKeyColumn()
          Returns the name of the column that defines the group key.
 java.lang.String getKeyExpression()
          Returns the JavaScript expression that defines the group key.
 java.lang.String getName()
          Returns the name of the group
 int getSortDirection()
          Returns the sort direction on the group key.
 
Methods inherited from interface org.eclipse.birt.data.engine.api.IBaseTransform
getFilters, getSorts, getSubqueries
 

Field Detail

NO_INTERVAL

static final int NO_INTERVAL
No grouping interval unit specified.

See Also:
Constant Field Values

YEAR_INTERVAL

static final int YEAR_INTERVAL
Grouping interval unit is Year.

See Also:
Constant Field Values

MONTH_INTERVAL

static final int MONTH_INTERVAL
Grouping interval unit is Month.

See Also:
Constant Field Values

QUARTER_INTERVAL

static final int QUARTER_INTERVAL
Grouping interval unit is Quarter.

See Also:
Constant Field Values

WEEK_INTERVAL

static final int WEEK_INTERVAL
Grouping interval unit is Week.

See Also:
Constant Field Values

DAY_INTERVAL

static final int DAY_INTERVAL
Grouping interval unit is Day.

See Also:
Constant Field Values

HOUR_INTERVAL

static final int HOUR_INTERVAL
Grouping interval unit is Hour.

See Also:
Constant Field Values

MINUTE_INTERVAL

static final int MINUTE_INTERVAL
Grouping interval unit is Minute.

See Also:
Constant Field Values

SECOND_INTERVAL

static final int SECOND_INTERVAL
Grouping interval unit is Second.

See Also:
Constant Field Values

NUMERIC_INTERVAL

static final int NUMERIC_INTERVAL
Grouping interval unit is the numerical value.

See Also:
Constant Field Values

STRING_PREFIX_INTERVAL

static final int STRING_PREFIX_INTERVAL
Grouping interval unit is the length of the string prefix.

See Also:
Constant Field Values

NO_SORT

static final int NO_SORT
See Also:
Constant Field Values

SORT_ASC

static final int SORT_ASC
See Also:
Constant Field Values

SORT_DESC

static final int SORT_DESC
See Also:
Constant Field Values
Method Detail

getName

java.lang.String getName()
Returns the name of the group

Returns:
Name of group. Can be null if group is unnamed.

getInterval

int getInterval()
Returns the interval for grouping on a range of contiguous group key values. Interval can be year, months, day, etc.

Returns:
the grouping interval

getSortDirection

int getSortDirection()
Returns the sort direction on the group key. Use this to specify a sort in the common case where the groups are ordered by the group key only. To specify other types of sort criteria, use the Sorts property. SortDirection is ignored if Sorts is defined for this group.

Returns:
The group key sort direction. If no direction is specified, NO_SORT is returned. This means that the data engine can choose any sort order, or no sort order at all, for this group level.

getIntervalRange

double getIntervalRange()
Returns the number of contiguous group intervals that form one single group, when Interval is used to define group break level. For example, if Interval is MONTH_INTERVAL, and IntervalRange is 6, each group is defined to contain a span of 6 months.


getIntervalStart

java.lang.Object getIntervalStart()
Returns a start value for grouping by range. Returns null if a start value is not specified.

A start value defines the boundary of range based grouping. For numeric values, the default start value is 0. For date range based grouping, the default start value is Jan. 1, 2000. It has no meaning for grouping based on string prefix or distinct values


getKeyColumn

java.lang.String getKeyColumn()
Returns the name of the column that defines the group key. Either the KeyColumn or KeyExpression can be used to define the group key.


getKeyExpression

java.lang.String getKeyExpression()
Returns the JavaScript expression that defines the group key.
Note: Presently group key must be a column. If an JavaScript expression is used to specify the group key, the expression must be in the form of row.column_name, or row["column_name"].



Copyright © 2008 Actuate Corp. All rights reserved.