RapidClipse bietet Ihnen die Möglichkeit ganze Views zu persistieren um diese bei Bedarf jederzeit wiederherstellen zu können, z.B. nach einem Anwendungs- oder Systemabsturz oder, damit der Benutzer bei jedem Login seine individuell eingerichtete Oberfläche wieder vorfindet. Dabei wird jedoch nicht automatisch die gesamte Oberfläche gespeichert, sondern nur die UI-Komponenten bei denen Sie die Eigenschaft Properties > GUI Persistence > Persist setzen. Alle für einen späteren Aufbau der GUI notwendigen Parameter werden automatisch ausgelesen und zu einem einzigen String zusammengefasst, den Sie anschließend nur noch speichern müssen. Auch vom Anwender bereits eingegebene Werte und vorgenommene Selektierungen können durch Setzen von Properties > GUI Persistence > Persist > PersistValue mit persistiert werden. Wie Sie den generierten String speichern bleibt jedoch Ihnen überlassen, sodass Sie jede beliebige Strategie umsetzen können, z.B.
Datenbank - Speichern der UI-Informationen bei den Benutzerdaten in der entsprechenden USER Tabelle.
1 View persistieren - Um 1 View zu persistieren, müssen Sie nur 1 weiteres Datenfeld VIEW anlegen.
USER
Datenfelder | Datentyp |
USERNAME | String |
PASSWORD | byte[] |
... | ... |
VIEWNAME | String |
VIEWDATA | String |
USER
Datenfelder | Datentyp |
USERNAME | String |
PASSWORD | byte[] |
... | ... |
VIEWS_ID | Integer |
VIEWS
Datenfelder | Datentyp |
ID | Integer |
VIEWNAME | String |
VIEWDATA | String |
String mit GUI-Daten generieren lassen
String viewData = GuiPersistence.save(this, this.getClass().getName()); //TODO: Persisting viewData into Database |
GUI Daten einer View zuweisen
//TODO: Loading viewData from database first GuiPersistence.load(this, this.getClass().getName(), viewData); |
GUI-Daten global in UI Session speichern
UI.getCurrent().getSession().setAttribute("ProductView", viewData); |
GUI-Daten aus UI Session holen
Object attribute = UI.getCurrent().getSession().getAttribute("ProductView"); String viewData = attribute.toString(); |