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
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 }