Gibt es eine Möglichkeit des Setup in JAVA folgenden Konstruktion:JAVA: Statisches Feld in mehreren Klassen + Common Interface
- eine gemeinsame Schnittstelle oder Basisklasse mit
- einem statischen öffentlichen Bereich durch die gemeinsame erklärt hat Schnittstelle
- jedes Modell die gemeinsame Schnittstelle implementieren sollte eigene statische Feld (nicht einer gemeinsamen Instanz für alle Modelle)
Ausführliche Erklärung: Ich arbeite mit ORMLite und muss die ForeignCollections meiner Modelle nach der Deserialisierung aktualisieren. Dafür muss ich von den Modellen einen Verweis auf meine DAO haben, was ich nicht möchte.
So kam ich mit folgendem Konzept bis:
halten ein statisches Feld in jedem der Modelle der folgenden Schnittstellen:
public interface SerializableObserver { void onAfterDeserialization(Object object); }
in meiner Implementierung von
private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException
nach dem Lesen In allen Ivars rufe ich dieonAfterDeserialization
-Methode des statischen Feldes, das ich im Modell halte.- Im Dao stelle ich das statische Feld des Modells ein. Wenn die Deserialisierung beendet ist, wird eine Methode in meinem Dao aufgerufen. Wo kann ich schließlich die ForeignCollection aktualisieren, damit sie nach der Deserialisierung noch gültig ist.
Also, was ich suche, ist eine Art und Weise etwas allgemeinere so diese ganze Ansatz zu machen, muss ich dieses Verhalten für alle meine 20 Modelle nicht implementieren. Und schließlich wird dies eine Android-App sein. also keine schicken Java-8-Dinge.
Ich verstehe Ihre Frage nicht. Obwohl ich es etwas interessant fand, können wir uns zum Chat bewegen? –
Das habe ich ausprobiert. Aber soweit ich weiß, kann ich keine statischen Felder oder Methoden für eine Schnittstelle deklarieren. –