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 "[file_name]".  Description: 
015 * "[one_line_description]" 
016 * 
017 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
018 * 2012.  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.v25.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 * <p>Represents an HL7 CE (Coded Element) data type. 
042 * This type consists of the following components:</p>
043 * <ul>
044 * <li>Identifier (ST)
045 * <li>Text (ST)
046 * <li>Name of Coding System (ID)
047 * <li>Alternate Identifier (ST)
048 * <li>Alternate Text (ST)
049 * <li>Name of Alternate Coding System (ID)
050 * </ul>
051 */
052@SuppressWarnings("unused")
053public class CE extends AbstractComposite {
054
055    private Type[] data;
056
057    /** 
058     * Creates a new CE type
059     */
060    public CE(Message message) {
061        super(message);
062        init();
063    }
064
065    private void init() {
066        data = new Type[6];    
067        data[0] = new ST(getMessage());
068        data[1] = new ST(getMessage());
069        data[2] = new ID(getMessage(), 396);
070        data[3] = new ST(getMessage());
071        data[4] = new ST(getMessage());
072        data[5] = new ID(getMessage(), 396);
073    }
074
075
076    /**
077     * Returns an array containing the data elements.
078     */
079    public Type[] getComponents() { 
080        return this.data; 
081    }
082
083    /**
084     * Returns an individual data component.
085     *
086     * @param number The component number (0-indexed)
087     * @throws DataTypeException if the given element number is out of range.
088     */
089    public Type getComponent(int number) throws DataTypeException { 
090
091        try { 
092            return this.data[number]; 
093        } catch (ArrayIndexOutOfBoundsException e) { 
094            throw new DataTypeException("Element " + number + " doesn't exist (Type " + getClass().getName() + " has only " + this.data.length + " components)"); 
095        } 
096    } 
097
098
099    /**
100     * Returns Identifier (component 1).  This is a convenience method that saves you from 
101     * casting and handling an exception.
102     */
103    public ST getIdentifier() {
104       return getTyped(0, ST.class);
105    }
106
107    
108    /**
109     * Returns Identifier (component 1).  This is a convenience method that saves you from 
110     * casting and handling an exception.
111     */
112    public ST getCe1_Identifier() {
113       return getTyped(0, ST.class);
114    }
115
116
117    /**
118     * Returns Text (component 2).  This is a convenience method that saves you from 
119     * casting and handling an exception.
120     */
121    public ST getText() {
122       return getTyped(1, ST.class);
123    }
124
125    
126    /**
127     * Returns Text (component 2).  This is a convenience method that saves you from 
128     * casting and handling an exception.
129     */
130    public ST getCe2_Text() {
131       return getTyped(1, ST.class);
132    }
133
134
135    /**
136     * Returns Name of Coding System (component 3).  This is a convenience method that saves you from 
137     * casting and handling an exception.
138     */
139    public ID getNameOfCodingSystem() {
140       return getTyped(2, ID.class);
141    }
142
143    
144    /**
145     * Returns Name of Coding System (component 3).  This is a convenience method that saves you from 
146     * casting and handling an exception.
147     */
148    public ID getCe3_NameOfCodingSystem() {
149       return getTyped(2, ID.class);
150    }
151
152
153    /**
154     * Returns Alternate Identifier (component 4).  This is a convenience method that saves you from 
155     * casting and handling an exception.
156     */
157    public ST getAlternateIdentifier() {
158       return getTyped(3, ST.class);
159    }
160
161    
162    /**
163     * Returns Alternate Identifier (component 4).  This is a convenience method that saves you from 
164     * casting and handling an exception.
165     */
166    public ST getCe4_AlternateIdentifier() {
167       return getTyped(3, ST.class);
168    }
169
170
171    /**
172     * Returns Alternate Text (component 5).  This is a convenience method that saves you from 
173     * casting and handling an exception.
174     */
175    public ST getAlternateText() {
176       return getTyped(4, ST.class);
177    }
178
179    
180    /**
181     * Returns Alternate Text (component 5).  This is a convenience method that saves you from 
182     * casting and handling an exception.
183     */
184    public ST getCe5_AlternateText() {
185       return getTyped(4, ST.class);
186    }
187
188
189    /**
190     * Returns Name of Alternate Coding System (component 6).  This is a convenience method that saves you from 
191     * casting and handling an exception.
192     */
193    public ID getNameOfAlternateCodingSystem() {
194       return getTyped(5, ID.class);
195    }
196
197    
198    /**
199     * Returns Name of Alternate Coding System (component 6).  This is a convenience method that saves you from 
200     * casting and handling an exception.
201     */
202    public ID getCe6_NameOfAlternateCodingSystem() {
203       return getTyped(5, ID.class);
204    }
205
206
207
208}
209