Creando una Variable Dinámica
Esta guía describe los pasos para crear una variable dinámica en una biblioteca de valores utilizando el Diseñador de Reglas. Las variables dinámicas le permiten externalizar valores de configuración que pueden ser sobrescritos en tiempo de ejecución.
Requisitos previos
-
MPS (versión 2022.3.1)
-
Un modelo que utiliza el
com.iconsolutions.simple.devkit, o un kit de desarrollo que lo utilice
Pasos
1. Cree o Abra una Biblioteca de Valores
Las variables dinámicas se definen dentro de las bibliotecas de valores. Si no tiene una ya, cree una nueva biblioteca de valores haciendo clic derecho en su modelo en el Logical View y navegando a New > com.iconsolutions.simple > Value Library.
Si está creando una nueva Biblioteca de Variables Dinámicas, asegúrese de nombrarla.
2. Agregue una Variable Dinámica
Dentro de la biblioteca de valores, cree una nueva entrada colocando el cursor en la tabla de Variables Dinámicas, o donde dice <no declarations>(si no se han definido variables); y presione Enter. Se creará una nueva fila en la tabla con elementos de columna vacíos listos para ser definidos.
3. Nombre la Variable
Dé a su variable dinámica un nombre descriptivo. Este nombre se combinará con el nombre del modelo para formar la clave de configuración.
Por ejemplo, si su modelo se llama paymentService y usted nombra la variable upperBound, la clave de configuración será paymentService_upperBound.
4. Establezca el Tipo
Especifique el tipo de su variable dinámica. Los tipos soportados son:
-
number- para valores numéricos -
string- para valores de texto -
boolean- para valores verdadero/falso -
list<number>- para listas de números -
list<string>- para listas de cadenas -
list<boolean>- para listas de booleanos
Presione Ctrl+Space en el campo de tipo para ver las opciones disponibles.
5. Establezca el Valor Predeterminado
Cada variable dinámica debe tener un valor predeterminado. Este valor se utiliza cuando no se proporciona una anulación de configuración en tiempo de ejecución.
Ingrese un valor predeterminado apropiado para su tipo:
-
Números:`1000`,
3.14 -
Cadenas:`"USD"`
-
Booleanos:`true`,
false -
Listas:`[1, 2, 3]
,["USD", "EUR"]`
6. Establezca la Descripción
Finalmente, se debe añadir una descripción para explicar para qué es la variable, o cualquier otra información importante relacionada con ella.
7. Ejemplo Completo
Una biblioteca de valores completada con múltiples variables dinámicas podría verse así:
En este ejemplo:
-
exampleStringes una cadena con valor predeterminado"example" -
exampleIntes un int con valor predeterminado1 -
exampleBooleanes un booleano con valor predeterminadotrue -
exampleStringListes una lista de cadenas con predeterminado["a", "b", "c"]
Código Generado
Cuando construya su modelo,MPS genera una clase que implementa DynamicVariablesLibrary, que contiene:
-
Estático
DynamicVariable<T>constantes para cada variable -
A singleton
INSTANCE -
A
getDynamicVariables()método que devuelve todas las variables
public class ExampleDynamicVariablesLib implements DynamicVariableLibrary {
public static final DynamicVariable<String> exampleString =
new DynamicVariable<>("exampleModel", "exampleString",
String.class, "example");
// ... other DynamicVariable static declarations
private final List<DynamicVariable<?>> dynamicVariables;
public static DynamicVariableLibrary INSTANCE = new ExampleDynamicVariablesLib();
private ExampleDynamicVariablesLib() {
dynamicVariables = new ArrayList<>();
dynamicVariables.add(exampleString);
// ... adds other DynamicVariables
}
public static DynamicVariable<?> valueOf(String name) {
switch(name) {
case "exampleString":
return exampleString;
// ... other DynamicVariable cases
default:
return null;
}
}
@Override
public List<DynamicVariable<?>> getDynamicVariables() {
return dynamicVariables;
}
}
Próximos Pasos
Después de crear sus variables dinámicas:
-
Construya su MPS modelo para generar el Java código
-
Configure valores de anulación utilizando Configuración HOCON o a través de otra fuente de valor dinámica.
-
Utilice las variables en sus reglas de negocio.- ver Uso de Variables Dinámicas en Reglas de Negocio