public class

ReportCellDrill

extends AbstractReportCellComposedContextMenuItemBuilder
java.lang.Object
   ↳ com.microstrategy.web.app.gui.ContextMenu.DefaultContextMenuItemBuilder
     ↳ com.microstrategy.web.app.transforms.contextmenus.AbstractReportCellContextMenuItemBuilder
       ↳ com.microstrategy.web.app.transforms.contextmenus.AbstractReportCellComposedContextMenuItemBuilder
         ↳ com.microstrategy.web.app.transforms.contextmenus.ReportCellDrill
Known Direct Subclasses

Class Overview

The ReportCellDrill represents a context menu item builder that will generate a sub-menu structure with a list of the options that a user is enabled to access for navigating different drill paths for the current grid cell selected, specified on the context.

Summary

Nested Classes
class ReportCellDrill.AbstractDrillContextMenuBuilder Abstract base implementation of the ReportCellDrill.DrillContextMenuBuilder class. 
interface ReportCellDrill.DrillContextMenuBuilder Helper builder interface that allows generating the different drill path options for the current cell that shall be displayed to the user. 
class ReportCellDrill.HeaderDrillContextMenuBuilder Relevant to WebHeader (could be MetricHeader, AttributeHeader or DimensionHeader 
class ReportCellDrill.InvalidDrillContextMenuBuilder Implementation of the ReportCellDrill.DrillContextMenuBuilder interface for representing a builder instance corresponding to a non-supported context. 
class ReportCellDrill.RowValueDrillContextMenuBuilder Relavant for metric cell values 
class ReportCellDrill.TitleDrillContextMenuBuilder Relevant to WebTitle related to attribute or metric 
Public Constructors
ReportCellDrill(Shortcut definition)
Class constructor
Public Methods
void addExtraSubMenuOptions(ContextMenu cm)
This methods can be used to add extra options to the drill menu option.
ContextMenuItem createItem(TransformContext context)
Creates and populates a ContextMenuItem based on the information in the Shortcut used as its definition, as well as the logic included on this builder instance.
ContextMenu generateSubMenu(TransformContext context)
Get the submenu that will display the different sub-menu options to the user.
String getItemKey(TransformContext context)
Retrieve the key will be set on the context menu item corresponding to the context input.
Protected Methods
ComposedContextMenuBuilder getComposedContextMenuBuilder(TransformContext context)
Get an instance of ReportCellDrill.DrillContextMenuBuilder that will help obtaining the different drill options that shall be presented to the user.
ReportCellDrill.AbstractDrillContextMenuBuilder getDrillContextMenuBuilder(TransformContext context)
boolean isActionEnabled(TransformContext context)
Called by isItemAvailable(TransformContext), indicates the abstract class if the corresponding action of this item is available.
boolean itemHasSubMenus(ContextMenuItem item, TransformContext context)
void setOndemandMenuItemProperties(ContextMenuItem item, TransformContext context)
Sets the properties on "Drill" ContextMenuItems which is essential for populating of ondemand drilling items for grids.
static void setOndemandProperties(ContextMenuItem item, ReportCellDrill.AbstractDrillContextMenuBuilder subMenuBuilder)
Sets the properties on "Drill" ContextMenuItem which is essential for populating of ondemand drilling items for grids.
boolean shuoldAddExtraSubMenuOptions(TransformContext context)
[Expand]
Inherited Methods
From class com.microstrategy.web.app.transforms.contextmenus.AbstractReportCellComposedContextMenuItemBuilder
From class com.microstrategy.web.app.transforms.contextmenus.AbstractReportCellContextMenuItemBuilder
From class com.microstrategy.web.app.gui.ContextMenu.DefaultContextMenuItemBuilder
From class java.lang.Object
From interface com.microstrategy.web.app.gui.ContextMenuItemBuilder

Public Constructors

public ReportCellDrill (Shortcut definition)

Class constructor

Parameters
definition Shortcut instance with the base definition of the option

Public Methods

public void addExtraSubMenuOptions (ContextMenu cm)

This methods can be used to add extra options to the drill menu option.
By default this method does nothing

Parameters
cm the ContextMenu object

public ContextMenuItem createItem (TransformContext context)

Creates and populates a ContextMenuItem based on the information in the Shortcut used as its definition, as well as the logic included on this builder instance.

Parameters
context TransformContext initialized instance with the information on where this option will be used
Returns
  • a new instance of a ContextMenuItem initialized with the option information to present to the user.

public ContextMenu generateSubMenu (TransformContext context)

Get the submenu that will display the different sub-menu options to the user.

Parameters
context TransformContext initialized instance with the information on where this option will be used
Returns
  • ContextMenu instance initialized with all the options that can be presented to the user.

public String getItemKey (TransformContext context)

Retrieve the key will be set on the context menu item corresponding to the context input. The context menu item generated based on the same context input will have the same key. This method can be called by context menu before calling createItem(TransformContext) to check whether the item already exists in the menu to avoid unnecessary creation.

Parameters
context The context for context menu item creation
Returns
  • The key for the context menu item if created using the context. By default null will be return, which means build has no knowledge about the item key. Then context menu item may generate the key by itself. For builder who wants avoid unnecessary item creation should take advantage of this method by overriding with a meaningful implementation.

Protected Methods

protected ComposedContextMenuBuilder getComposedContextMenuBuilder (TransformContext context)

Get an instance of ReportCellDrill.DrillContextMenuBuilder that will help obtaining the different drill options that shall be presented to the user.

Parameters
context TransformContext initialized instance with the information on where this option will be used
Returns

protected ReportCellDrill.AbstractDrillContextMenuBuilder getDrillContextMenuBuilder (TransformContext context)

protected boolean isActionEnabled (TransformContext context)

Called by isItemAvailable(TransformContext), indicates the abstract class if the corresponding action of this item is available.

Parameters
context TransformContext initialized instance with the information on where this option will be used
Returns
  • boolean value indicating if the option should be enabled to the user or not, given the properties available on the context object.

protected boolean itemHasSubMenus (ContextMenuItem item, TransformContext context)

protected void setOndemandMenuItemProperties (ContextMenuItem item, TransformContext context)

Sets the properties on "Drill" ContextMenuItems which is essential for populating of ondemand drilling items for grids.

Parameters
item a ContextMenuItem
context a TransformContext

protected static void setOndemandProperties (ContextMenuItem item, ReportCellDrill.AbstractDrillContextMenuBuilder subMenuBuilder)

Sets the properties on "Drill" ContextMenuItem which is essential for populating of ondemand drilling items for grids. The properties set are: onDemandJUILModelID, represents the id of the model for ondemand menus onDemandJUILViewID, represents the id of the view for ondemand menus onDemandDynamicMenusKey, represents the key to store the submenu of "Drill" ContextMenuItem and is used by getSubMenu()

The method is static since it is also used in ReportPageByCellDrill class

Parameters
item ContextMenuItem

protected boolean shuoldAddExtraSubMenuOptions (TransformContext context)