changed more stuff

This commit is contained in:
joss 2025-04-08 21:31:13 +02:00
parent cd9a49a19a
commit 29d3ec8268
8 changed files with 146 additions and 79 deletions

42
src/data/DataObject.java Normal file
View file

@ -0,0 +1,42 @@
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).
*/
public abstract class DataObject {
private Model model; // DataObjects speichern eine Referenz auf das Modell zu dem sie gehören
protected String uid; // einmalige UID des Objektes
private 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;
}
/**
* Bindet das DataObject an ein Model.
*
* Ältere Bindings gehen dabei verloren.
*/
public void bind(Model m) {
m.add(this);
this.model = m;
}
}