JAVA-12100: Rename ddd-modules -> ddd-contexts
This commit is contained in:
35
ddd-contexts/sharedkernel/pom.xml
Normal file
35
ddd-contexts/sharedkernel/pom.xml
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.baeldung.dddcontexts.sharedkernel</groupId>
|
||||
<artifactId>sharedkernel</artifactId>
|
||||
<version>1.0</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<parent>
|
||||
<groupId>com.baeldung.dddcontexts</groupId>
|
||||
<artifactId>ddd-contexts</artifactId>
|
||||
<version>1.0</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<configuration>
|
||||
<source>${source.version}</source>
|
||||
<target>${target.version}</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<properties>
|
||||
<source.version>9</source.version>
|
||||
<target.version>9</target.version>
|
||||
</properties>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.baeldung.dddcontexts.sharedkernel.events;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public abstract class ApplicationEvent {
|
||||
protected Map<String, String> payload;
|
||||
|
||||
public abstract String getType();
|
||||
|
||||
public String getPayloadValue(String key) {
|
||||
if (this.payload.containsKey(key)) {
|
||||
return this.payload.get(key);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public ApplicationEvent(Map<String, String> payload) {
|
||||
this.payload = payload;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.baeldung.dddcontexts.sharedkernel.events;
|
||||
|
||||
public interface EventBus {
|
||||
<E extends ApplicationEvent> void publish(E event);
|
||||
|
||||
<E extends ApplicationEvent> void subscribe(String eventType, EventSubscriber subscriber);
|
||||
|
||||
<E extends ApplicationEvent> void unsubscribe(String eventType, EventSubscriber subscriber);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.baeldung.dddcontexts.sharedkernel.events;
|
||||
|
||||
public interface EventSubscriber {
|
||||
<E extends ApplicationEvent> void onEvent(E event);
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.baeldung.dddcontexts.sharedkernel.service;
|
||||
|
||||
import com.baeldung.dddcontexts.sharedkernel.events.ApplicationEvent;
|
||||
import com.baeldung.dddcontexts.sharedkernel.events.EventBus;
|
||||
import com.baeldung.dddcontexts.sharedkernel.events.EventSubscriber;
|
||||
|
||||
public interface ApplicationService {
|
||||
|
||||
default <E extends ApplicationEvent> void publishEvent(E event) {
|
||||
EventBus eventBus = getEventBus();
|
||||
if (eventBus != null) {
|
||||
eventBus.publish(event);
|
||||
}
|
||||
}
|
||||
|
||||
default <E extends ApplicationEvent> void subscribe(String eventType, EventSubscriber subscriber) {
|
||||
EventBus eventBus = getEventBus();
|
||||
if (eventBus != null) {
|
||||
eventBus.subscribe(eventType, subscriber);
|
||||
}
|
||||
}
|
||||
|
||||
default <E extends ApplicationEvent> void unsubscribe(String eventType, EventSubscriber subscriber) {
|
||||
EventBus eventBus = getEventBus();
|
||||
if (eventBus != null) {
|
||||
eventBus.unsubscribe(eventType, subscriber);
|
||||
}
|
||||
}
|
||||
|
||||
EventBus getEventBus();
|
||||
|
||||
void setEventBus(EventBus eventBus);
|
||||
}
|
||||
4
ddd-contexts/sharedkernel/src/main/java/module-info.java
Normal file
4
ddd-contexts/sharedkernel/src/main/java/module-info.java
Normal file
@@ -0,0 +1,4 @@
|
||||
module com.baeldung.dddcontexts.sharedkernel {
|
||||
exports com.baeldung.dddcontexts.sharedkernel.events;
|
||||
exports com.baeldung.dddcontexts.sharedkernel.service;
|
||||
}
|
||||
Reference in New Issue
Block a user