PageRenderTime 11ms CodeModel.GetById 9ms RepoModel.GetById 0ms app.codeStats 0ms

/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. }