@@ -0,0 +1,1354 @@
+package com.epimorphics.registry.notification;%0A%0Aimport java.util.List;%0A%0A/**%0A * A notification of a change within the registry, that can be sent to an external messaging system.%0A */%0Apublic interface Notification %7B%0A    /**%0A     * @return The messaging topics to notify.%0A     */%0A    List%3CString%3E getTopics();%0A%0A    /**%0A     * @return The current state of the target item, if the operation was constructive. Otherwise, null.%0A     */%0A    String getMessage();%0A%0A    /**%0A     * @return The URI of the item which was changed.%0A     */%0A    String getTarget();%0A%0A    /**%0A     * @return The operation that was performed on the target item.%0A     */%0A    String getOperation();%0A%0A    class Base implements Notification %7B%0A        private final List%3CString%3E topics;%0A        private final String msg;%0A        private final String target;%0A        private final String operation;%0A%0A        Base(List%3CString%3E topics, String msg, String target, String operation) %7B%0A            this.topics = topics;%0A            this.msg = msg;%0A            this.target = target;%0A            this.operation = operation;%0A        %7D%0A%0A        @Override public List%3CString%3E getTopics() %7B return topics; %7D%0A        @Override public String getMessage() %7B return msg; %7D%0A        @Override public String getTarget() %7B return target; %7D%0A        @Override public String getOperation() %7B return operation; %7D%0A    %7D%0A%7D

ADD Notification interface