00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 package com.realtime.crossfire.jxclient.settings.options;
00023
00024 import com.realtime.crossfire.jxclient.util.EventListenerList2;
00025 import org.jetbrains.annotations.NotNull;
00026
00032 public abstract class Option {
00033
00037 @NotNull
00038 private final EventListenerList2<OptionListener> listeners = new EventListenerList2<OptionListener>(OptionListener.class);
00039
00043 protected void fireStateChangedEvent() {
00044 for (final OptionListener listener : listeners.getListeners()) {
00045 listener.stateChanged();
00046 }
00047 }
00048
00053 public void addOptionListener(@NotNull final OptionListener listener) {
00054 listeners.add(listener);
00055 }
00056
00061 public void removeOptionListener(@NotNull final OptionListener listener) {
00062 listeners.remove(listener);
00063 }
00064
00071 public boolean inhibitSave() {
00072 return false;
00073 }
00074
00075 }