Package com.appliedolap.essbase.impl
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
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.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.appliedolap.essbase.EssObject
EssObject.TypeNested classes/interfaces inherited from interface com.appliedolap.essbase.EssVariable
EssVariable.Scope -
Field Summary
Fields inherited from class com.appliedolap.essbase.AbstractEssObject
api -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract com.appliedolap.essbase.client.model.Variableedit(com.appliedolap.essbase.client.model.Variable edited) Sends the edit to whichever endpoint owns this scope.getName()Gets the name of this object.getType()Gets the type of this object.getValue()voidChanges this variable's value on the server, in place.toString()protected com.appliedolap.essbase.client.model.Variablevariable()The document as the server sent it, for a subclass that needs to resend it.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.appliedolap.essbase.EssVariable
delete, getScope
-
Method Details
-
getName
Description copied from interface:EssObjectGets 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:
getNamein interfaceEssObject- Specified by:
getNamein interfaceEssVariable- Returns:
- the simple name of this object
-
getType
Description copied from interface:EssObjectGets the type of this object.- Specified by:
getTypein interfaceEssObject- Specified by:
getTypein interfaceEssVariable- Returns:
- the object type
-
getValue
- Specified by:
getValuein interfaceEssVariable- Returns:
- the value this variable currently holds
-
setValue
Description copied from interface:EssVariableChanges 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:
setValuein interfaceEssVariable- 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
-