Hallo,
ich habe 2 Klassen gegeben: Verzeichnis und Ressource. Meine Aufgabenstellung ist: Bevor eine Ressource in ein neues Verzeichnis eingefügt werden darf, muss die aus ihrem bisherigen Verzeichnis, falls vorhanden, entfernt werden.
Meine Frage: Wie überprüfe ich, in diesem Fall, ob eine Ressource bereits in einem Verzeichnis ist?
Mit freundlichen Grüßen
ich habe 2 Klassen gegeben: Verzeichnis und Ressource. Meine Aufgabenstellung ist: Bevor eine Ressource in ein neues Verzeichnis eingefügt werden darf, muss die aus ihrem bisherigen Verzeichnis, falls vorhanden, entfernt werden.
Meine Frage: Wie überprüfe ich, in diesem Fall, ob eine Ressource bereits in einem Verzeichnis ist?
Java:
public class Verzeichnis extends Ressource {
protected Set<Ressource> inhalte;
public Verzeichnis() {
inhalte = new HashSet<Ressource>();
}
public boolean addInhalt(Ressource inhalt) {
if (inhalte.add(inhalt)) {
inhalt.setVerzeichnis(this);
return true;
}
return false;
}
public boolean removeInhalt(Ressource inhalt) {
if (inhalte.remove(inhalt)) {
inhalt.setVerzeichnis(null);
return true;
}
return false;
}
public Set<Ressource> getInhalte() {
return Collections.unmodifiableSet(inhalte);
}
public abstract class Ressource {
protected Verzeichnis verzeichnis;
public Verzeichnis getVerzeichnis() {
return verzeichnis;
}
public void setVerzeichnis(Verzeichnis verzeichnis) {
if (verzeichnis != null && !verzeichnis.getInhalte().contains(this)) {
verzeichnis.addInhalt(this);
}
this.verzeichnis = verzeichnis;
}
}
Mit freundlichen Grüßen