Event Handling requires 3 Things
- Event Publisher
- Event Listener
- Event
CustomEvent.java(Event)
import org.springframework.context.ApplicationEvent;
public class CustomEvent extends ApplicationEvent
{
public CustomEvent(Object source)
{
super(source);
}
public String toString()
{
return "Custom Message from Custom Event";
}
}
CustomEventListener.java(Event Listener)
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
@Component
public class CustomEventListener implements ApplicationListener
{
@Override
public void onApplicationEvent(ApplicationEvent event) {
System.out.println(event.toString());
}
}
Circle.java(Event Publisher)
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;
@Component
public class Circle implements Shape, ApplicationEventPublisherAware
{
private ApplicationEventPublisher publisher;
@Override
public void drawShape() {
CustomEvent objCustEvent = new CustomEvent(this);
publisher.publishEvent(objCustEvent);
}
@Override
public void setApplicationEventPublisher(ApplicationEventPublisher publisher) {
this.publisher = publisher;
}
public ApplicationEventPublisher getPublisher() {
return publisher;
}
public void setPublisher(ApplicationEventPublisher publisher) {
this.publisher = publisher;
}
}