A través de los servicios broker.localPersistence.*
, se tiene acceso a funciones relacionadas con el almacenamiento de datos en forma local, es decir en el dispositivo.
Los tipos de datos que pueden ser persistidos localmente por estas funciones en mat|r son:
Básicos := Integer | Bool | Double | String | Date
Recursivos := Array <Básicos> | Array <Recursivos> | Map <Básicos> | Map <Recursivos>
METODOS PUBLICOS
void broker.localPersistence.save(String key, Any valorAGuardar)
Guarda un valor en el almacenamiento de datos local en la key especificada como argumento.
Argumentos |
|
key |
String: key en donde va a ser guardado el valor. |
valorAGuardar |
[Básicos, Recursivos]: Valor a guardar en la key especificada. |
Excepciones |
|
LocalPersistenceInternalException – Has been an exception in local persistence service, in method save for key key . |
Se produjo una excepcion en el servicio de persistencia local. |
UnsupportedTypeInPersistenceService – Error when trying to persist an unsupported type type . |
El tipo de dato que se intenta persistir no es soportado por la funcionalidad. |
Any broker.localPersistence.get(String key)
Recupera un valor desde el almacenamiento de datos local.
Argumentos |
|
key |
String: key del valor a ser recuperado. |
Retorna |
|
[Básicos, Recursivos] |
Valor correspondiente a la key especificada. |
Excepciones |
|
LocalPersistenceInternalException – Has been an exception in local persistence service, in method get for key key . |
Se produjo una excepcion en el servicio de persistencia local. |
LocalPersistenceKeyNotFound – Local persistence service has not found a value for key key . |
El servicio de persistencia local no encontró un valor para la key especificada. |
Any broker.localPersistence.get(String key, Any valorPorDefecto)
Recupera un valor desde el almacenamiento de datos local, devolviendo un valor por defecto si no se encuentra un valor para la key especificada.
Argumentos |
|
key |
String: key del valor a ser recuperado. |
valorPorDefecto |
[Básicos, Recursivos]: valor por defecto. |
Retorna |
|
[Básicos, Recursivos] |
Valor correspondiente a la key especificada. |
Excepciones |
|
LocalPersistenceInternalException – Has been an exception in local persistence service, in method get for key key . |
Se produjo una excepcion en el servicio de persistencia local. |
LocalPersistenceKeyNotFound – Local persistence service has not found a value for key key . |
El servicio de persistencia local no encontró un valor para la key especificada. |
UnsupportedTypeInPersistenceService – Error when trying to get an unsupported type type . |
El tipo de dato que se intenta recuperar por defecto no es soportado. |
Bool broker.localPersistence.hasKey(String key)
Retorna true si existe la key espeficada en key
.
Argumentos |
|
key |
String: key a ser consultada en el almacenamiento local. |
Retorna |
|
Bool |
Retorna true si existe la key especificada. |
void broker.localPersistence.remove(String key)
Borra el valor correspondiente a la key especificada desde el almacenamiento de datos local.
Argumentos |
|
key |
String: key del valor a ser borrado. |
Excepciones |
|
LocalPersistenceKeyNotFound – Local persistence service has not found a value for key key . |
El servicio de persistencia local no encontró un valor para la key especificada. |
void broker.localPersistence.removeAll()
Borra por completo el almacenamiento de datos local.
Ejemplo:
Experience Main {
String name label("Main name")
Decision rule1 action("MainContext.agregarTarea") label("Agregar tarea")
Decision rule2 action("MainContext.borrarLista") label("Borrar lista de tareas")
}
Model Tarea {
String nombreTarea
String descripcionTarea
}
RuleContext MainContext {
Rule agregarTarea {
if (broker.localPersistence.hasKey(“listaTareas”)) {
//recupero la lista de tareas
Array<Tarea> miListaDeTareas = broker.localPersistence.get(“listaTareas”)
Tarea nuevaTarea = Tarea()
nuevaTarea.nombreTarea = “nueva tarea”
nuevaTarea.descripcionTarea = “comprar verduras”
//agrego una nueva tarea a la lista recuperada
miListaDeTareas.add(nuevaTarea)
//guardo la lista en el almacenamiento local
broker.localPersistence.save(“listaTareas”, miListaDeTareas)
}
}
Rule borrarLista {
if (broker.localPersistence.hasKey(“listaTareas”)) {
//borro la lista de tareas
broker.localPersistence.remove(“listaTareas”)
}
}
}