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 import org.mule.api.service.Service; 10 import org.mule.api.transport.Connector; 11 12 /** 13 * Objects that have an associated lifecycle manager such as {@link Service} or 14 * {@link Connector} should implement this interface so that the registry lifecycle 15 * manager can introspect the lifecycle state of an object. This allows objects to 16 * have a different lifecycle state to the registry. Typically objects that have 17 * their own lifecycle manager can be controlled externally through JMX which means 18 * there is no guarantee that the state of the object is in the same lifecycle state 19 * of the registry, hence the need to introspect the lifecycle state of an object. 20 * 21 * @since 3.0 22 */ 23 public interface LifecycleStateEnabled 24 { 25 LifecycleState getLifecycleState(); 26 }