Chapter 1. Deploy Domain

The deploy domain is a domain for all deploy tools, like Maven.

1.1. Description

The deploy domain deploys a specific pre-configured project or suite of projects.

1.2. Functional Interface

The following listing presents the Java Domain Interface. This interface also contains information about events raised by this domain.

/**
 * This domain can be used to deploy projects. The affected project is usually configured in the respective tool
 * connector.
 */
public interface DeployDomain extends Domain {

    /**
     * Deploy the currently configured project. This method returns at once with an id. The deploy process is conducted
     * asynchronously. The result can be retrieved using the events raised by this domain, which also contain the id.
     */
    @Raises({ DeployStartEvent.class, DeployEndEvent.class })
    String deploy();

    /**
     * Deploy the currently configured project. This method returns at once with an id. The deploy process is conducted
     * asynchronously. The result can be retrieved using the events raised by this domain where the processId-field
     * contains the supplied processId
     */
    @Raises({ DeployStartEvent.class, DeployFailEvent.class, DeploySuccessEvent.class })
    void deploy(long processId);
}

1.3. Event Interface

The following interface presents the events an appointment connector can throw:

public interface DeployDomainEvents extends DomainEvents {

    void raiseEvent(DeployStartEvent e);

    @Deprecated
    void raiseEvent(DeployEndEvent e);

    void raiseEvent(DeployFailEvent e);

    void raiseEvent(DeploySuccessEvent e);
}