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 }