| Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
| GenericComposite |
|
| 1.25;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 | } |