Siirry pääsisältöön

Object and String Tables

Avaa ChatGPT:ssä

ObjectTable ja StringTable tarjoavat staattista pääsyä jaettuun dataan webforJ-ympäristössä. Molempiin pääsee käsiksi mistä tahansa sovelluksessasi, ja ne palvelevat eri tarkoituksia:

  • ObjectTable: Käytetään Java-objektien tallentamiseen ja hakemiseen sovelluksesi laajuudessa.
  • StringTable: Työskentelee pysyvien avain-arvo-merkkijonoparien kanssa, joita käytetään usein konfiguraatio- tai ympäristötyyppisessä datassa.

Nämä taulukot ovat saatavilla ympäristötasolla, eikä niiden hallintaan tarvita instanssien hallintaa.

ObjectTable

ObjectTable on globaalisti käytettävissä oleva avain-arvo-kartta, jota käytetään minkä tahansa Java-objektin tallentamiseen. Se tarjoaa yksinkertaisen pääsyn jaettuun tilaan ilman, että mitään tarvitsee instansioida tai konfiguroida. ObjectTable:llä on vain yksi instanssi, ja se tyhjennetään, kun sovellus päivitetään tai suljetaan. Se on hyödyllinen tilanteissa, joissa tarvitaan datan saatavuutta useiden komponenttien tai kontekstien välillä ilman, että viittausketjua tarvitsee ylläpitää.

Objektien asettaminen ja hakeminen

ObjectTable.put("userInfo", new User("Alice", "admin"));
User user = (User) ObjectTable.get("userInfo");

Läsnäolon tarkistaminen

if (ObjectTable.contains("userInfo")) {
// Avain on olemassa
}

Entryjen poistaminen

ObjectTable.clear("userInfo");

Taulukon koko

int total = ObjectTable.size();

StringTable

StringTable tarjoaa staattista pääsyä globaaleihin merkkijonomuuttujiin. Se on pysyvä ja rajattu nykyiseen sovellukseen. Arvoja voidaan ohjelmallisesti muuttaa tai syöttää ympäristön konfiguraation kautta. Tämä mekanismi on erityisen hyödyllinen, kun tallennetaan konfiguraatioarvoja, lippuja ja asetuksia, jotka on oltava käytettävissä sovelluslaajuisesti, mutta eivät tarvitse kantaa monimutkaista dataa.

Merkkijonojen arvojen saaminen ja asettaminen

StringTable.put("COMPANY", "Acme Corp");
String company = StringTable.get("COMPANY");

Esikonfiguroitujen arvojen hakeminen konfiguraatiosta

Voit määrittää avaimia webforj.conf -tiedostossasi:

webforj.stringTable = {
COMPANY: 'Acme Corp'
}

Sitten voit päästä niihin koodissa:

String val = StringTable.get("COMPANY");

Läsnäolon tarkistaminen

if (StringTable.contains("COMPANY")) {
// Avain on asetettu
}

Avaimen tyhjentäminen

StringTable.clear("COMPANY");