Class 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
    • 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<FilterConditionHandle> 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

        @Deprecated
        public void setGroupStart​(java.lang.String groupStart)
                           throws SemanticException
        Deprecated.
        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

        @Deprecated
        public java.lang.String getGroupStart()
        Deprecated.
        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:
        • INTERVAL_NONE
        • INTERVAL_PREFIX
        • INTERVAL_YEAR
        • INTERVAL_QUARTER
        • INTERVAL_MONTH
        • INTERVAL_WEEK
        • INTERVAL_DAY
        • INTERVAL_HOUR
        • INTERVAL_MINUTE
        • INTERVAL_SECOND
        • INTERVAL_INTERVAL
        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:
        • INTERVAL_NONE
        • INTERVAL_PREFIX
        • INTERVAL_YEAR
        • INTERVAL_QUARTER
        • INTERVAL_MONTH
        • INTERVAL_WEEK
        • INTERVAL_DAY
        • INTERVAL_HOUR
        • INTERVAL_MINUTE
        • INTERVAL_SECOND
        • INTERVAL_INTERVAL
        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:
        • SORT_DIRECTION_ASC
        • SORT_DIRECTION_DESC
        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:
        • SORT_DIRECTION_ASC
        • SORT_DIRECTION_DESC
        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

        @Deprecated
        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

        @Deprecated
        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

        @Deprecated
        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

        @Deprecated
        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

        @Deprecated
        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
      • 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
      • getBookmarkDisplayName

        public java.lang.String getBookmarkDisplayName()
        Gets the display name of the bookmark.
        Returns:
        the display name of the bookmark.
      • setBookmarkDisplayName

        public void setBookmarkDisplayName​(java.lang.String bookmarkDisplayName)
                                    throws SemanticException
        Sets the display name of the bookmark.
        Parameters:
        bookmarkDisplayName - the display name of the bookmark to set
        Throws:
        SemanticException
      • showDetailFilter

        public boolean showDetailFilter()
        Gets the flag which indicates whether to show the detail filter or not.
        Returns:
        true if the group shows the detail filter, otherwise false.
      • setShowDetailFilter

        public void setShowDetailFilter​(boolean showDetailFilter)
                                 throws SemanticException
        Sets the flag which indicates whether to show the detail filter or not.
        Parameters:
        showDetailFilter - the new flag to set
        Throws:
        SemanticException