Example #1
0
  protected void unregister(CoreEventRegistration reg) {
    ICoreEventSource source = reg.getSource();
    if (source == null) {
      unregisterGlobalRegistration(reg);
      return;
    }

    if (managers == null || managers.isEmpty()) return;

    CoreEventManager manager = managers.get(source);
    if (manager == null) return;

    manager.remove(reg);
    if (manager.isEmpty()) {
      managers.remove(source);
    }
    if (managers.isEmpty()) {
      managers = null;
    }

    if (reg.isOnce()) {
      String eventType = reg.getEventType();
      ICoreEventListener listener = reg.getListener();
      dispatch(source, eventType, new CoreEvent(source, eventType, listener, null), false);
    }
  }
Example #2
0
 public void remove(CoreEventRegistration reg) {
   regs = removeListener(reg.getEventType(), reg, regs);
 }
Example #3
0
 public void add(CoreEventRegistration reg) {
   regs = addListener(reg.getEventType(), reg, regs);
 }