Class AbstractPersistableFrameElement

  • All Implemented Interfaces:
    EnumWebPersistableState, Persistable, AppComponent, RequestPersistable, Transformable, WebComponent
    Direct Known Subclasses:
    AbstractFrameEditorBean, AbstractObjectExplorerBean, AbstractViewBeanParserBean, ControlToolbarBeanImpl, PageSetupHTMLEditorBeanImpl

    public abstract class AbstractPersistableFrameElement
    extends AbstractPersistableAppComponent
    This class is the abstract realization of the FrameElement. Implements most of the methods except the isEnabled(), which needs to be implemented by every concrete class.
    Notice that in general the FrameElement doesn't implement Persistable, although this class does since most of the FrameElements requires it. Also notice that this class DOES NOT implement the FrameElement interface. This is on purpose. The reason being this class is extended by concrete classes that doesn't necessary extend the FrameElement (in particular, this class is extended by the AbstractEditorBean). The FrameElement will be deprecated in favor of the EditorBean interface. In this scenario all classes will inherit the methods (even if they don't use it), true, but if their interface doesn't extend the FrameElement, the methods will not be publicly available so no harm is done.
    Since:
    MicroStrategy Web 7.3.1 or earlier
    • Constructor Detail

      • AbstractPersistableFrameElement

        public AbstractPersistableFrameElement()
    • Method Detail

      • getReportFrameBean

        public ReportFrameBean getReportFrameBean()
        Returns the ReportFrameBean associated with this report frame element.
        Returns:
        the report frame bean associated with this report frame element.
      • getDocumentFrameBean

        public DocumentFrameBean getDocumentFrameBean()
        Returns the DocumentFrameBean associated with this report frame element.
        Returns:
        the document frame bean associated with this report frame element.
      • getRWFrameBean

        public RWFrameBean getRWFrameBean()
        Returns the RWFrameBean associated with this report frame element.
        Returns:
        the RW Frame bean associated with this report frame element.
        Since:
        MicroStrategy Web 8.0.0
      • isIFrameEnabled

        public boolean isIFrameEnabled()
        Returns:
        True if IFrame is enabled for this instance.
      • setUseIFrame

        public void setUseIFrame​(boolean value)
        Sets whether a ReportFrameElement should use IFrames in its output
        Parameters:
        value - true if IFrrames are enabled
      • getUseIFrame

        public boolean getUseIFrame()
        Indicates whether a ReportFrameElement uses IFrames in its output
        Returns:
        true if it uses IFrames
      • isEditor

        public boolean isEditor()
        Indicates whether a ReportFrameElement most be considered editor. Editors are treated specially by the ReportFrame: only one editor can be shown at any time.
        Returns:
        false, editors needs to override this method.
      • isGridDataNecessary

        public boolean isGridDataNecessary()
        This method indicates the report frame that the element requires the grid for information. Editors that requires to grid data for their input should override this method, since by default it returns false. This method is implemented for the ReportFrameElement interface.
        Returns:
        false.
      • getFeaturesManager

        public WebFeatures getFeaturesManager()
        Overrides getFeaturesManager by providing a new Features implementation for FrameElements.
        Specified by:
        getFeaturesManager in interface WebComponent
        Overrides:
        getFeaturesManager in class AbstractAppComponent
        Returns:
        a FrameElementsFeatures if the concrete bean implements FrameElement, otherwise the default FeaturesManager.
        Since:
        MicroStrategy Web 8.0.0
      • setIsOpen

        public void setIsOpen​(boolean value)
        Overrides setIsOpen by making sure FrameElements use the FrameBean to control their open-close status. If the bean is a FrameElement and has a FrameBean as a parent, then it will ask the FrameBean to open or close it accordingly, otherwise it would use the default setIsOpen implementation.
        Specified by:
        setIsOpen in interface AppComponent
        Overrides:
        setIsOpen in class AbstractAppComponent
        Parameters:
        value - boolean value indicating if the instance should be defined as opened (True) or closed (False).
        Since:
        MicroStrategy Web 8.0.0
      • isOpen

        public boolean isOpen()
        Overrides isOpen by making sure FrameElements use the FrameBean to control their open-close status. If the bean is a FrameElement and has a FrameBean as a parent, then it will ask the FrameBean if it's open, otherwise it would use the default isOpen implementation.
        Specified by:
        isOpen in interface AppComponent
        Overrides:
        isOpen in class AbstractAppComponent
        Returns:
        boolean true if open
        Since:
        MicroStrategy Web 8.0.0
      • doCollectData

        public void doCollectData()
        Extends collectData by setting the Persistable mode to Default (do not persist) if the bean is a FrameElement and it's not editable.
        Overrides:
        doCollectData in class AbstractAppComponent
        Since:
        MicroStrategy Web 8.0.0