001/* 002 * This class is an auto-generated source file for a HAPI 003 * HL7 v2.x standard structure class. 004 * 005 * For more information, visit: http://hl7api.sourceforge.net/ 006 * 007 * The contents of this file are subject to the Mozilla Public License Version 1.1 008 * (the "License"); you may not use this file except in compliance with the License. 009 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 010 * Software distributed under the License is distributed on an "AS IS" basis, 011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 012 * specific language governing rights and limitations under the License. 013 * 014 * The Original Code is "ED.java". Description: 015 * "Composite class ED" 016 * 017 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 018 * 2013. All Rights Reserved. 019 * 020 * Contributor(s): ______________________________________. 021 * 022 * Alternatively, the contents of this file may be used under the terms of the 023 * GNU General Public License (the "GPL"), in which case the provisions of the GPL are 024 * applicable instead of those above. If you wish to allow use of your version of this 025 * file only under the terms of the GPL and not to allow others to use your version 026 * of this file under the MPL, indicate your decision by deleting the provisions above 027 * and replace them with the notice and other provisions required by the GPL License. 028 * If you do not delete the provisions above, a recipient may use your version of 029 * this file under either the MPL or the GPL. 030 * 031 */ 032 033package ca.uhn.hl7v2.model.v27.datatype; 034 035import ca.uhn.hl7v2.model.DataTypeException; 036import ca.uhn.hl7v2.model.Message; 037import ca.uhn.hl7v2.model.Type; 038import ca.uhn.hl7v2.model.AbstractComposite; 039 040 041/** 042 * <p>Represents an HL7 ED (Encapsulated Data) data type. 043 * This type consists of the following components:</p> 044 * <ul> 045 * <li>Source Application (HD) 046 * <li>Type of Data (ID) 047 * <li>Data Subtype (ID) 048 * <li>Encoding (ID) 049 * <li>Data (TX) 050 * </ul> 051 */ 052@SuppressWarnings("unused") 053public class ED extends AbstractComposite { 054 055 private Type[] data; 056 057 /** 058 * Creates a new ED type 059 */ 060 public ED(Message message) { 061 super(message); 062 init(); 063 } 064 065 private void init() { 066 data = new Type[5]; 067 data[0] = new HD(getMessage()); 068 data[1] = new ID(getMessage(), 834); 069 data[2] = new ID(getMessage(), 291); 070 data[3] = new ID(getMessage(), 299); 071 data[4] = new TX(getMessage()); 072 } 073 074 075 /** 076 * Returns an array containing the data elements. 077 */ 078 public Type[] getComponents() { 079 return this.data; 080 } 081 082 /** 083 * Returns an individual data component. 084 * 085 * @param number The component number (0-indexed) 086 * @throws DataTypeException if the given element number is out of range. 087 */ 088 public Type getComponent(int number) throws DataTypeException { 089 090 try { 091 return this.data[number]; 092 } catch (ArrayIndexOutOfBoundsException e) { 093 throw new DataTypeException("Element " + number + " doesn't exist (Type " + getClass().getName() + " has only " + this.data.length + " components)"); 094 } 095 } 096 097 098 /** 099 * Returns Source Application (component 1). This is a convenience method that saves you from 100 * casting and handling an exception. 101 */ 102 public HD getSourceApplication() { 103 return getTyped(0, HD.class); 104 } 105 106 107 /** 108 * Returns Source Application (component 1). This is a convenience method that saves you from 109 * casting and handling an exception. 110 */ 111 public HD getEd1_SourceApplication() { 112 return getTyped(0, HD.class); 113 } 114 115 116 /** 117 * Returns Type of Data (component 2). This is a convenience method that saves you from 118 * casting and handling an exception. 119 */ 120 public ID getTypeOfData() { 121 return getTyped(1, ID.class); 122 } 123 124 125 /** 126 * Returns Type of Data (component 2). This is a convenience method that saves you from 127 * casting and handling an exception. 128 */ 129 public ID getEd2_TypeOfData() { 130 return getTyped(1, ID.class); 131 } 132 133 134 /** 135 * Returns Data Subtype (component 3). This is a convenience method that saves you from 136 * casting and handling an exception. 137 */ 138 public ID getDataSubtype() { 139 return getTyped(2, ID.class); 140 } 141 142 143 /** 144 * Returns Data Subtype (component 3). This is a convenience method that saves you from 145 * casting and handling an exception. 146 */ 147 public ID getEd3_DataSubtype() { 148 return getTyped(2, ID.class); 149 } 150 151 152 /** 153 * Returns Encoding (component 4). This is a convenience method that saves you from 154 * casting and handling an exception. 155 */ 156 public ID getEncoding() { 157 return getTyped(3, ID.class); 158 } 159 160 161 /** 162 * Returns Encoding (component 4). This is a convenience method that saves you from 163 * casting and handling an exception. 164 */ 165 public ID getEd4_Encoding() { 166 return getTyped(3, ID.class); 167 } 168 169 170 /** 171 * Returns Data (component 5). This is a convenience method that saves you from 172 * casting and handling an exception. 173 */ 174 public TX getData() { 175 return getTyped(4, TX.class); 176 } 177 178 179 /** 180 * Returns Data (component 5). This is a convenience method that saves you from 181 * casting and handling an exception. 182 */ 183 public TX getEd5_Data() { 184 return getTyped(4, TX.class); 185 } 186 187 188 189} 190