CrystalKeep/src/main/java/nl/andrewlalis/crystalkeep/model/Model.java

39 lines
828 B
Java

package nl.andrewlalis.crystalkeep.model;
import java.nio.file.Path;
import java.util.HashSet;
import java.util.Set;
public class Model {
private Cluster activeCluster;
private Path activeClusterPath;
private final Set<ModelListener> listeners = new HashSet<>();
public Cluster getActiveCluster() {
return activeCluster;
}
public Path getActiveClusterPath() {
return activeClusterPath;
}
public void addListener(ModelListener listener) {
this.listeners.add(listener);
}
public void setActiveCluster(Cluster activeCluster) {
this.activeCluster = activeCluster;
this.notifyListeners();
}
public void setActiveClusterPath(Path activeClusterPath) {
this.activeClusterPath = activeClusterPath;
}
public void notifyListeners() {
this.listeners.forEach(ModelListener::activeClusterUpdated);
}
}