Home » geronimo-2.2-source-release » org.apache.geronimo.kernel.management » [javadoc | source]

    1   /**
    2    *  Licensed to the Apache Software Foundation (ASF) under one or more
    3    *  contributor license agreements.  See the NOTICE file distributed with
    4    *  this work for additional information regarding copyright ownership.
    5    *  The ASF licenses this file to You under the Apache License, Version 2.0
    6    *  (the "License"); you may not use this file except in compliance with
    7    *  the License.  You may obtain a copy of the License at
    8    *
    9    *     http://www.apache.org/licenses/LICENSE-2.0
   10    *
   11    *  Unless required by applicable law or agreed to in writing, software
   12    *  distributed under the License is distributed on an "AS IS" BASIS,
   13    *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   14    *  See the License for the specific language governing permissions and
   15    *  limitations under the License.
   16    */
   17   
   18   package org.apache.geronimo.kernel.management;
   19   
   20   
   21   /**
   22    * A Java interface the meets the J2EE Management specification for a state manageable object.
   23    *
   24    * @version $Rev: 476049 $ $Date: 2006-11-16 20:35:17 -0800 (Thu, 16 Nov 2006) $
   25    */
   26   public interface StateManageable {
   27       /**
   28        * Gets the state of this component as an int.
   29        * The int return is required by the JSR77 specification.
   30        *
   31        * @return the current state of this component
   32        * @see #getStateInstance to obtain the State instance
   33        */
   34       int getState();
   35   
   36       /**
   37        * Gets the state of this component as a State instance.
   38        *
   39        * @return the current state of this component
   40        */
   41       State getStateInstance();
   42   
   43       /**
   44        * Gets the start time of this component
   45        *
   46        * @return time in milliseonds since epoch that this component was started.
   47        */
   48       long getStartTime();
   49   
   50   
   51       /**
   52        * Transitions the component to the starting state.  This method has access to the
   53        * container.
   54        * <p/>
   55        * Normally a component uses this to cache data from other components. The other components will
   56        * have been created at this stage, but not necessairly started and may not be ready to have methods
   57        * invoked on them.
   58        *
   59        * @throws Exception if a problem occurs during the transition
   60        * @throws IllegalStateException if this interceptor is not in the stopped or failed state
   61        */
   62       void start() throws Exception, IllegalStateException;
   63   
   64       /**
   65        * Transitions the component to the starting state.  This method has access to the
   66        * container.
   67        * <p/>
   68        * If this Component is a Container, then startRecursive is called on all child Components
   69        * that are in the STOPPED or FAILED state.
   70        * Normally a component uses this to cache data from other components. The other components will
   71        * have been created at this stage, but not necessairly started and may not be ready to have methods
   72        * invoked on them.
   73        *
   74        * @throws Exception if a problem occurs during the transition
   75        * @throws IllegalStateException if this interceptor is not in the STOPPED or FAILED state
   76        */
   77       void startRecursive() throws Exception, IllegalStateException;
   78   
   79       /**
   80        * Transitions the component to the stopping state.  This method has access to the
   81        * container.
   82        * <p/>
   83        * If this is Component is a Container, then all its child components must be in the
   84        * STOPPED or FAILED State.
   85        * <p/>
   86        * Normally a component uses this to drop references to data cached in the start method.
   87        * The other components will not necessairly have been stopped at this stage and may not be ready
   88        * to have methods invoked on them.
   89        *
   90        * @throws Exception if a problem occurs during the transition
   91        * @throws IllegalStateException if this interceptor is not in the STOPPED or FAILED state
   92        */
   93       void stop() throws Exception, IllegalStateException;
   94   
   95   }

Home » geronimo-2.2-source-release » org.apache.geronimo.kernel.management » [javadoc | source]