1 21 package com.db4o.events.impl; 22 23 import com.db4o.events.*; 24 import com.db4o.foundation.*; 25 26 30 public class Event4Impl implements Event4 { 31 32 private Collection4 _listeners; 33 34 public void addListener(EventListener4 listener) { 35 validateListener(listener); 36 37 if (null == _listeners) { 38 _listeners = new Collection4(); 39 } 40 _listeners.add(listener); 41 } 42 43 public void removeListener(EventListener4 listener) { 44 validateListener(listener); 45 46 if (null != _listeners) { 47 _listeners.remove(listener); 48 if (0 == _listeners.size()) { 49 _listeners = null; 50 } 51 } 52 } 53 54 public void trigger(EventArgs args) { 55 if (null == _listeners) { 56 return; 57 } 58 59 Iterator4 iterator = _listeners.iterator(); 60 while (iterator.moveNext()) { 61 ((EventListener4)iterator.current()).onEvent(this, args); 62 } 63 } 64 65 private void validateListener(EventListener4 listener) { 66 if (null == listener) { 67 throw new ArgumentNullException("listener"); 68 } 69 } 70 } 71 | Popular Tags |