From 8210cf0041b9848d7d3a61edc07debf2f58222ee Mon Sep 17 00:00:00 2001 From: hneemann Date: Wed, 11 May 2016 18:30:39 +0200 Subject: [PATCH] made setting key list unmodifiable --- src/main/java/de/neemann/digital/gui/Settings.java | 11 ++++++++--- .../digital/gui/components/AttributeDialog.java | 6 +++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/neemann/digital/gui/Settings.java b/src/main/java/de/neemann/digital/gui/Settings.java index 6c7084edd..cee2b1480 100644 --- a/src/main/java/de/neemann/digital/gui/Settings.java +++ b/src/main/java/de/neemann/digital/gui/Settings.java @@ -10,21 +10,26 @@ import de.neemann.digital.draw.elements.Circuit; import java.io.*; import java.util.ArrayList; +import java.util.Collections; +import java.util.List; /** * The Settings of Digital - *

+ *

* Created by Helmut.Neemann on 11.05.2016. */ public final class Settings implements AttributeListener { + private static final List INT_LIST = new ArrayList<>(); + /** * The list of supported attributes. */ - public static final ArrayList SETTINGS_KEYS = new ArrayList<>(); + public static final List SETTINGS_KEYS = Collections.unmodifiableList(INT_LIST); + static { - SETTINGS_KEYS.add(Keys.SETTINGS_IEEE_SHAPES); + INT_LIST.add(Keys.SETTINGS_IEEE_SHAPES); } private static final class SettingsHolder { diff --git a/src/main/java/de/neemann/digital/gui/components/AttributeDialog.java b/src/main/java/de/neemann/digital/gui/components/AttributeDialog.java index 97126e5c9..ee3a95275 100644 --- a/src/main/java/de/neemann/digital/gui/components/AttributeDialog.java +++ b/src/main/java/de/neemann/digital/gui/components/AttributeDialog.java @@ -15,7 +15,7 @@ import java.util.ArrayList; */ public class AttributeDialog extends JDialog { - private final ArrayList editors; + private final java.util.List editors; private boolean changed = false; /** @@ -25,7 +25,7 @@ public class AttributeDialog extends JDialog { * @param list the list of keys which are to edit * @param elementAttributes the data stored */ - public AttributeDialog(Component parent, ArrayList list, ElementAttributes elementAttributes) { + public AttributeDialog(Component parent, java.util.List list, ElementAttributes elementAttributes) { this(parent, null, list, elementAttributes); } @@ -37,7 +37,7 @@ public class AttributeDialog extends JDialog { * @param list the list of keys which are to edit * @param elementAttributes the data stored */ - public AttributeDialog(Component parent, Point pos, ArrayList list, ElementAttributes elementAttributes) { + public AttributeDialog(Component parent, Point pos, java.util.List list, ElementAttributes elementAttributes) { super(SwingUtilities.getWindowAncestor(parent), Lang.get("attr_dialogTitle"), ModalityType.APPLICATION_MODAL); setDefaultCloseOperation(DISPOSE_ON_CLOSE);