Package org.qdl_lang.extensions
Interface QDLVariable
-
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
ExtrinsicVar
,QDLConvert.Sample
,QDLDB.SQLTypes
,StatefulExample.ImportTimestamp
,StemEntryVar
,StemVar
public interface QDLVariable extends Serializable
This represents a QDL variable. At load time, the name will be read and the value will be assigned in the symbol table. Once the variable is in the system, this is ignored since the user then has access to it and can modify it. It is just another variable at that point.Created by Jeff Gaynor
on 1/27/20 at 12:02 PM
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
getName()
The name of the variable.Object
getValue()
The value.
-
-
-
Method Detail
-
getName
String getName()
The name of the variable. This may be a simple name for a scalar, like "a", or it may represent a stem, like "a." (yes, include the period for a stem). You may even set specific stem values by passing in the indexed stem, e.g. "a.3". It might make sense, if e.g. you had a stem that modelled String Theory where the stem is an 11 dimensional object that required a great deal of computation only do-able in Java (such as a specialized scientific library which would be a hugely complex job to expose in QDL). You could then just set each component of the stem.A note on extrinsic values
Extrinsic values start with a $$ (
VariableState.EXTRINSIC_MARKER
) and when the module is loaded, these are put into the workspace -- not at import. This lets you have module constants in advance of configuration the module.- Returns:
-
getValue
Object getValue()
The value. The basic Java types that QDL knows areBoolean
,String
,Long
,BigDecimal
,edu.uiuc.ncsa.qdl.variables.QDLSet
andQDLStem
. Again, this class sets the value and is used to create a single instance of this variable in the workspace, so there should be no state to manage in this class -- just return the value it should have.- Returns:
-
-