Class EssEffectiveVariable

java.lang.Object
com.appliedolap.essbase.EssEffectiveVariable

public final class EssEffectiveVariable extends Object
One variable name as a cube actually sees it: the definition that wins, and the ones it hides.

This is the view the REST API will not give you. Essbase resolves variables at evaluation time - a query against a cube sees cube, application and server definitions with the nearest winning - but every list endpoint reports only its own level, so nothing on the server will tell you that &curmonth resolves here to the application's value rather than the server's.

Verified against a live server: with shared defined as Jan on the server, Feb on the application and Mar on the cube, a query returned Mar; deleting the cube definition returned Feb, and deleting the application's returned Jan.

  • Constructor Details

  • Method Details

    • getEffective

      public EssVariable getEffective()
      Returns:
      the definition that actually applies
    • getShadowed

      public List<EssVariable> getShadowed()
      The definitions this one hides, furthest away first - so a cube variable shadowing both an application and a server one lists the server's first.
      Returns:
      the hidden definitions, empty when this name is defined at only one level
    • isOverriding

      public boolean isOverriding()
      Returns:
      whether this name is defined at more than one level
    • getName

      public String getName()
    • getValue

      public String getValue()
    • getScope

      public EssVariable.Scope getScope()
      Returns:
      the scope the winning definition lives at
    • toString

      public String toString()
      Overrides:
      toString in class Object