View Javadoc

1   /**
2    * Copyright 2005-2006 the original author or authors.
3    *
4    * Licensed under the Gnu General Pubic License, Version 2.0 (the
5    * "License"); you may not use this file except in compliance with
6    * the License. You may obtain a copy of the License at
7    *
8    *      http://www.opensource.org/licenses/gpl-license.php
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13   * See the Gnu General Public License for more details.
14   */
15  package org.figure8.join.businessfacades.reporting;
16  
17  import org.figure8.join.businessobjects.artifact.Build;
18  import org.figure8.join.businessobjects.artifact.Assembly;
19  import org.figure8.join.businessobjects.artifact.Deliverable;
20  import org.figure8.join.businessobjects.environment.Deployment;
21  /**
22   * Business facade that encapsulates the publication of event messages through
23   * Join application.
24   * @author <a href="mailto:laurent.broudoux@free.fr">Laurent Broudoux</a>
25   * @version $Revision: 1.1 $
26   */
27  public interface EventPublicationManager{
28  
29     // Public -------------------------------------------------------------------
30  
31     /**
32      * Publish an event corresponding to a delivery (ie: a deliverable creation)
33      * @param deliverable The deliverable that has just been supplied
34      */
35     public abstract void publishDeliveryEvent(Deliverable deliverable);
36  
37     /**
38      * Publish an event corresponding to a build creation (ie: the packaging of components)
39      * @param build The build model object that has just been created
40      */
41     public abstract void publishBuildCreationEvent(Build build);
42  
43     /**
44      * Publish an event corresponding to an aasembly creation (ie: the aggregation of amny deliverables)
45      * @param assembly The assembly model object that has just been created
46      */
47     public abstract void publishAssemblyCreationEvent(Assembly assembly);
48  
49     /**
50      * Publish an event corresponding to the creation of a deployment demand
51      * @param deployment The deployment that has just been created and asked
52      */
53     public abstract void publishDeploymentDemandEvent(Deployment deployment);
54  
55     /**
56      * Publish an event corresponding to the beginning of a deployment preparation
57      * @param deployment The deployment that has been picked for being prepared
58      */
59     public abstract void publishDeploymentPreparationEvent(Deployment deployment);
60  
61     /**
62      * Publish an event corresponding to the begining of a deployment realization
63      * @param deployment The deployment that has been picked for being realized
64      */
65     public abstract void publishDeploymentRealizationEvent(Deployment deployment);
66  
67     /**
68      * Publish an event corresponding to the end of the deployment realization process
69      * @param deployment The deployment that has just been realized
70      */
71     public abstract void publishDeploymentEndEvent(Deployment deployment);
72  }