01: /*
02: * Enhydra Java Application Server Project
03: *
04: * The contents of this file are subject to the Enhydra Public License
05: * Version 1.1 (the "License"); you may not use this file except in
06: * compliance with the License. You may obtain a copy of the License on
07: * the Enhydra web site ( http://www.enhydra.org/ ).
08: *
09: * Software distributed under the License is distributed on an "AS IS"
10: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
11: * the License for the specific terms governing rights and limitations
12: * under the License.
13: *
14: * The Initial Developer of the Enhydra Application Server is Lutris
15: * Technologies, Inc. The Enhydra Application Server and portions created
16: * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
17: * All Rights Reserved.
18: *
19: * Contributor(s):
20: * Paul Mahar
21: *
22: */
23: package org.enhydra.kelp.common.deployer;
24:
25: // Kelp imports
26: import org.enhydra.kelp.common.event.WriteListener;
27: import org.enhydra.kelp.common.node.OtterProject;
28:
29: // ToolBox imports
30: import org.enhydra.tool.common.DataValidationException;
31: import org.enhydra.tool.common.ToolException;
32:
33: //
34: public interface DeployStep {
35: public boolean isDataValid();
36:
37: public boolean isBuilt(OtterProject project);
38:
39: public boolean isSelectable(OtterProject project, DeployStep[] steps);
40:
41: public void validateData() throws DataValidationException;
42:
43: public boolean isDataEqual(OtterProject project);
44:
45: public void build(OtterProject project, WriteListener listener)
46: throws DataValidationException, ToolException;
47:
48: public void read(OtterProject project);
49:
50: public void write(OtterProject project)
51: throws DataValidationException;
52:
53: public void refresh();
54:
55: public void clearAll();
56: }
|