Object and String Tables
Die ObjectTable
und StringTable
bieten statischen Zugriff auf gemeinsam genutzte Daten in einer webforJ-Umgebung. Beide sind von überall in Ihrer App zugänglich und dienen unterschiedlichen Zwecken:
ObjectTable
: Zum Speichern und Abrufen von Java-Objekten in Ihrer App.StringTable
: Zum Arbeiten mit persistenten Schlüssel-Wert-String-Paaren, die häufig für Konfiguration oder Umgebungsdaten verwendet werden.
Diese Tabellen sind auf der Umgebungsstufe verfügbar und erfordern kein Instanzenmanagement.
ObjectTable
ObjectTable
ist eine global zugängliche Schlüssel-Wert-Karte zum Speichern beliebiger Java-Objekte. Es bietet einfachen Zugriff auf einen gemeinsamen Status, ohne etwas instanziieren oder konfigurieren zu müssen. Es gibt nur eine Instanz von ObjectTable, und sie wird gelöscht, wenn die App aktualisiert oder beendet wird. Es ist nützlich für Szenarien, in denen Sie Daten über mehrere Komponenten oder Kontexte hinweg verfügbar machen müssen, ohne eine Referenzkette aufrechtzuerhalten.
Objekte setzen und abrufen
ObjectTable.put("userInfo", new User("Alice", "admin"));
User user = (User) ObjectTable.get("userInfo");
Überprüfung auf Vorhandensein
if (ObjectTable.contains("userInfo")) {
// Schlüssel existiert
}
Einträge entfernen
ObjectTable.clear("userInfo");
Tabellengröße
int total = ObjectTable.size();
StringTable
StringTable
bietet statischen Zugriff auf globale String-Variablen. Es ist persistent und auf die aktuelle App beschränkt. Werte können programmgesteuert modifiziert oder über die Umgebungsabhängigkeit injiziert werden. Dieser Mechanismus ist besonders nützlich für das Speichern von Konfigurationswerten, Flags und Einstellungen, die appweit zugänglich sein müssen, aber keine komplexen Daten tragen müssen.
String-Werte abrufen und setzen
StringTable.put("COMPANY", "Acme Corp");
String company = StringTable.get("COMPANY");
Vorgegebene Werte aus der Konfiguration
Sie können Schlüssel in Ihrer webforj.conf
Datei definieren:
webforj.stringTable = {
COMPANY: 'Acme Corp'
}
Dann können Sie darauf im Code zugreifen:
String val = StringTable.get("COMPANY");
Überprüfung auf Vorhandensein
if (StringTable.contains("COMPANY")) {
// Schlüssel ist gesetzt
}
Ein Schlüssel löschen
StringTable.clear("COMPANY");