20 package net.sf.gridarta.model.mapcontrol;
23 import java.io.FileOutputStream;
24 import java.io.IOException;
25 import java.io.OutputStream;
26 import java.io.OutputStreamWriter;
27 import java.io.Writer;
28 import java.util.Collection;
29 import java.util.concurrent.CopyOnWriteArrayList;
38 import org.jetbrains.annotations.NotNull;
50 private final Collection<MapControlListener<G, A, R>>
listenerList =
new CopyOnWriteArrayList<>();
132 final File dir = file.getParentFile();
133 if (dir !=
null && !dir.exists() && !dir.mkdirs()) {
134 throw new IOException(
"cannot create directory: " + dir);
136 try (OutputStream outputStream =
new FileOutputStream(file)) {
144 public void save() throws IOException {
146 if (mapFile ==
null) {
147 throw new IllegalStateException(
"map file is unset");
164 private void save(@NotNull
final MapFile mapFile)
throws IOException {
171 listener.saved(
this);