Object and String Tables
De ObjectTable
en StringTable
bieden statische toegang tot gedeelde gegevens in een webforJ-omgeving. Beide zijn overal in je app toegankelijk en hebben verschillende doeleinden:
ObjectTable
: Voor het opslaan en ophalen van Java-objecten in je app.StringTable
: Voor het werken met persistente sleutel-waarde stringparen, vaak gebruikt voor configuratie of omgevings-achtige gegevens.
Deze tabellen zijn beschikbaar op het omgevingsniveau en vereisen geen instantiebeheer.
ObjectTable
ObjectTable
is een wereldwijd toegankelijke sleutel-waarde map voor het opslaan van elk Java-object. Het biedt eenvoudige toegang tot gedeelde staat zonder dat je iets hoeft te initialiseren of te configureren. Er is slechts één instantie van ObjectTable en deze wordt gewist wanneer de app wordt vernieuwd of beëindigd. Het is nuttig voor scenario's waarin je gegevens beschikbaar wilt maken in meerdere componenten of contexten zonder een referentieketen te onderhouden.
Instellingen en ophalen van objecten
ObjectTable.put("userInfo", new User("Alice", "admin"));
User user = (User) ObjectTable.get("userInfo");
Controleren op aanwezigheid
if (ObjectTable.contains("userInfo")) {
// Sleutel bestaat
}
Verwijderen van vermeldingen
ObjectTable.clear("userInfo");
Tabelgrootte
int total = ObjectTable.size();
StringTable
StringTable
biedt statische toegang tot globale stringvariabelen. Het is persistent en beperkt tot de huidige app. Waarden kunnen programmatologisch worden gewijzigd of geïnjecteerd via omgevingsconfiguratie. Dit mechanisme is bijzonder nuttig voor het opslaan van configuratiewaarden, vlaggen en instellingen die app-breed toegankelijk moeten zijn, maar geen complexe gegevens hoeven te bevatten.
Verkrijgen en instellen van stringwaarden
StringTable.put("COMPANY", "Acme Corp");
String company = StringTable.get("COMPANY");
Vooraf geconfigureerde waarden uit configuratie
Je kunt sleutels definiëren in je webforj.conf
bestand:
webforj.stringTable = {
COMPANY: 'Acme Corp'
}
Toegang krijgen in de code:
String val = StringTable.get("COMPANY");
Controleren op aanwezigheid
if (StringTable.contains("COMPANY")) {
// Sleutel is ingesteld
}
Een sleutel wissen
StringTable.clear("COMPANY");