Is es irgendwie auch, da kommt manchmal halt der phpler aus mir raus.
Also ich versuchs mein vorhaben nochmals zu erklären:
Im Grunde ist es ja eine primitivere Art, meine Klassen(und nicht die Objekte) in der Datenbank abzubilden, ähnlich wie die Hibernate hbm.xml Datein.
Dazu wollte ich einfach eine statische HashMap<Spaltenname, ArrayList<SonstigeEigenschaften>> in der Hauptklasse definieren.
Die einzelnen Subklassen würden dann diese Liste einfach erweitern, wobei ich halt darauf achten müsste das die Daten sich nicht überlagerten.
Würde ich jetzt eine neue Subklasse hinzufügen, müsste ich einfach der HashMap gegebenfalls neue Eigenschaften zuweisen.
Eine externe Klasse würde jetzt, sobald ich sie aufrufe, die Eigenschaften aller Klassen zusammenzählen und daraus die Datenbankabbildung zusammenzimmern (zusammengefasst als eine Tabelle, mit Spalte class zur Unterscheidung) und die Tabelle nach den neuen Eigenschaften abändern.
Die Klassen die ich damit abbilden würde, hätten nur primitive Datentypen und sind deswegen leicht abzubilden.
Und hier kommt meine Frage ins Spiel ob man Klassen per Schleife durchgehen kann. Denn für diesen Zweck hätte ich in den Subklassen eine statische Methode aufrufen müssen, damit die statischen Eigenschaften der Subklassen überhaupt initalisiert werden.
Frage ist auch ob es wirklich sinnvoll ist die Eigenschaften verstreut in den einzelnen Klassen zu definieren, oder ob man sie irgend wo zentral definiert. Vielleicht hält sich der Vorteil auch in Grenzen und ich hab mir jetzt unnütz Arbeit gemacht, aber zumindest lern ich so etwas über Java.
Gibt es alternativ eine Möglichkeit statische Eigenschaften einer Klasse zum initaliseren zu bringen ohne das extra auf diese zugegriffen wird?
Ich möchte ja das die Subklassen ihren Senf von sich aus dazugeben, ohne das ich sie dazu überreden muss.
Und auch wenn das keine schöne Programmierung darstellt, für meine Anforderungen reicht es aus^^
lg