+ private void onDataChangeEventEmit(Map<String, DataTypeDefinition> newData) {
+ log.trace("Cache data has changed, sending event to all listening for this change.");
+ DataTypesCacheChangedEvent dataTypesCacheChangedEvent = new DataTypesCacheChangedEvent(this, newData);
+ applicationEventPublisher.publishEvent(dataTypesCacheChangedEvent);
+ }
+
+ /**
+ * Custom event to notify all interested in cached data changes
+ */
+ public static class DataTypesCacheChangedEvent extends ApplicationEvent {
+ @Getter
+ private Map<String, DataTypeDefinition> newData;
+
+ public DataTypesCacheChangedEvent(Object source, Map<String, DataTypeDefinition> newData) {
+ super(source);
+ this.newData = newData;
+ }
+ }