Interface PageByBean

  • All Superinterfaces:
    AppComponent, EnumWebPersistableState, FrameElement, Persistable, ReportFrameElement, RequestPersistable, Transformable, WebComponent

    public interface PageByBean
    extends ReportFrameElement

    The PageByBean is used to display the page-by axis for reports, and the group-by section for documents. Conceptually these components are the same: each is a collection of units (usually attributes) that the end-user can modify by adding, removing or changing the position of the units within the collection (pivoting).

    These units control the data displayed to the user: when the report or document is executed each unit is displayed with a combo-box that lists its elements, the data is automatically filtered based on the currently selected element.

    Although conceptually the same, the underlying SDK objects that manipulate the page-by axis and the group-by section are different. The goal of the PageByBean and its related classes is to abstract these differences.

    This bean is associated with a target-bean, which by default can only be a ReportBean or a RWBean. From this target-bean it will populate its list of units, each of which implements the PageByUnit interface. The getUnits() method returns the enumeration of these units.

    Since:
    MicroStrategy Web 8.0.0
    • Method Detail

      • getUnits

        java.util.Enumeration getUnits()
        Returns the Enumeration of PageByUnit. This list is populated from the target-bean.
        Returns:
        The enumeration with the available PageByUnit in the page-by.
      • getFakedUnits

        java.util.Enumeration getFakedUnits()
        Returns the report objects(excluding metrics) in the working set but not on the template
        Returns:
        Enumeration of PageByUnitReportFaked objects.
      • getViewMode

        int getViewMode()
        Returns the view mode for this bean. This bean can be in design mode or in view mode.
        In design mode, there is no data thus the element list is not populated, only the PageByUnits are available.
        In view mode, the element list will be populated as defined in the report/document.
        Returns:
        int The current view mode. A value of the EnumAppBeanViewModes enumeration.
      • canEdit

        boolean canEdit()
        Validates whether the user can edit this PageBy. Some Documents, for example, has a parameter to indicate they cannot be modified. This methods checks this property and any other priviledge.
        Returns:
        true if the page-by collection can be modified (i.e. pivoted, sorted, removed, etc.)
      • hasActiveUnits

        boolean hasActiveUnits()
        Returns whether this bean has a list of "active" units. That is, a list of units that may be modified by the user. An empty list of group by units is not considered "active". Further, in the case of a report services document, if all of the group-by units are 'All' only, then the group by is not considered "active" as users may not change any of the units.
        Returns:
        Whether the page by has a set of "active" units.
        Since:
        MicroStrategy Web 8.1.0
      • hasInvalidUnits

        boolean hasInvalidUnits()
        Returns true if this bean has invalid units.
        Returns:
        true if this bean has invalid units.