@Override public boolean supportsSourceType(@Nullable Class<?> sourceType) { return !(this.delegate instanceof SmartApplicationListener) || ((SmartApplicationListener) this.delegate).supportsSourceType(sourceType); }
@Override public boolean supportsSourceType(@Nullable Class<?> sourceType) { return (this.delegateApplicationEvents && ((SmartApplicationListener) this.localRegistry).supportsSourceType(sourceType)); }
@Override public boolean supportsSourceType(@Nullable Class<?> sourceType) { return !(this.delegate instanceof SmartApplicationListener) || ((SmartApplicationListener) this.delegate).supportsSourceType(sourceType); }
public void onApplicationEvent(ApplicationEvent event) { if (event == null) { return; } for (SmartApplicationListener listener : listeners) { Object source = event.getSource(); if (source != null && listener.supportsEventType(event.getClass()) && listener.supportsSourceType(source.getClass())) { listener.onApplicationEvent(event); } } }
public void onApplicationEvent(ApplicationEvent event) { if (event == null) { return; } for (SmartApplicationListener listener : listeners) { Object source = event.getSource(); if (source != null && listener.supportsEventType(event.getClass()) && listener.supportsSourceType(source.getClass())) { listener.onApplicationEvent(event); } } }
@Test public void supportsSourceTypeWithSmartApplicationListener() { SmartApplicationListener smartListener = mock(SmartApplicationListener.class); GenericApplicationListenerAdapter listener = new GenericApplicationListenerAdapter(smartListener); listener.supportsSourceType(Object.class); verify(smartListener, times(1)).supportsSourceType(Object.class); }
@Test public void processEventSuccess() { when(delegate.supportsEventType(event.getClass())).thenReturn(true); when(delegate.supportsSourceType(event.getSource().getClass())).thenReturn(true); listener.onApplicationEvent(event); verify(delegate).onApplicationEvent(event); }
@Override public boolean supportsSourceType(@Nullable Class<?> sourceType) { return (this.delegateApplicationEvents && ((SmartApplicationListener) this.localRegistry).supportsSourceType(sourceType)); }
@Override public boolean supportsSourceType(@Nullable Class<?> sourceType) { return (this.delegateApplicationEvents && ((SmartApplicationListener) this.localRegistry).supportsSourceType(sourceType)); }
@Override public boolean supportsSourceType(@Nullable Class<?> sourceType) { return (this.delegateApplicationEvents && ((SmartApplicationListener) this.localRegistry).supportsSourceType(sourceType)); }
@Override public boolean supportsSourceType(@Nullable Class<?> sourceType) { return !(this.delegate instanceof SmartApplicationListener) || ((SmartApplicationListener) this.delegate).supportsSourceType(sourceType); }
public void onApplicationEvent(ApplicationEvent event) { if (event == null) { return; } for (SmartApplicationListener listener : listeners) { Object source = event.getSource(); if (source != null && listener.supportsEventType(event.getClass()) && listener.supportsSourceType(source.getClass())) { listener.onApplicationEvent(event); } } }
/** * Determine whether the given listener supports the given event. * <p> * The default implementation detects the {@link SmartApplicationListener} * interface. In case of a standard {@link ApplicationListener}, a * {@link GenericApplicationListenerAdapter} will be used to introspect the * generically declared type of the target listener. * * @param listener * the target listener to check * @param eventType * the event type to check against * @param sourceType * the source type to check against * @return whether the given listener should be included in the candidates * for the given event type */ protected boolean supportsEvent(ApplicationListener listener, Class<? extends ApplicationEvent> eventType, Class sourceType) { SmartApplicationListener smartListener = (listener instanceof SmartApplicationListener ? (SmartApplicationListener) listener : new GenericApplicationListenerAdapter(listener)); return (smartListener.supportsEventType(eventType) && smartListener.supportsSourceType(sourceType)); }
/** * Determine whether the given listener supports the given event. * <p> * The default implementation detects the {@link SmartApplicationListener} * interface. In case of a standard {@link ApplicationListener}, a * {@link GenericApplicationListenerAdapter} will be used to introspect the * generically declared type of the target listener. * * @param listener * the target listener to check * @param eventType * the event type to check against * @param sourceType * the source type to check against * @return whether the given listener should be included in the candidates * for the given event type */ protected boolean supportsEvent(ApplicationListener listener, Class<? extends ApplicationEvent> eventType, Class sourceType) { SmartApplicationListener smartListener = (listener instanceof SmartApplicationListener ? (SmartApplicationListener) listener : new GenericApplicationListenerAdapter(listener)); return (smartListener.supportsEventType(eventType) && smartListener.supportsSourceType(sourceType)); }