1. Renamed Message to Event and Event to AbstractEvent 2. Generified Event and Handler 3. Updated EventDispatcher to make unsafe configuration impossible 4. Updated UML diagram accordingly
184 lines
10 KiB
XML
184 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<class-diagram version="1.1.9" icons="true" automaticImage="PNG" always-add-relationships="true" generalizations="true"
|
|
realizations="true" associations="true" dependencies="true" nesting-relationships="true" router="FAN">
|
|
<class id="1" language="java" name="com.iluwatar.eda.model.User" project="event-driven-architecture"
|
|
file="/event-driven-architecture/src/main/java/com/iluwatar/eda/model/User.java" binary="false"
|
|
corner="BOTTOM_RIGHT">
|
|
<position height="-1" width="-1" x="437" y="535"/>
|
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
|
sort-features="false" accessors="true" visibility="true">
|
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
|
</display>
|
|
</class>
|
|
<class id="2" language="java" name="com.iluwatar.eda.handler.UserUpdatedEventHandler"
|
|
project="event-driven-architecture"
|
|
file="/event-driven-architecture/src/main/java/com/iluwatar/eda/handler/UserUpdatedEventHandler.java" binary="false"
|
|
corner="BOTTOM_RIGHT">
|
|
<position height="-1" width="-1" x="763" y="379"/>
|
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
|
sort-features="false" accessors="true" visibility="true">
|
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
|
</display>
|
|
</class>
|
|
<class id="3" language="java" name="com.iluwatar.eda.handler.UserCreatedEventHandler"
|
|
project="event-driven-architecture"
|
|
file="/event-driven-architecture/src/main/java/com/iluwatar/eda/handler/UserCreatedEventHandler.java" binary="false"
|
|
corner="BOTTOM_RIGHT">
|
|
<position height="-1" width="-1" x="596" y="272"/>
|
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
|
sort-features="false" accessors="true" visibility="true">
|
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
|
</display>
|
|
</class>
|
|
<interface id="4" language="java" name="com.iluwatar.eda.framework.Event" project="event-driven-architecture"
|
|
file="/event-driven-architecture/src/main/java/com/iluwatar/eda/framework/Event.java" binary="false"
|
|
corner="BOTTOM_RIGHT">
|
|
<position height="-1" width="-1" x="188" y="121"/>
|
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
|
sort-features="false" accessors="true" visibility="true">
|
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
|
</display>
|
|
</interface>
|
|
<interface id="5" language="java" name="com.iluwatar.eda.framework.Handler" project="event-driven-architecture"
|
|
file="/event-driven-architecture/src/main/java/com/iluwatar/eda/framework/Handler.java" binary="false"
|
|
corner="BOTTOM_RIGHT">
|
|
<position height="-1" width="-1" x="755" y="58"/>
|
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
|
sort-features="false" accessors="true" visibility="true">
|
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
|
</display>
|
|
</interface>
|
|
<class id="6" language="java" name="com.iluwatar.eda.framework.EventDispatcher" project="event-driven-architecture"
|
|
file="/event-driven-architecture/src/main/java/com/iluwatar/eda/framework/EventDispatcher.java" binary="false"
|
|
corner="BOTTOM_RIGHT">
|
|
<position height="-1" width="-1" x="499" y="122"/>
|
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
|
sort-features="false" accessors="true" visibility="true">
|
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
|
</display>
|
|
</class>
|
|
<class id="7" language="java" name="com.iluwatar.eda.event.UserCreatedEvent" project="event-driven-architecture"
|
|
file="/event-driven-architecture/src/main/java/com/iluwatar/eda/event/UserCreatedEvent.java" binary="false"
|
|
corner="BOTTOM_RIGHT">
|
|
<position height="-1" width="-1" x="102" y="380"/>
|
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
|
sort-features="false" accessors="true" visibility="true">
|
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
|
</display>
|
|
</class>
|
|
<class id="8" language="java" name="com.iluwatar.eda.event.UserUpdatedEvent" project="event-driven-architecture"
|
|
file="/event-driven-architecture/src/main/java/com/iluwatar/eda/event/UserUpdatedEvent.java" binary="false"
|
|
corner="BOTTOM_RIGHT">
|
|
<position height="-1" width="-1" x="320" y="382"/>
|
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
|
sort-features="false" accessors="true" visibility="true">
|
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
|
</display>
|
|
</class>
|
|
<class id="9" language="java" name="com.iluwatar.eda.event.AbstractEvent" project="event-driven-architecture"
|
|
file="/event-driven-architecture/src/main/java/com/iluwatar/eda/event/AbstractEvent.java" binary="false"
|
|
corner="BOTTOM_RIGHT">
|
|
<position height="-1" width="-1" x="188" y="240"/>
|
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
|
sort-features="false" accessors="true" visibility="true">
|
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
|
</display>
|
|
</class>
|
|
<dependency id="10">
|
|
<end type="SOURCE" refId="3"/>
|
|
<end type="TARGET" refId="1"/>
|
|
</dependency>
|
|
<dependency id="11">
|
|
<end type="SOURCE" refId="2"/>
|
|
<end type="TARGET" refId="1"/>
|
|
</dependency>
|
|
<dependency id="12">
|
|
<end type="SOURCE" refId="2"/>
|
|
<end type="TARGET" refId="8"/>
|
|
</dependency>
|
|
<realization id="13">
|
|
<end type="SOURCE" refId="2"/>
|
|
<end type="TARGET" refId="5"/>
|
|
</realization>
|
|
<generalization id="14">
|
|
<end type="SOURCE" refId="7"/>
|
|
<end type="TARGET" refId="9"/>
|
|
</generalization>
|
|
<realization id="15">
|
|
<end type="SOURCE" refId="3"/>
|
|
<end type="TARGET" refId="5"/>
|
|
</realization>
|
|
<association id="16">
|
|
<end type="SOURCE" refId="6" navigable="false">
|
|
<attribute id="17" name="handlers">
|
|
<position height="19" width="56" x="672" y="144"/>
|
|
</attribute>
|
|
<multiplicity id="18" minimum="0" maximum="2147483647">
|
|
<position height="17" width="23" x="797" y="142"/>
|
|
</multiplicity>
|
|
</end>
|
|
<end type="TARGET" refId="5" navigable="true"/>
|
|
<display labels="true" multiplicity="true"/>
|
|
</association>
|
|
<realization id="19">
|
|
<end type="SOURCE" refId="9"/>
|
|
<end type="TARGET" refId="4"/>
|
|
</realization>
|
|
<dependency id="20">
|
|
<end type="SOURCE" refId="6"/>
|
|
<end type="TARGET" refId="4"/>
|
|
</dependency>
|
|
<dependency id="21">
|
|
<bendpoint x="187" y="57"/>
|
|
<end type="SOURCE" refId="5"/>
|
|
<end type="TARGET" refId="4"/>
|
|
</dependency>
|
|
<association id="22">
|
|
<end type="SOURCE" refId="8" navigable="false">
|
|
<attribute id="23" name="user">
|
|
<position height="0" width="0" x="-500" y="-83"/>
|
|
</attribute>
|
|
<multiplicity id="24" minimum="0" maximum="1">
|
|
<position height="0" width="0" x="-500" y="-83"/>
|
|
</multiplicity>
|
|
</end>
|
|
<end type="TARGET" refId="1" navigable="true"/>
|
|
<display labels="true" multiplicity="true"/>
|
|
</association>
|
|
<generalization id="25">
|
|
<end type="SOURCE" refId="8"/>
|
|
<end type="TARGET" refId="9"/>
|
|
</generalization>
|
|
<association id="26">
|
|
<end type="SOURCE" refId="7" navigable="false">
|
|
<attribute id="27" name="user">
|
|
<position height="0" width="0" x="-500" y="-83"/>
|
|
</attribute>
|
|
<multiplicity id="28" minimum="0" maximum="1">
|
|
<position height="0" width="0" x="-500" y="-83"/>
|
|
</multiplicity>
|
|
</end>
|
|
<end type="TARGET" refId="1" navigable="true"/>
|
|
<display labels="true" multiplicity="true"/>
|
|
</association>
|
|
<dependency id="29">
|
|
<bendpoint x="308" y="303"/>
|
|
<end type="SOURCE" refId="3"/>
|
|
<end type="TARGET" refId="7"/>
|
|
</dependency>
|
|
<classifier-display autosize="true" stereotype="true" package="true" initial-value="true" signature="true"
|
|
sort-features="false" accessors="true" visibility="true">
|
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
|
</classifier-display>
|
|
<association-display labels="true" multiplicity="true"/>
|
|
</class-diagram> |