Coverage Report - ca.uhn.hl7v2.model.GenericComposite
 
Classes in this File Line Coverage Branch Coverage Complexity
GenericComposite
100%
9/9
100%
2/2
1.25
 
 1  
 package ca.uhn.hl7v2.model;
 2  
 
 3  
 import java.util.ArrayList;
 4  
 import java.util.List;
 5  
 
 6  
 /**
 7  
  * An unspecified Composite datatype that has an undefined number of components, each 
 8  
  * of which is a Varies.  
 9  
  * This is used to store Varies data, when the data type is unknown.  It is also 
 10  
  * used to store unrecognized message constituents.  
 11  
  * @author Bryan Tripp
 12  
  */
 13  
 @SuppressWarnings("serial")
 14  
 public class GenericComposite extends AbstractComposite {
 15  
     
 16  
     private List<Type> components;
 17  
     private Message message;
 18  
 
 19  
     /**
 20  
      * Creates a generic composite
 21  
      *
 22  
      * @param message message this object is linked to
 23  
      */
 24  
     public GenericComposite(Message message) {
 25  1165
         super(message);
 26  1165
         this.message = message;
 27  1165
         components = new ArrayList<Type>(20);
 28  1165
     }
 29  
     
 30  
     /** 
 31  
      * Returns the single component of this composite at the specified position (starting at 0) - 
 32  
      * Creates it (and any nonexistent components before it) if necessary.  
 33  
      */
 34  
     public Type getComponent(int number) throws DataTypeException {
 35  12385
         for (int i = components.size(); i <= number; i++) {
 36  5220
             components.add(new Varies(message));
 37  
         }
 38  7165
         return components.get(number);
 39  
     }    
 40  
     
 41  
     /** 
 42  
      * Returns an array containing the components of this field.
 43  
      */
 44  
     public Type[] getComponents() {
 45  8675
             return components.toArray(new Type[components.size()]);
 46  
     }    
 47  
     
 48  
     /** Returns the name of the type (used in XML encoding and profile checking)  */
 49  
     public String getName() {
 50  5
         return "UNKNOWN";
 51  
     }
 52  
 
 53  
 
 54  
 }