/** * * Copyright 2006 The Apache Software Foundation or its licensors as applicable * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.tuscany.core.context; /** * @version $Rev$ $Date$ */ public interface Lifecycle { /* A configuration error state */ int CONFIG_ERROR = -1; /* Has not been initialized */ int UNINITIALIZED = 0; /* In the process of being configured and initialized */ int INITIALIZING = 1; /* Instantiated and configured */ int INITIALIZED = 2; /* Started */ int STARTED = 4; /* Configured and initialized */ int RUNNING = 4; /* In the process of being shutdown */ int STOPPING = 5; /* Has been shutdown and removed from the module */ int STOPPED = 6; /* In an error state */ int ERROR = 7; /** * Returns the lifecycle state * * @see #UNINITIALIZED * @see #INITIALIZING * @see #INITIALIZED * @see #RUNNING * @see #STOPPING * @see #STOPPED */ int getLifecycleState(); /** * Starts the Lifecycle. * * @throws CoreRuntimeException */ void start() throws CoreRuntimeException; /** * Stops the Lifecycle. * * @throws CoreRuntimeException */ void stop() throws CoreRuntimeException; /** * Returns the name of the Lifecycle. * @return the name of the Lifecycle */ String getName(); /** * Sets the name of the Lifecycle. * @param name the name of the Lifecycle */ void setName(String name); }