1 /* 2 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 3 * The software in this package is published under the terms of the CPAL v1.0 4 * license, a copy of which has been included with this distribution in the 5 * LICENSE.txt file. 6 */ 7 package org.mule.api.lifecycle; 8 9 /** 10 * This interface defines additional Registry Lifecycle methods to enable extenral objects to have there 11 * lifecycle managed by the registry. 12 * 13 * @since 3.0 14 */ 15 public interface RegistryLifecycleHelpers 16 { 17 /** 18 * Applies lifecycle phase to an object independent of the current lifecycle phase. All phases between the current 19 * phase and the 'endPhase' will be executed. 20 * @param object the object to apply lifecycle to 21 * @param fromPhase the lifecycle phase the object is currently in. Must not be null. 22 * @param toPhase the lifecycle phase to transition the object to. Must not be null. 23 * @throws org.mule.api.lifecycle.LifecycleException if there is an exception while invoking lifecycle on the object 24 */ 25 void applyPhase(Object object, String fromPhase, String toPhase) throws LifecycleException; 26 27 /** 28 * Successively applies all completed lifecycle phase to an object. 29 * 30 * @param object the object to which the lifecycle should be applied 31 * @throws org.mule.api.lifecycle.LifecycleException if there is an error while applying lifecycle to the object 32 */ 33 void applyCompletedPhases(Object object) throws LifecycleException; 34 }