Coverage Report - org.codehaus.plexus.metadata.merge.support.ComponentElement
 
Classes in this File Line Coverage Branch Coverage Complexity
ComponentElement
100 %
14/14
N/A
1
 
 1  
 package org.codehaus.plexus.metadata.merge.support;
 2  
 
 3  
 /*
 4  
  * The MIT License
 5  
  *
 6  
  * Copyright (c) 2006, The Codehaus
 7  
  *
 8  
  * Permission is hereby granted, free of charge, to any person obtaining a copy of
 9  
  * this software and associated documentation files (the "Software"), to deal in
 10  
  * the Software without restriction, including without limitation the rights to
 11  
  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
 12  
  * of the Software, and to permit persons to whom the Software is furnished to do
 13  
  * so, subject to the following conditions:
 14  
  *
 15  
  * The above copyright notice and this permission notice shall be included in all
 16  
  * copies or substantial portions of the Software.
 17  
  *
 18  
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 19  
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 20  
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 21  
  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 22  
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 23  
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 24  
  * SOFTWARE.
 25  
  */
 26  
 
 27  
 import org.jdom.Element;
 28  
 
 29  
 /**
 30  
  * @author <a href='mailto:rahul.thakur.xdev@gmail.com'>Rahul Thakur</a>
 31  
  * @version $Id$
 32  
  */
 33  
 public class ComponentElement
 34  
     extends AbstractMergeableElement
 35  
 {
 36  
     /**
 37  
      * Allowed elements/tags that we can expect under this element.
 38  
      */
 39  6
     private final DescriptorTag[] allowedTags = {
 40  
         ROLE,
 41  
         ROLE_HINT,
 42  
         OPTIONAL,
 43  
         IMPLEMENTATION,
 44  
         FIELD_NAME,
 45  
         LIFECYCLE_HANDLER,
 46  
         DESCRIPTION,
 47  
         CONFIGURATION,
 48  
         RequirementsElement.TAG };
 49  
 
 50  1
     static final DescriptorTag TAG = new DescriptorTag( "component", true, ComponentElement.class );
 51  
 
 52  1
     static final DescriptorTag ROLE = new DescriptorTag( "role" );
 53  
 
 54  1
     static final DescriptorTag ROLE_HINT = new DescriptorTag( "role-hint" );
 55  
 
 56  1
     static final DescriptorTag OPTIONAL = new DescriptorTag( "optional" );
 57  
 
 58  1
     private static final DescriptorTag DESCRIPTION = new DescriptorTag( "description" );
 59  
     
 60  1
     private static final DescriptorTag CONFIGURATION = new DescriptorTag( "configuration" );
 61  
 
 62  1
     static final DescriptorTag FIELD_NAME = new DescriptorTag( "field-name" );
 63  
 
 64  1
     private static final DescriptorTag IMPLEMENTATION = new DescriptorTag( "implementation" );
 65  
 
 66  1
     private static final DescriptorTag LIFECYCLE_HANDLER = new DescriptorTag( "lifecycle-handler", false, null );
 67  
 
 68  
     public ComponentElement( Element element )
 69  
     {
 70  6
         super( element );
 71  6
     }
 72  
 
 73  
     protected boolean isExpectedElementType( Mergeable me )
 74  
     {
 75  3
         return me instanceof ComponentElement;
 76  
     }
 77  
 
 78  
     public DescriptorTag[] getAllowedTags()
 79  
     {
 80  59
         return allowedTags;
 81  
     }
 82  
 }