/connexion-util/src/info/reflectionsofmind/connexion/util/AbstractEventSource.java

https://bitbucket.org/fixpoint/connexion · Java · 32 lines · 20 code · 6 blank · 6 comment · 0 complexity · e88be324084213531b914ce234561120 MD5 · raw file

  1. package info.reflectionsofmind.connexion.util;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import com.google.common.collect.ImmutableList;
  5. public abstract class AbstractEventSource<ListenerType> implements IEventSource<ListenerType>
  6. {
  7. private final List<ListenerType> listeners = new ArrayList<ListenerType>();
  8. /* (non-Javadoc)
  9. * @see info.reflectionsofmind.connexion.util.IEventSource#addListener(ListenerType)
  10. */
  11. public final void addListener(final ListenerType listener)
  12. {
  13. this.listeners.add(listener);
  14. }
  15. /* (non-Javadoc)
  16. * @see info.reflectionsofmind.connexion.util.IEventSource#removeListener(ListenerType)
  17. */
  18. public final void removeListener(final ListenerType listener)
  19. {
  20. this.listeners.remove(listener);
  21. }
  22. protected final List<ListenerType> getListeners()
  23. {
  24. return ImmutableList.copyOf(this.listeners);
  25. }
  26. }