package hsmw.jotto5.beleg.data; /** * Basisklasse für ein beliebiges DataObject. * * Alle spezifischen Objekte (im Sinne dieser Anwendung) erben von dieser Klasse. * DataObjects haben eine UID. Diese wird im Model vergeben, und ist einmalig. * Vorgesehen ist die UID als Pfad-formatierter String mit "/" als Trennsymbol, um * DataObjects hierarchisch zu gliedern - der Inhalt ist aber eigentlich egal * (solange eindeutig). *
* Für alle DataObjects gilt, dass der Zugriff auf Methoden und Felder der Objekte * nicht definiert ist, solange sie nicht an ein Modell gebunden sind. */ public abstract class DataObject { protected Model model; // DataObjects speichern eine Referenz auf das Modell zu dem sie gehören protected String uid; // einmalige UID des Objektes protected String displayName; /** * Konstruktor für manuelles Erzeugen. * * Wird nur von Kindklassen verwendet. Dient dazu, ein temporäres * DataObject ohne Model-Bindung zu erzeugen. * @param uid Die vorgegebene UID des Objektes (wird beim Binden an ein Model verwendet) * @param displayName Der Anzeigename des Objektes */ protected DataObject(String uid, String displayName) { this.model = null; this.uid = uid; this.displayName = displayName; } /** * Setzt das Model. * * Nur aus dem Model zu verwenden! */ protected void setModel(Model m) { this.model = m; } public Model getModel() { return this.model; } public String getDisplayName() { return this.displayName; } public void setDisplayName(String displayName) { this.displayName = displayName; } }