org.eclipse.birt.report.model.api
Class GroupHandle

java.lang.Object
  extended by org.eclipse.birt.report.model.api.DesignElementHandle
      extended by org.eclipse.birt.report.model.api.ReportElementHandle
          extended by org.eclipse.birt.report.model.api.GroupHandle
All Implemented Interfaces:
org.eclipse.birt.report.model.elements.interfaces.IDesignElementModel, org.eclipse.birt.report.model.elements.interfaces.IGroupElementModel
Direct Known Subclasses:
ListGroupHandle, TableGroupHandle

public abstract class GroupHandle
extends ReportElementHandle
implements org.eclipse.birt.report.model.elements.interfaces.IGroupElementModel

Represents both list and table groups in the design. Groups provide a way of showing common headings for a group of related rows.

A group is defined by a group key. The key is a column from the query. If the group key is a time field then user often want to group on an interval such as month or quarter.

See Also:
GroupElement, SlotHandle

Field Summary
 
Fields inherited from class org.eclipse.birt.report.model.api.ReportElementHandle
element
 
Fields inherited from class org.eclipse.birt.report.model.api.DesignElementHandle
module
 
Fields inherited from interface org.eclipse.birt.report.model.elements.interfaces.IGroupElementModel
ACL_EXPRESSION_PROP, BOOKMARK_PROP, BOUND_DATA_COLUMNS_PROP, CASCADE_ACL_PROP, FILTER_PROP, FOOTER_SLOT, GROUP_NAME_PROP, GROUP_START_PROP, HEADER_SLOT, HIDE_DETAIL_PROP, INTERVAL_BASE_PROP, INTERVAL_PROP, INTERVAL_RANGE_PROP, KEY_EXPR_PROP, ON_CREATE_METHOD, ON_PAGE_BREAK_METHOD, ON_PREPARE_METHOD, ON_RENDER_METHOD, REPEAT_HEADER_PROP, SLOT_COUNT, SORT_DIRECTION_PROP, SORT_PROP, SORT_TYPE_PROP, TOC_PROP
 
Fields inherited from interface org.eclipse.birt.report.model.elements.interfaces.IDesignElementModel
COMMENTS_PROP, CUSTOM_XML_PROP, DISPLAY_NAME_ID_PROP, DISPLAY_NAME_PROP, EVENT_HANDLER_CLASS_PROP, EXTENDS_PROP, FULL_LABEL, ID_SUFFIX, NAME_PROP, NO_SLOT, PROPERTY_MASKS_PROP, REF_TEMPLATE_PARAMETER_PROP, SHORT_LABEL, USER_LABEL, USER_PROPERTIES_PROP, VIEW_ACTION_PROP
 
Constructor Summary
GroupHandle(org.eclipse.birt.report.model.core.Module module, org.eclipse.birt.report.model.core.DesignElement element)
          Constructs a group handle with the given design and the design element.
 
Method Summary
 ComputedColumnHandle addColumnBinding(ComputedColumn addColumn, boolean inForce)
          Deprecated. since BIRT 2.1 RC2
 TOCHandle addTOC(java.lang.String expression)
          Adds toc structure.
 TOCHandle addTOC(TOC toc)
          Adds toc structure.
 boolean cascadeACL()
          Returns true (the default), a report element's ACL is automatically propagated to all its directly contained child elements and are added to their ACLs.
 java.util.Iterator columnBindingsIterator()
          Deprecated. since BIRT 2.1 RC2
 java.util.Iterator filtersIterator()
          Returns an iterator for the filter list defined on the group.
 java.lang.String getACLExpression()
          Returns the ACL expression associated with the report element instance.
 java.lang.String getBookmark()
          Returns the bookmark of listing group.
 PropertyHandle getColumnBindings()
          Deprecated. since BIRT 2.1 RC2
 SlotHandle getFooter()
          Returns the footer slot.
 java.lang.String getGroupStart()
          Deprecated. by getIntervalBase()
 SlotHandle getHeader()
          Returns the header slot in the group.
 java.lang.String getInterval()
          Returns the interval of this group.
 java.lang.String getIntervalBase()
          Return the interval base property value of this group.
 double getIntervalRange()
          Returns the interval range of this group.
 java.lang.String getKeyExpr()
          Gets the expression that defines the group.
 java.lang.String getName()
          Gets the name of the group.
 java.lang.String getOnCreate()
          Gets the onCreate script of the group element.
 java.lang.String getOnPageBreak()
          Gets the on-pageBreak script of the group element.
 java.lang.String getOnPrepare()
          Gets the on-prepare script of the group.
 java.lang.String getOnRender()
          Gets the onRender script of the group element.
 java.lang.String getPageBreakAfter()
          Gets page break after property value of this group.
 java.lang.String getPageBreakBefore()
          Gets page break before property value of this group.
 java.lang.String getPageBreakInside()
          Gets page break inside property value of this group.
 java.lang.String getSortDirection()
          Returns the sort direction of this group.
 java.lang.String getSortType()
          Return the sort type.
 TOCHandle getTOC()
          Gets TOC handle.
 java.lang.String getTocExpression()
          Deprecated.  
 boolean hasFooter()
          Checks whether the group footer slot is empty.
 boolean hasHeader()
          Checks whether the group header slot is empty.
 boolean hideDetail()
          Tests whether to hide the detail rows of this group.
 boolean repeatHeader()
          Tests whether to repeat the headings at the top of each page.
 void setACLExpression(java.lang.String expr)
          Sets the ACL expression associated with the report element instance.
 void setBookmark(java.lang.String value)
          Sets the bookmark of listing group.
 void setCascadeACL(boolean cascadeACL)
          Sets the flag to control whether to cascade ACL
 void setGroupStart(java.lang.String groupStart)
          Deprecated. by setIntervalBase(String)
 void setHideDetail(boolean value)
          Sets whether to hide the detail rows of this group.
 void setInterval(java.lang.String interval)
          Returns the interval of this group.
 void setIntervalBase(java.lang.String intervalBase)
          Sets the base of the interval property of this group.IntervalBase, in conjunction with Interval and IntervalRange, determines how data is divided into groups.
 void setIntervalRange(double intervalRange)
          Returns the interval range of this group.
 void setIntervalRange(java.lang.String intervalRange)
          Sets the interval range of group.
 void setKeyExpr(java.lang.String expr)
          Sets the group expression.
 void setName(java.lang.String theName)
          Sets the group name.
 void setOnCreate(java.lang.String script)
          Sets create property value of this group.
 void setOnPageBreak(java.lang.String script)
          Sets the on-pageBreak script of the group element.
 void setOnPrepare(java.lang.String script)
          Sets the on-prepare script of the group element.
 void setOnRender(java.lang.String script)
          Sets render property value of this group.
 void setPageBreakAfter(java.lang.String value)
          Sets page break after property value of this group.
 void setPageBreakBefore(java.lang.String value)
          Sets page break before property value of this group.
 void setPageBreakInside(java.lang.String value)
          Sets page break inside property value of this group.
 void setRepeatHeader(boolean value)
          Sets whether to repeat the headings at the top of each page.
 void setSortDirection(java.lang.String direction)
          Sets the sort direction of this group.
 void setSortType(java.lang.String sortType)
          Sets the sort type, which indicates the way of sorting
 void setTocExpression(java.lang.String expression)
          Deprecated.  
 java.util.Iterator sortsIterator()
          Returns the iterator for Sort list defined on the group.
 
Methods inherited from class org.eclipse.birt.report.model.api.ReportElementHandle
getComments, getCustomXml, getDisplayName, getDisplayNameKey, getElement, getPropertyMask, isValidLayoutForCompoundElement, isValidReferenceForCompoundElement, propertyMaskIterator, setComments, setCustomXml, setDisplayName, setDisplayNameKey, setPropertyMask
 
Methods inherited from class org.eclipse.birt.report.model.api.DesignElementHandle
add, add, addElement, addElement, addListener, addUserPropertyDefn, cachePropertyHandles, canContain, canContain, canContain, canContain, canDrop, canEdit, canTransformToTemplate, clearAllProperties, clearContents, clearProperty, clientsIterator, copy, copyPropertyTo, createTemplateElement, derivedIterator, doSort, drop, drop, drop, dropAndClear, dropAndClear, dropAndClear, dropUserPropertyDefn, findContentSlot, getBooleanProperty, getChoices, getColorProperty, getContainer, getContainerPropertyHandle, getContainerSlotHandle, getContent, getContentCount, getContents, getDefn, getDesign, getDesignHandle, getDimensionProperty, getDisplayLabel, getDisplayLabel, getDisplayProperty, getEffectiveModule, getElementFactory, getElementProperty, getEventHandlerClass, getExtends, getExternalizedValue, getExternalizedValue, getExternalizedValue, getFactoryPropertyHandle, getFloatProperty, getFontProperty, getFullName, getHostViewHandle, getID, getIndex, getIntProperty, getListProperty, getListProperty, getMethods, getModule, getModuleHandle, getNumberProperty, getPrivateStyle, getProperty, getPropertyBinding, getPropertyBindings, getPropertyDefn, getPropertyHandle, getPropertyIterator, getQualifiedName, getRoot, getSemanticErrors, getSlot, getStringProperty, getStyle, getUserProperties, getUserPropertyDefnHandle, getXPath, hasLocalProperties, hasSemanticError, initializeSlotHandles, isDirectionRTL, isInTemplateParameter, isTemplateParameterValue, isValid, localize, move, move, moveTo, moveTo, moveTo, moveTo, paste, paste, paste, paste, removeListener, revertToReportItem, revertToTemplate, semanticCheck, setEncryption, setEventHandlerClass, setExtends, setExtendsElement, setExtendsName, setFloatProperty, setIntProperty, setNumberProperty, setProperties, setProperty, setPropertyBinding, setStringProperty, setStyle, setStyleElement, setStyleName, setValid, shift, showError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GroupHandle

public GroupHandle(org.eclipse.birt.report.model.core.Module module,
                   org.eclipse.birt.report.model.core.DesignElement element)
Constructs a group handle with the given design and the design element. The application generally does not create handles directly. Instead, it uses one of the navigation methods available on other element handles.

Parameters:
module - the module
element - the model representation of the element
Method Detail

getHeader

public SlotHandle getHeader()
Returns the header slot in the group. The header slot represents subsections that print at the start of the group.

Returns:
a slot handle to the header

getFooter

public SlotHandle getFooter()
Returns the footer slot. The footer slot represents subsections that print at the end of the group.

Returns:
a slot handle to the footer

getKeyExpr

public java.lang.String getKeyExpr()
Gets the expression that defines the group. This is normally simply a reference to a data set column.

Returns:
the expression as a string
See Also:
setKeyExpr(String)

getName

public java.lang.String getName()
Gets the name of the group.

Overrides:
getName in class DesignElementHandle
Returns:
the name of the group

setName

public void setName(java.lang.String theName)
             throws NameException
Sets the group name.

Overrides:
setName in class DesignElementHandle
Parameters:
theName - the group name to set
Throws:
NameException - if the name is duplicate, or if the name is null and this element requires a name.

setKeyExpr

public void setKeyExpr(java.lang.String expr)
                throws SemanticException
Sets the group expression.

Parameters:
expr - the expression to set
Throws:
SemanticException - If the expression is invalid.
See Also:
getKeyExpr()

sortsIterator

public java.util.Iterator sortsIterator()
Returns the iterator for Sort list defined on the group. The element in the iterator is the corresponding StructureHandle.

Returns:
the iterator for SortKey structure list defined on the group.

filtersIterator

public java.util.Iterator filtersIterator()
Returns an iterator for the filter list defined on the group. Each object returned is of type StructureHandle.

Returns:
the iterator for FilterCond structure list defined on the group.

setGroupStart

public void setGroupStart(java.lang.String groupStart)
                   throws SemanticException
Deprecated. by setIntervalBase(String)

Sets group start property of this group. Group start, in conjunction with Interval and IntervalRange, determines how data is divided into groups.

Parameters:
groupStart - group start property value.
Throws:
SemanticException - if the property is locked.

getGroupStart

public java.lang.String getGroupStart()
Deprecated. by getIntervalBase()

Return the group start property value of this group.

Returns:
group start property value of this group.

setIntervalBase

public void setIntervalBase(java.lang.String intervalBase)
                     throws SemanticException
Sets the base of the interval property of this group.IntervalBase, in conjunction with Interval and IntervalRange, determines how data is divided into groups.

Parameters:
intervalBase - interval base property value.
Throws:
SemanticException - if the property is locked.

getIntervalBase

public java.lang.String getIntervalBase()
Return the interval base property value of this group.

Returns:
interval baseF property value of this group.

getInterval

public java.lang.String getInterval()
Returns the interval of this group. The return value is defined in DesignChoiceConstants and can be one of:

Returns:
the interval value as a string

setInterval

public void setInterval(java.lang.String interval)
                 throws SemanticException
Returns the interval of this group. The input value is defined in DesignChoiceConstants and can be one of:

Parameters:
interval - the interval value as a string
Throws:
SemanticException - if the property is locked or the input value is not one of the above.

getIntervalRange

public double getIntervalRange()
Returns the interval range of this group.

Returns:
the interval range value as a double

setIntervalRange

public void setIntervalRange(double intervalRange)
                      throws SemanticException
Returns the interval range of this group.

Parameters:
intervalRange - the interval range value as a double
Throws:
SemanticException - if the property is locked.

setIntervalRange

public void setIntervalRange(java.lang.String intervalRange)
                      throws SemanticException
Sets the interval range of group.

Parameters:
intervalRange - the interval range value as a string.value is locale dependent.
Throws:
SemanticException - if the property is locked.

getSortDirection

public java.lang.String getSortDirection()
Returns the sort direction of this group. The return value is defined in DesignChoiceConstants and can be one of:

Returns:
the sort direction of this group

setSortDirection

public void setSortDirection(java.lang.String direction)
                      throws SemanticException
Sets the sort direction of this group. The return value is defined in DesignChoiceConstants and can be one of:

Parameters:
direction - the sort direction of this group
Throws:
SemanticException - if the property is locked or the input value is not one of the above.

hasHeader

public boolean hasHeader()
Checks whether the group header slot is empty.

Returns:
true is the header slot is not empty, otherwise, return false.

hasFooter

public boolean hasFooter()
Checks whether the group footer slot is empty.

Returns:
true is the footer slot is not empty, otherwise, return false.

setTocExpression

public void setTocExpression(java.lang.String expression)
                      throws SemanticException
Deprecated. 

Sets a table of contents entry for this item. The TOC property defines an expression that returns a string that is to appear in the Table of Contents for this item or its container.

Parameters:
expression - the expression that returns a string
Throws:
SemanticException - if the TOC property is locked by the property mask.
See Also:
getTocExpression()

getTocExpression

public java.lang.String getTocExpression()
Deprecated. 

Returns the expression evalueated as a table of contents entry for this item.

Returns:
the expression evaluated as a table of contents entry for this item
See Also:
setTocExpression(String)

setSortType

public void setSortType(java.lang.String sortType)
                 throws SemanticException
Sets the sort type, which indicates the way of sorting

Parameters:
sortType - sort type.
Throws:
SemanticException - if the property is locked.

getSortType

public java.lang.String getSortType()
Return the sort type.

Returns:
the sort type.

getOnPrepare

public java.lang.String getOnPrepare()
Gets the on-prepare script of the group. Startup phase. No data binding yet. The design of an element can be changed here.

Returns:
the on-prepare script of the group

setOnPrepare

public void setOnPrepare(java.lang.String script)
                  throws SemanticException
Sets the on-prepare script of the group element.

Parameters:
script - the script to set
Throws:
SemanticException - if the method is locked.
See Also:
getOnPrepare()

repeatHeader

public boolean repeatHeader()
Tests whether to repeat the headings at the top of each page.

Returns:
true if repeat the headings, otherwise false.

setRepeatHeader

public void setRepeatHeader(boolean value)
                     throws SemanticException
Sets whether to repeat the headings at the top of each page.

Parameters:
value - true if repeat the headings, otherwise false.
Throws:
SemanticException - if the property is locked.

getPageBreakAfter

public java.lang.String getPageBreakAfter()
Gets page break after property value of this group.

Returns:
page break after property value of this group.

setPageBreakAfter

public void setPageBreakAfter(java.lang.String value)
                       throws SemanticException
Sets page break after property value of this group.

Parameters:
value - value of page break after property
Throws:
SemanticException - if the property is locked.

getPageBreakInside

public java.lang.String getPageBreakInside()
Gets page break inside property value of this group.

Returns:
page break inside property value of this group.

setPageBreakInside

public void setPageBreakInside(java.lang.String value)
                        throws SemanticException
Sets page break inside property value of this group.

Parameters:
value - value of page break inside property
Throws:
SemanticException - if the property is locked.

getPageBreakBefore

public java.lang.String getPageBreakBefore()
Gets page break before property value of this group.

Returns:
page break before property value of this group.

setPageBreakBefore

public void setPageBreakBefore(java.lang.String value)
                        throws SemanticException
Sets page break before property value of this group.

Parameters:
value - value of page break before property
Throws:
SemanticException - if the property is locked.

hideDetail

public boolean hideDetail()
Tests whether to hide the detail rows of this group.

Returns:
true if hide the detail rows, otherwise false.

setHideDetail

public void setHideDetail(boolean value)
                   throws SemanticException
Sets whether to hide the detail rows of this group.

Parameters:
value - true if hide the detail rows, otherwise false.
Throws:
SemanticException - if the property is locked.

getOnPageBreak

public java.lang.String getOnPageBreak()
Gets the on-pageBreak script of the group element. Presentation phase. It is for a script executed when the element is prepared for page breaking in the Presentation engine.

Returns:
the on-pageBreak script of the group element

setOnPageBreak

public void setOnPageBreak(java.lang.String script)
                    throws SemanticException
Sets the on-pageBreak script of the group element.

Parameters:
script - the script to set
Throws:
SemanticException - if the method is locked.
See Also:
getOnPageBreak()

getOnCreate

public java.lang.String getOnCreate()
Gets the onCreate script of the group element. Presentation phase. It is for a script executed when the element is prepared for creating in the Presentation engine.

Returns:
the onCreate script of the group element

setOnCreate

public void setOnCreate(java.lang.String script)
                 throws SemanticException
Sets create property value of this group.

Parameters:
value - value of create property
Throws:
SemanticException - if the property is locked.

getOnRender

public java.lang.String getOnRender()
Gets the onRender script of the group element. Presentation phase. It is for a script executed when the element is prepared for rendering in the Presentation engine.

Returns:
the onCreate script of the group element

setOnRender

public void setOnRender(java.lang.String script)
                 throws SemanticException
Sets render property value of this group.

Parameters:
value - value of render property
Throws:
SemanticException - if the property is locked.

columnBindingsIterator

public java.util.Iterator columnBindingsIterator()
Deprecated. since BIRT 2.1 RC2

Returns the bound columns that binds the data set columns. The item in the iterator is the corresponding ComputedColumnHandle.

Returns:
a list containing the bound columns.

getColumnBindings

public PropertyHandle getColumnBindings()
Deprecated. since BIRT 2.1 RC2

Get a handle to deal with the bound column.

Returns:
a handle to deal with the boudn data column.

addColumnBinding

public ComputedColumnHandle addColumnBinding(ComputedColumn addColumn,
                                             boolean inForce)
                                      throws SemanticException
Deprecated. since BIRT 2.1 RC2

Adds a bound column to the list.

Parameters:
addColumn - the bound column to add
inForce - true the column is added to the list regardless of duplicate expression. false do not add the column if the expression already exist
column - the bound column
Returns:
the newly created ComputedColumnHandle or the existed ComputedColumnHandle in the list
Throws:
SemanticException - if expression is not duplicate but the name duplicates the exsiting bound column. Or, if the both name/expression are duplicate, but inForce is true.

getTOC

public TOCHandle getTOC()
Gets TOC handle.

Returns:
toc handle

addTOC

public TOCHandle addTOC(java.lang.String expression)
                 throws SemanticException
Adds toc structure.

Parameters:
expression - toc expression
Returns:
toc handle
Throws:
SemanticException

addTOC

public TOCHandle addTOC(TOC toc)
                 throws SemanticException
Adds toc structure.

Parameters:
toc - toc structure
Returns:
toc handle
Throws:
SemanticException

getBookmark

public java.lang.String getBookmark()
Returns the bookmark of listing group.

Returns:
the book mark as a string

setBookmark

public void setBookmark(java.lang.String value)
                 throws SemanticException
Sets the bookmark of listing group.

Parameters:
value - the property value to be set.
Throws:
SemanticException - if the property is locked.

getACLExpression

public java.lang.String getACLExpression()
Returns the ACL expression associated with the report element instance.

Returns:
the expression in string

setACLExpression

public void setACLExpression(java.lang.String expr)
                      throws SemanticException
Sets the ACL expression associated with the report element instance.

Parameters:
expr - the expression in string
Throws:
SemanticException - if the property is locked by masks

cascadeACL

public boolean cascadeACL()
Returns true (the default), a report element's ACL is automatically propagated to all its directly contained child elements and are added to their ACLs. Otherwise false.

Returns:
the flag to control whether to cascade ACL

setCascadeACL

public void setCascadeACL(boolean cascadeACL)
                   throws SemanticException
Sets the flag to control whether to cascade ACL

Parameters:
cascadeACL - true (the default), a report element's ACL is automatically propagated to all its directly contained child elements and are added to their ACLs. Otherwise false.
Throws:
SemanticException - if the property is locked by masks


Copyright © 2008 Actuate Corp. All rights reserved.