View Javadoc

1   /*
2    * $Id: Assembly.java 7976 2007-08-21 14:26:13Z dirk.olmes $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.registry;
12  
13  /**
14   * @author <a href="mailto:gnt@codehaus.org">Guillaume Nodet</a>
15   */
16  public interface Assembly extends Entry
17  {
18  
19      void restoreState() throws RegistryException;
20  
21      void saveAndShutdown() throws RegistryException;
22  
23      boolean isTransient();
24  
25      void setTransient(boolean isTransient);
26  
27      /**
28       * Start the item.
29       * 
30       * @exception RegistryException if the item fails to start.
31       */
32      String start() throws RegistryException;
33  
34      /**
35       * Stop the item. This suspends current messaging activities.
36       * 
37       * @exception RegistryException if the item fails to stop.
38       */
39      String stop() throws RegistryException;
40  
41      /**
42       * Shut down the item. The releases resources, preparatory to uninstallation.
43       * 
44       * @exception RegistryException if the item fails to shut down.
45       */
46      String shutDown() throws RegistryException;
47  
48      /**
49       * Return the Unit of the given name.
50       * 
51       * @param name the name of the unit
52       * @return the Unit or <code>null</code> if not found
53       */
54      Unit getUnit(String name);
55  
56      /**
57       * Get all units of this Assembly
58       * 
59       * @return the units of this Assembly
60       */
61      Unit[] getUnits();
62  
63      /**
64       * Return the descriptor for this component.
65       * 
66       * @return
67       */
68      RegistryDescriptor getDescriptor() throws RegistryException;
69  
70      void setDescriptor(RegistryDescriptor descriptor) throws RegistryException;
71  
72      String deploy() throws RegistryException;
73  
74      String undeploy() throws RegistryException;
75  
76  }