Coverage Report - org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager
 
Classes in this File Line Coverage Branch Coverage Complexity
DefaultLifecycleHandlerManager
93 %
14/15
83 %
5/6
2,333
 
 1  
 package org.codehaus.plexus.lifecycle;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2006 Codehaus Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License");
 7  
  * you may not use this file except in compliance with the License.
 8  
  * You may obtain a copy of the License at
 9  
  *
 10  
  *      http://www.apache.org/licenses/LICENSE-2.0
 11  
  *
 12  
  * Unless required by applicable law or agreed to in writing, software
 13  
  * distributed under the License is distributed on an "AS IS" BASIS,
 14  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15  
  * See the License for the specific language governing permissions and
 16  
  * limitations under the License.
 17  
  */
 18  
 
 19  
 import java.util.concurrent.ConcurrentHashMap;
 20  
 import java.util.concurrent.ConcurrentMap;
 21  
 
 22  
 /**
 23  
  * @author Jason van Zyl
 24  
  * @version $Id$
 25  
  */
 26  61
 public class DefaultLifecycleHandlerManager
 27  
     implements LifecycleHandlerManager
 28  
 {
 29  61
     private final ConcurrentMap<String, LifecycleHandler> lifecycleHandlers = new ConcurrentHashMap<String, LifecycleHandler>();
 30  
 
 31  61
     private String defaultLifecycleHandlerId = "plexus";
 32  
 
 33  
     public void addLifecycleHandler( LifecycleHandler lifecycleHandler )
 34  
     {
 35  333
         lifecycleHandlers.put( lifecycleHandler.getId(), lifecycleHandler );
 36  333
     }
 37  
 
 38  
     public void initialize()
 39  
     {
 40  61
         for ( LifecycleHandler lifecycleHandler : lifecycleHandlers.values() )
 41  
         {
 42  333
             lifecycleHandler.initialize();
 43  333
         }
 44  61
     }
 45  
 
 46  
     public LifecycleHandler getLifecycleHandler( String id )
 47  
         throws UndefinedLifecycleHandlerException
 48  
     {
 49  210
         if ( id == null )
 50  
         {
 51  172
             id = defaultLifecycleHandlerId;
 52  
         }
 53  
 
 54  210
         LifecycleHandler lifecycleHandler = lifecycleHandlers.get( id );
 55  
 
 56  210
         if ( lifecycleHandler == null )
 57  
         {
 58  0
             throw new UndefinedLifecycleHandlerException( "Specified lifecycle handler cannot be found: " + id );
 59  
         }
 60  
 
 61  210
         return lifecycleHandler;
 62  
     }   
 63  
 }