package org.springframework.data.neo4j.events; import org.springframework.context.event.EventListener; import org.springframework.core.ResolvableType; import org.springframework.stereotype.Component; /** * Created by markangrish on 22/09/2016. */ @Component public class Neo4jModificationEventListener { private int preSaveEventCount = 0; private int postSaveEventCount = 0; private int preDeleteEventCount = 0; private int postDeleteEventCount = 0; private PreSaveEvent preSaveEvent; private PostSaveEvent postSaveEvent; private PreDeleteEvent preDeleteEvent; private PostDeleteEvent postDeleteEvent; @EventListener public void onPreSaveEvent(PreSaveEvent event) { preSaveEvent= event; preSaveEventCount++; } @EventListener public void onPostSaveEvent(PostSaveEvent event) { postSaveEventCount++; postSaveEvent = event; } @EventListener public void onPreDeleteEvent(PreDeleteEvent event) { preDeleteEventCount++; preDeleteEvent = event; } @EventListener public void onPostDeleteEvent(PostDeleteEvent event) { postDeleteEventCount++; postDeleteEvent = event; } public boolean receivedPreSaveEvent() { return preSaveEventCount == 1; } public boolean receivedPostSaveEvent() { return postSaveEventCount == 1; } public boolean receivedPreDeleteEvent() { return preDeleteEventCount == 1; } public boolean receivedPostDeleteEvent() { return postDeleteEventCount == 1; } public PreSaveEvent getPreSaveEvent() { return preSaveEvent; } public PostSaveEvent getPostSaveEvent() { return postSaveEvent; } public PreDeleteEvent getPreDeleteEvent() { return preDeleteEvent; } public PostDeleteEvent getPostDeleteEvent() { return postDeleteEvent; } }