Interface EssCube

All Superinterfaces:
EssObject
All Known Implementing Classes:
EssCubeImpl

public interface EssCube extends EssObject
  • Method Details

    • getCalcScripts

      List<EssScript> getCalcScripts()
      Get the list of scripts associated with this cube.
      Returns:
      the scripts on this cube
    • getApplication

      EssApplication getApplication()
      Gets the parent application of this cube.
      Returns:
      the parent application
    • getSessions

      List<EssSession> getSessions()
      Gets the list of sessions on this cube.
      Returns:
      the current cube sessions
    • getVariables

      List<EssCubeVariable> getVariables()
      Gets the list of variables specific to this cube. The return type is an EssVariableImpl, however, the actual implementation will be the subclass EssCubeVariableImpl. The EssVariableImpl.getScope() method can be used to check the variable type and cast as needed.
      Returns:
      the cube variables
    • getOutline

      EssOutline getOutline()
      Gets an outline object for this cube.
      Returns:
      an outline object
    • isScenariosEnabled

      boolean isScenariosEnabled()
      Checks if this cube has scenarios enabled.
      Returns:
      true if scenarios are enabled, false otherwise
    • createDrillthroughURL

      EssDrillthrough createDrillthroughURL(String urlName, String urlLink, List<String> drillRegions)
      Creates a URL-type drill-through on the cube,
      Parameters:
      urlName - the name (no spaces?!)
      urlLink - the drill-through link
      drillRegions - the drillable regions
      Returns:
      a new drill-through object
    • getDrillthroughs

      List<EssDrillthrough> getDrillthroughs()
      Get list of drill-through reports on the cube.
      Returns:
      the list of cube drill-through reports
    • getDrillthrough

      EssDrillthrough getDrillthrough(String drillthroughName)
      Gets a drill-through report with a specific name. Note that the current implementation of this method hits the drill-through report list endpoint and filters based on the name, so you will likely end up with two trips to the server: one to get the list, and one to get the details of the report, which will happen when you access most detailed properties in the drill-through report.
      Parameters:
      drillthroughName - the name of the drill-through report
      Returns:
      a drill-through report object
    • getScenarios

      List<EssScenario> getScenarios()
      Gets the list of scenarios on the cube, if any.
      Returns:
      the cube's scenarios
    • getMember

      EssMember getMember(String memberName)
      Gets a reference to a particular member in the cube outline. This method is likely to change in the future as the outline management and other classes come in to focus, to say nothing of how member IDs and unique members and such will need to be handled.
      Parameters:
      memberName - the name of the member
      Returns:
      the member
    • getDimensions

      List<EssDimension> getDimensions()
      Gets the list of dimensions on the cube, if any.
      Returns:
      the cube's dimensions
    • getLockedObjects

      List<EssLock> getLockedObjects(Integer offset, Integer limit)
      List Locked Objects Returns all the locked objects from the specified application and database
      Parameters:
      offset - Number of items to omit from the start of the result set. Default value is 0
      limit - Maximum number of objects to return. Default is 50
      Returns:
      LockObjectLis
    • unlockObject

      void unlockObject(EssLock lockedObject)
      Unlock Object Unlocks the object in the specified application and database
      Parameters:
      lockedObject - Details about object to be unlocked
    • lockObject

      void lockObject(EssLock unlockedObject)
      Lock Object Locks the object in the specified application and database and returns the details of the locked object
      Parameters:
      unlockedObject - Object details to be locked (required)
    • exportExcel

      void exportExcel()
      Exports this cube to an Excel workbook.
    • importExcel

      void importExcel(String path, String filename)
      Updates this cube using an Excel workbook. This API is likely to change soon to take an EssFile reference
      Parameters:
      path - the path
      filename - the filename
    • importFile

      void importFile(File file)
      Acts as a convenience function for uploading a file to a cube's storage folder. The Essbase server maps the file location /applications/AppName/CubeName, which contains the cube files such as calc scripts, load rules, and whatnot.
      Parameters:
      file - the file to upload to the cube
    • executeMdx

      void executeMdx(String query, EssCube.MdxOutputType outputType, EssCubeImpl.MdxOptions mdxOptions, OutputStream outputStream)
    • executeMdx

      EssGrid executeMdx(String query)
    • openCubeView

      EssCubeView openCubeView()
      Opens a live, ad hoc grid view on this cube using its default layout - the REST analog of the Java API's IEssCube.openCubeView.
      Returns:
      a navigable cube view
    • openCubeView

      EssCubeView openCubeView(String layoutName)
      Opens a live, ad hoc grid view on this cube using a specific saved layout by name, rather than whatever is currently saved as "Default".
      Parameters:
      layoutName - the name of the saved layout to open
      Returns:
      a navigable cube view
    • resetDefaultView

      void resetDefaultView()
      Resets openCubeView()'s "default grid" back to the true stateless default (the first grid you'd see in an ad hoc analysis, before any grid operations).

      Despite its Swagger documentation, "Get Default Grid" is not actually stateless: every grid operation (zoom, pivot, etc.) is silently persisted server-side into a hidden, per-user layout named Session_Layout_<username> - hidden meaning it never appears in GET .../layouts, even though both "Get Default Grid" and "Execute Layout Grid" read from it. Deleting that layout by its exact name is the only way found so far to restore the documented stateless behavior. The delete call itself is not idempotent (it 400s with "No layout exists..." if there's nothing to delete), but this method treats that specific case as success, since the desired end state - no session layout - already holds.