Record Class EssCubeView.GridPreferences

java.lang.Object
java.lang.Record
com.appliedolap.essbase.EssCubeView.GridPreferences
Record Components:
indentation - member row/column indentation style
suppressMissingRows - whether to suppress rows whose data cells are all #Missing
suppressZeroRows - whether to suppress rows whose data cells are all zero
suppressUnderscoreRows - whether to suppress rows whose member name starts with "_"
navigateWithoutData - whether zooming and pivoting bring data back, or only rearrange the members. The wire has this the other way up, as navigate, which is true when data is wanted - established live, where setting it false returned a grid of empty cells
useBothNamesAndAliases - whether each row dimension gets two columns, its members' names in one and their aliases in the next. The wire calls this includeDescriptionLabel, which says nothing about what it does; established live, where turning it on widened a grid from four columns to five and put 100 beside Colas. Row dimensions only - the column axis is unaffected
repeatMemberLabels - whether a member label repeats down every row of its group, or only appears once at the top of the group
zoomInPreference - the server's default zoom-in depth for a plain EssCubeView.zoomIn(int, int)
includeSelection - whether zooming in keeps the zoomed-on member alongside its new children, rather than replacing it with just the children
withinSelectedGroup - whether a zoom stays scoped to the selected group rather than applying to every member at that level
removeUnselectedGroup - whether zooming in removes sibling groups that weren't selected
suppressMissingColumns - whether to suppress columns whose data cells are all #Missing. Its own flag rather than a rider on suppressMissingRows, which is what it used to be - the wire has a separate columnSupression object and ticking the row box has no business emptying columns
ancestorOnTop - whether a zoom that keeps the zoomed-on member (see includeSelection) puts it above its children rather than below them. Sent as the wire's zoomIn.ancestor, which a 21.1 server accepts and then ignores - top and bottom returned identical grids - so this is a faithful pass-through that currently changes nothing on Essbase
Enclosing interface:
EssCubeView

public static record EssCubeView.GridPreferences(EssCubeView.Indentation indentation, boolean suppressMissingRows, boolean suppressZeroRows, boolean suppressUnderscoreRows, boolean repeatMemberLabels, EssCubeView.ZoomInPreference zoomInPreference, boolean includeSelection, boolean withinSelectedGroup, boolean removeUnselectedGroup, boolean useBothNamesAndAliases, boolean navigateWithoutData, boolean suppressMissingColumns, boolean ancestorOnTop) extends Record
Ad hoc display/navigation preferences, mirroring the classic "Essbase Options" dialog to the extent the REST wire format supports. These are stored server-side per login session (the wire resource is /preferences/grid, with no application/database/cube in its path) - they apply to every subsequent grid operation for this connection, not just this one view, and they persist until changed again or the session ends.

Verified live against a real server: indentation, zoomInPreference, repeatMemberLabels, includeSelection and suppressMissingRows each visibly change the next retrieve/zoom's output. suppressZeroRows, suppressUnderscoreRows, withinSelectedGroup and removeUnselectedGroup are wired through but not confirmed either way. suppressMissingColumns and ancestorOnTop are accepted and stored - they round-trip - and then ignored by a 21.1 server, which returns the empty column and puts the ancestor last whatever they say.

Suppression applies only where the server is choosing what to return. EssCubeView.setLayout(java.util.List<java.lang.String>) states a grid literally and is honoured literally, empty rows included; it is a zoom or a retrieve that suppresses.

  • Constructor Details

    • GridPreferences

      public GridPreferences(EssCubeView.Indentation indentation, boolean suppressMissingRows, boolean suppressZeroRows, boolean suppressUnderscoreRows, boolean repeatMemberLabels, EssCubeView.ZoomInPreference zoomInPreference, boolean includeSelection, boolean withinSelectedGroup, boolean removeUnselectedGroup, boolean useBothNamesAndAliases, boolean navigateWithoutData)
      The form before column suppression and ancestorOnTop existed, which default to off.

      Off is what those callers meant: a grid that suppressed nothing horizontally carries on not doing so, and the ancestor stays where every server put it anyway.

    • GridPreferences

      public GridPreferences(EssCubeView.Indentation indentation, boolean suppressMissingRows, boolean suppressZeroRows, boolean suppressUnderscoreRows, boolean repeatMemberLabels, EssCubeView.ZoomInPreference zoomInPreference, boolean includeSelection, boolean withinSelectedGroup, boolean removeUnselectedGroup, boolean useBothNamesAndAliases)
      The form with useBothNamesAndAliases but not navigateWithoutData.
      Parameters:
      useBothNamesAndAliases - whether each row dimension gets a name column and an alias one
    • GridPreferences

      public GridPreferences(EssCubeView.Indentation indentation, boolean suppressMissingRows, boolean suppressZeroRows, boolean suppressUnderscoreRows, boolean repeatMemberLabels, EssCubeView.ZoomInPreference zoomInPreference, boolean includeSelection, boolean withinSelectedGroup, boolean removeUnselectedGroup)
      The form without useBothNamesAndAliases, which defaults to off.

      Kept so that every caller written before that existed still compiles, and because off is what they meant: a grid that showed one column per row dimension carries on doing so.

    • GridPreferences

      public GridPreferences(EssCubeView.Indentation indentation, boolean suppressMissingRows, boolean suppressZeroRows, boolean suppressUnderscoreRows, boolean repeatMemberLabels, EssCubeView.ZoomInPreference zoomInPreference, boolean includeSelection, boolean withinSelectedGroup, boolean removeUnselectedGroup, boolean useBothNamesAndAliases, boolean navigateWithoutData, boolean suppressMissingColumns, boolean ancestorOnTop)
      Creates an instance of a GridPreferences record class.
      Parameters:
      indentation - the value for the indentation record component
      suppressMissingRows - the value for the suppressMissingRows record component
      suppressZeroRows - the value for the suppressZeroRows record component
      suppressUnderscoreRows - the value for the suppressUnderscoreRows record component
      repeatMemberLabels - the value for the repeatMemberLabels record component
      zoomInPreference - the value for the zoomInPreference record component
      includeSelection - the value for the includeSelection record component
      withinSelectedGroup - the value for the withinSelectedGroup record component
      removeUnselectedGroup - the value for the removeUnselectedGroup record component
      useBothNamesAndAliases - the value for the useBothNamesAndAliases record component
      navigateWithoutData - the value for the navigateWithoutData record component
      suppressMissingColumns - the value for the suppressMissingColumns record component
      ancestorOnTop - the value for the ancestorOnTop record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • indentation

      public EssCubeView.Indentation indentation()
      Returns the value of the indentation record component.
      Returns:
      the value of the indentation record component
    • suppressMissingRows

      public boolean suppressMissingRows()
      Returns the value of the suppressMissingRows record component.
      Returns:
      the value of the suppressMissingRows record component
    • suppressZeroRows

      public boolean suppressZeroRows()
      Returns the value of the suppressZeroRows record component.
      Returns:
      the value of the suppressZeroRows record component
    • suppressUnderscoreRows

      public boolean suppressUnderscoreRows()
      Returns the value of the suppressUnderscoreRows record component.
      Returns:
      the value of the suppressUnderscoreRows record component
    • repeatMemberLabels

      public boolean repeatMemberLabels()
      Returns the value of the repeatMemberLabels record component.
      Returns:
      the value of the repeatMemberLabels record component
    • zoomInPreference

      public EssCubeView.ZoomInPreference zoomInPreference()
      Returns the value of the zoomInPreference record component.
      Returns:
      the value of the zoomInPreference record component
    • includeSelection

      public boolean includeSelection()
      Returns the value of the includeSelection record component.
      Returns:
      the value of the includeSelection record component
    • withinSelectedGroup

      public boolean withinSelectedGroup()
      Returns the value of the withinSelectedGroup record component.
      Returns:
      the value of the withinSelectedGroup record component
    • removeUnselectedGroup

      public boolean removeUnselectedGroup()
      Returns the value of the removeUnselectedGroup record component.
      Returns:
      the value of the removeUnselectedGroup record component
    • useBothNamesAndAliases

      public boolean useBothNamesAndAliases()
      Returns the value of the useBothNamesAndAliases record component.
      Returns:
      the value of the useBothNamesAndAliases record component
    • suppressMissingColumns

      public boolean suppressMissingColumns()
      Returns the value of the suppressMissingColumns record component.
      Returns:
      the value of the suppressMissingColumns record component
    • ancestorOnTop

      public boolean ancestorOnTop()
      Returns the value of the ancestorOnTop record component.
      Returns:
      the value of the ancestorOnTop record component