Class EssVariableImpl

java.lang.Object
com.appliedolap.essbase.AbstractEssObject
com.appliedolap.essbase.impl.EssVariableImpl
All Implemented Interfaces:
EssObject, EssVariable
Direct Known Subclasses:
EssApplicationVariableImpl, EssCubeVariableImpl, EssServerVariableImpl

public abstract class EssVariableImpl extends AbstractEssObject implements EssVariable
What the three scopes of variable have in common: a name, a value, and the fact that the server models all three with the same Variable document.

Abstract because the operations that matter are not shared. Editing and deleting go to a different endpoint per scope, and the version of this class that let them be inherited had application and cube variables deleting themselves through the server endpoint - so deleting an application variable either removed an unrelated server variable of the same name or failed, and in neither case did what was asked.

  • Method Details

    • getName

      public String getName()
      Description copied from interface: EssObject
      Gets the name of this object. This will generally be the "nice" and "unique" name of this object, such as the application name, cube, member, variable, or whatever.
      Specified by:
      getName in interface EssObject
      Specified by:
      getName in interface EssVariable
      Returns:
      the simple name of this object
    • getType

      public EssObject.Type getType()
      Description copied from interface: EssObject
      Gets the type of this object.
      Specified by:
      getType in interface EssObject
      Specified by:
      getType in interface EssVariable
      Returns:
      the object type
    • getValue

      public String getValue()
      Specified by:
      getValue in interface EssVariable
      Returns:
      the value this variable currently holds
    • setValue

      public void setValue(String value)
      Description copied from interface: EssVariable
      Changes this variable's value on the server, in place.

      Separate from creating one: the server refuses to create a variable that already exists at that level ("Variable 'x' already exists in server") and refuses to edit one that doesn't, so the two are not interchangeable.

      Specified by:
      setValue in interface EssVariable
      Parameters:
      value - the new value
    • edit

      protected abstract com.appliedolap.essbase.client.model.Variable edit(com.appliedolap.essbase.client.model.Variable edited)
      Sends the edit to whichever endpoint owns this scope.
      Parameters:
      edited - the new state
      Returns:
      what the server says it now holds
    • variable

      protected com.appliedolap.essbase.client.model.Variable variable()
      The document as the server sent it, for a subclass that needs to resend it.
    • toString

      public String toString()
      Overrides:
      toString in class Object