/* Copyright 2014 Danish Maritime Authority.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.maritimecloud.common.cqrs.contract;
/**
* This interface describes the interface to the ServiceRegitry in terms of Commands and Events. Whereas the commands are explicitly being
* the published interface, the description of the events are more like a convenience as they in most cases share the properties of the
* commands.
* <p>
* Events may inherit their properties from corresponding commands, and may extend those properties, as would be needed to make room for
* enrichment.
* <p>
* The generator will take each method defined in the interface and create a corresponding class of the same name (capitalized first
* letter). The class will be supplied with a constructor with the same signature and properties and getters and setters will be defined for
* each of the arguments using the names of the arguments. The first argument MUST be the aggregate identity, and the names of the arguments
* will be used for serialization when serializing to JSON.
* <p>
* @author Christoffer Børrild
*/
public interface CqrsContract {
}