package org.jkiss.dbeaver.model.impl.preferences;
import org.eclipse.core.commands.common.EventManager;
import org.jkiss.dbeaver.model.preferences.DBPPreferenceListener;
import org.jkiss.dbeaver.model.preferences.DBPPreferenceStore;
public abstract class AbstractPreferenceStore extends EventManager implements DBPPreferenceStore {
public static final boolean BOOLEAN_DEFAULT_DEFAULT = false;
public static final double DOUBLE_DEFAULT_DEFAULT = 0.0;
public static final float FLOAT_DEFAULT_DEFAULT = 0.0f;
public static final int INT_DEFAULT_DEFAULT = 0;
public static final long LONG_DEFAULT_DEFAULT = 0L;
public static final String STRING_DEFAULT_DEFAULT = ""; //$NON-NLS-1$
public static final String TRUE = "true"; //$NON-NLS-1$
public static final String FALSE = "false"; //$NON-NLS-1$
@Override
public void firePropertyChangeEvent(String name, Object oldValue, Object newValue)
{
final Object[] finalListeners = getListeners();
// Do we need to fire an event.
if (finalListeners.length > 0
&& (oldValue == null || !oldValue.equals(newValue))) {
final DBPPreferenceListener.PreferenceChangeEvent pe = new DBPPreferenceListener.PreferenceChangeEvent(this, name, oldValue, newValue);
for (int i = 0; i < finalListeners.length; ++i) {
final DBPPreferenceListener l = (DBPPreferenceListener) finalListeners[i];
l.preferenceChange(pe);
}
}
}
@Override
public void addPropertyChangeListener(DBPPreferenceListener listener) {
addListenerObject(listener);
}
@Override
public void removePropertyChangeListener(DBPPreferenceListener listener) {
removeListenerObject(listener);
}
}