56 lines
1.6 KiB
Java
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;
|
|
}
|
|
|
|
}
|