Object and String Tables
La ObjectTable
y la StringTable
proporcionan acceso estático a datos compartidos en un entorno webforJ. Ambas son accesibles desde cualquier parte de tu aplicación y sirven para diferentes propósitos:
ObjectTable
: Para almacenar y recuperar objetos Java a través de tu aplicación.StringTable
: Para trabajar con pares de clave-valor de cadenas persistentes, a menudo utilizados para datos de configuración o de estilo de entorno.
Estas tablas están disponibles a nivel de entorno y no requieren gestión de instancias.
ObjectTable
ObjectTable
es un mapa de clave-valor accesible globalmente para almacenar cualquier objeto Java. Proporciona acceso simple a un estado compartido sin necesidad de instanciar o configurar nada. Solo hay una instancia de ObjectTable y se borra cuando la aplicación se actualiza o termina. Es útil para escenarios donde necesitas hacer datos disponibles a través de múltiples componentes o contextos sin mantener una cadena de referencias.
Configuración y recuperación de objetos
ObjectTable.put("userInfo", new User("Alice", "admin"));
User user = (User) ObjectTable.get("userInfo");
Comprobación de presencia
if (ObjectTable.contains("userInfo")) {
// La clave existe
}
Eliminación de entradas
ObjectTable.clear("userInfo");
Tamaño de la tabla
int total = ObjectTable.size();
StringTable
StringTable
proporciona acceso estático a variables de cadena globales. Es persistente y está limitado a la aplicación actual. Los valores se pueden modificar programáticamente o inyectar a través de la configuración del entorno. Este mecanismo es particularmente útil para almacenar valores de configuración, flags y ajustes que deben ser accesibles en toda la aplicación pero no necesitan llevar datos complejos.
Obtener y establecer valores de cadena
StringTable.put("COMPANY", "Acme Corp");
String company = StringTable.get("COMPANY");
Valores preconfigurados desde la configuración
Puedes definir claves en tu archivo webforj.conf
:
webforj.stringTable = {
COMPANY: 'Acme Corp'
}
Luego accede a ella en el código:
String val = StringTable.get("COMPANY");
Comprobación de presencia
if (StringTable.contains("COMPANY")) {
// La clave está configurada
}
Limpiar una clave
StringTable.clear("COMPANY");