package org.esa.snap.ui; import java.io.IOException; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; import java.util.prefs.BackingStoreException; import java.util.prefs.NodeChangeListener; import java.util.prefs.PreferenceChangeListener; import java.util.prefs.Preferences; /** * @author Tonio Fincke */ public class DummyPreferences extends Preferences { Map<String, Object> propertyMap; DummyPreferences() { propertyMap = new HashMap<String, Object>(); } @Override public void put(String key, String value) { propertyMap.put(key, value); } @Override public String get(String key, String def) { final Object value = propertyMap.get(key); if(value != null && !value.equals("")) { return value.toString(); } return def; } @Override public void remove(String key) { } @Override public void clear() throws BackingStoreException { } @Override public void putInt(String key, int value) { propertyMap.put(key, value); } @Override public int getInt(String key, int def) { final Object value = propertyMap.get(key); if(value != null) { return Integer.parseInt(value.toString()); } return def; } @Override public void putLong(String key, long value) { } @Override public long getLong(String key, long def) { return 0; } @Override public void putBoolean(String key, boolean value) { } @Override public boolean getBoolean(String key, boolean def) { return false; } @Override public void putFloat(String key, float value) { } @Override public float getFloat(String key, float def) { return 0; } @Override public void putDouble(String key, double value) { } @Override public double getDouble(String key, double def) { return 0; } @Override public void putByteArray(String key, byte[] value) { } @Override public byte[] getByteArray(String key, byte[] def) { return new byte[0]; } @Override public String[] keys() throws BackingStoreException { return new String[0]; } @Override public String[] childrenNames() throws BackingStoreException { return new String[0]; } @Override public Preferences parent() { return null; } @Override public Preferences node(String pathName) { return null; } @Override public boolean nodeExists(String pathName) throws BackingStoreException { return false; } @Override public void removeNode() throws BackingStoreException { } @Override public String name() { return null; } @Override public String absolutePath() { return null; } @Override public boolean isUserNode() { return false; } @Override public String toString() { return null; } @Override public void flush() throws BackingStoreException { } @Override public void sync() throws BackingStoreException { } @Override public void addPreferenceChangeListener(PreferenceChangeListener pcl) { } @Override public void removePreferenceChangeListener(PreferenceChangeListener pcl) { } @Override public void addNodeChangeListener(NodeChangeListener ncl) { } @Override public void removeNodeChangeListener(NodeChangeListener ncl) { } @Override public void exportNode(OutputStream os) throws IOException, BackingStoreException { } @Override public void exportSubtree(OutputStream os) throws IOException, BackingStoreException { } }