public boolean addObserver(final Object observer) { return observerManager.addObserver(observer); }
private Invocation buildInvocation(final Class<?> type) { final Invocation before = buildInvocation(Phase.BEFORE, type); final Invocation after = buildInvocation(Phase.AFTER, type); final Invocation invoke = buildInvocation(Phase.INVOKE, type); if (IGNORE == before && IGNORE == after) { return invoke; } else { return new BeforeAndAfterInvocationSet(before, invoke, after); } }
public <E> E fireEvent(final E event) { return observerManager.fireEvent(event); }
public boolean removeObserver(final Object observer) { return observerManager.removeObserver(observer); }
private <E> E doFire(final E event) { final Class<?> type = event.getClass(); final Invocation invocation = getInvocation(type); invocation.invoke(event); return event; }
public <E> E fireEvent(final E event) { if (event == null) { throw new IllegalArgumentException("event cannot be null"); } try { return doFire(event); } finally { seen.remove(); } }
public void removeObservers() { observerManager.destroy(); } }
public boolean removeObserver(final Object observer) { return observerManager.removeObserver(observer); }
private <E> E doFire(final E event) { final Class<?> type = event.getClass(); final Invocation invocation = getInvocation(type); invocation.invoke(event); return event; }
public <E> E fireEvent(final E event) { if (event == null) { throw new IllegalArgumentException("event cannot be null"); } try { return doFire(event); } finally { seen.remove(); } }
public <E> E fireEvent(final E event) { return observerManager.fireEvent(event); }
private Invocation buildInvocation(final Class<?> type) { final Invocation before = buildInvocation(Phase.BEFORE, type); final Invocation after = buildInvocation(Phase.AFTER, type); final Invocation invoke = buildInvocation(Phase.INVOKE, type); if (IGNORE == before && IGNORE == after) { return invoke; } else { return new BeforeAndAfterInvocationSet(before, invoke, after); } }
public void destroy() { for (final Observer o : new LinkedList<>(observers)) { removeObserver(o.observer); } }
public boolean addObserver(final Object observer) { return observerManager.addObserver(observer); }
public boolean addObserver(final Object observer) { if (observer == null) { throw new IllegalArgumentException("observer cannot be null"); } try { final Observer wrapper = new Observer(observer); if (wrapper.after.size() + wrapper.before.size() + wrapper.methods.size() > 0 && observers.add(wrapper)) { methods.clear(); fireEvent(new ObserverAdded(observer)); return true; } else { return false; } } catch (final NotAnObserverException naoe) { return false; } }
private Invocation getInvocation(final Class<?> type) { { final Invocation invocation = methods.get(type); if (invocation != null) { return invocation; } } final Invocation invocation = buildInvocation(type); methods.put(type, invocation); return invocation; }
public boolean addObserver(final Object observer) { if (observer == null) { throw new IllegalArgumentException("observer cannot be null"); } try { final Observer wrapper = new Observer(observer); if (wrapper.after.size() + wrapper.before.size() + wrapper.methods.size() > 0 && observers.add(wrapper)) { methods.clear(); fireEvent(new ObserverAdded(observer)); return true; } else { return false; } } catch (final NotAnObserverException naoe) { return false; } }
private Invocation getInvocation(final Class<?> type) { { final Invocation invocation = methods.get(type); if (invocation != null) { return invocation; } } final Invocation invocation = buildInvocation(type); methods.put(type, invocation); return invocation; }
public boolean removeObserver(final Object observer) { if (observer == null) { throw new IllegalArgumentException("listener cannot be null"); } try { if (observers.remove(new Observer(observer))) { methods.clear(); fireEvent(new ObserverRemoved(observer)); return true; } else { return false; } } catch (final NotAnObserverException naoe) { return false; } }
public boolean removeObserver(final Object observer) { if (observer == null) { throw new IllegalArgumentException("listener cannot be null"); } try { if (observers.remove(new Observer(observer))) { methods.clear(); fireEvent(new ObserverRemoved(observer)); return true; } else { return false; } } catch (final NotAnObserverException naoe) { return false; } }