Class EssCubeViewImpl

java.lang.Object
com.appliedolap.essbase.impl.EssCubeViewImpl
All Implemented Interfaces:
EssCubeView, EssGrid

public class EssCubeViewImpl extends Object implements EssCubeView
  • Constructor Details

    • EssCubeViewImpl

      public EssCubeViewImpl(ApiContext api, String applicationName, String databaseName, com.appliedolap.essbase.client.model.Grid grid)
  • Method Details

    • getRows

      public int getRows()
      Specified by:
      getRows in interface EssGrid
    • getColumns

      public int getColumns()
      Specified by:
      getColumns in interface EssGrid
    • getCell

      public String getCell(int row, int col)
      Specified by:
      getCell in interface EssGrid
    • getCellType

      public EssCubeView.CellType getCellType(int row, int col)
      Description copied from interface: EssCubeView
      Classifies the cell at the given position as EssCubeView.CellType.DATA or EssCubeView.CellType.MEMBER. Based on whether the cell's (undocumented by Oracle) types code is exactly "2" - verified, against a live server, to mark the data-cell position consistently whether or not the cell currently holds a real value (confirmed both with real data present, and later with every data cell blank/missing after a database reload). Deliberately compares by equality rather than treating types as a bitmask: code "7" (blank filler cells) also has bit 2 set, but is not a data position, so a bitwise check misclassifies it.
      Specified by:
      getCellType in interface EssCubeView
      Parameters:
      row - the row of the cell
      col - the column of the cell
      Returns:
      the cell's type
    • setMembers

      public void setMembers(List<EssCubeView.MemberPlacement> placements)
      Description copied from interface: EssCubeView
      Replaces the members at the given positions, in one request. Verified live against a real server: this retargets an existing member-position on an existing axis tier to a different member (e.g. changing which Product shows in a given row) - it does not grow the grid to add rows or columns beyond what's already there, and the given member name must be valid for that position's dimension.
      Specified by:
      setMembers in interface EssCubeView
      Parameters:
      placements - the members to place, and where
    • zoomIn

      public void zoomIn(int row, int col)
      Description copied from interface: EssCubeView
      Zooms in on the member at the given position, using the server's default zoom-in preference. See the class-level javadoc: this tries "ranges" first and only falls back to "coordinates" if the server itself rejects that shape - not a guess based on inspecting the cell, but a reaction to what the server says about the same literal click either way.
      Specified by:
      zoomIn in interface EssCubeView
      Parameters:
      row - the row of the member to zoom in on
      col - the column of the member to zoom in on
    • zoomOut

      public void zoomOut(int row, int col)
      Description copied from interface: EssCubeView
      Zooms out from the member at the given position. See the class-level javadoc: this describes the click as-is and returns whatever the server does with it, rather than computing a request shaped to force a particular collapse.
      Specified by:
      zoomOut in interface EssCubeView
      Parameters:
      row - the row of the member to zoom out from
      col - the column of the member to zoom out from
    • keepOnly

      public void keepOnly(int row, int col)
      Description copied from interface: EssCubeView
      Keeps only the member at the given position. See the class-level javadoc: this describes the click as-is and returns whatever the server does with it, rather than computing a request shaped to force a particular outcome.
      Specified by:
      keepOnly in interface EssCubeView
      Parameters:
      row - the row of the member to keep
      col - the column of the member to keep
    • removeOnly

      public void removeOnly(int row, int col)
      Description copied from interface: EssCubeView
      Removes the member at the given position, keeping the rest.

      Not currently verified to work - every coordinate/range tried against a live server returns "This operation would generate a nonsensical report." See the class-level javadoc.

      Specified by:
      removeOnly in interface EssCubeView
      Parameters:
      row - the row of the member to remove
      col - the column of the member to remove
    • refresh

      public void refresh()
      Description copied from interface: EssCubeView
      Re-executes the view as-is, picking up any data changes made since it was last retrieved.
      Specified by:
      refresh in interface EssCubeView
    • pivot

      public void pivot(int fromRow, int fromCol, int toRow, int toCol)
      Description copied from interface: EssCubeView
      Swaps the positions of the members at the two given coordinates.
      Specified by:
      pivot in interface EssCubeView
      Parameters:
      fromRow - the row of the first member
      fromCol - the column of the first member
      toRow - the row of the second member
      toCol - the column of the second member
    • pivotToPov

      public void pivotToPov(int row, int col)
      Description copied from interface: EssCubeView
      Pins the member at the given position into the POV, removing its dimension from whichever axis it currently occupies.
      Specified by:
      pivotToPov in interface EssCubeView
      Parameters:
      row - the row of the member to pin to the POV
      col - the column of the member to pin to the POV
    • getPreferences

      public EssCubeView.GridPreferences getPreferences()
      Description copied from interface: EssCubeView
      Reads the current session's ad hoc display/navigation preferences.
      Specified by:
      getPreferences in interface EssCubeView
    • setPreferences

      public void setPreferences(EssCubeView.GridPreferences preferences)
      Description copied from interface: EssCubeView
      Replaces the current session's ad hoc display/navigation preferences. See EssCubeView.GridPreferences: this takes effect for every subsequent grid operation on this connection, not just this view, and persists until changed again.
      Specified by:
      setPreferences in interface EssCubeView
      Parameters:
      preferences - the preferences to apply