beleg/src/data/DataObject.java
2025-04-29 15:49:21 +02:00

56 lines
1.6 KiB
Java

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).
* <p>
* 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;
}
}