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
033
034package ca.uhn.hl7v2.model.v22.segment;
035
036// import ca.uhn.hl7v2.model.v22.group.*;
037import ca.uhn.hl7v2.model.v22.datatype.*;
038import ca.uhn.hl7v2.HL7Exception;
039import ca.uhn.hl7v2.parser.ModelClassFactory;
040import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
041import ca.uhn.hl7v2.model.AbstractMessage;
042import ca.uhn.hl7v2.model.Group;
043import ca.uhn.hl7v2.model.Type;
044import ca.uhn.hl7v2.model.AbstractSegment;
045import ca.uhn.hl7v2.model.Varies;
046
047
048/**
049 *<p>Represents an HL7 ERR message segment (ERROR). 
050 * This segment has the following fields:</p>
051 * <ul>
052     * <li>ERR-1: Error Code and Location (CM_ELD) <b> repeating</b>
053 * </ul>
054 */
055@SuppressWarnings("unused")
056public class ERR extends AbstractSegment {
057
058    /** 
059     * Creates a new ERR segment
060     */
061    public ERR(Group parent, ModelClassFactory factory) {
062       super(parent, factory);
063       init(factory);
064    }
065
066    private void init(ModelClassFactory factory) {
067       try {
068                                  this.add(CM_ELD.class, true, 0, 80, new Object[]{ getMessage() }, "Error Code and Location");
069       } catch(HL7Exception e) {
070          log.error("Unexpected error creating ERR - this is probably a bug in the source code generator.", e);
071       }
072    }
073
074
075    /**
076     * Returns all repetitions of Error Code and Location (ERR-1).
077     */
078    public CM_ELD[] getErrorCodeAndLocation() {
079        CM_ELD[] retVal = this.getTypedField(1, new CM_ELD[0]);
080        return retVal;
081    }
082
083
084    /**
085     * Returns all repetitions of Error Code and Location (ERR-1).
086     */
087    public CM_ELD[] getErr1_ErrorCodeAndLocation() {
088        CM_ELD[] retVal = this.getTypedField(1, new CM_ELD[0]);
089        return retVal;
090    }
091
092
093    /**
094     * Returns a count of the current number of repetitions of Error Code and Location (ERR-1).
095     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
096     * it will return zero.
097     */
098    public int getErrorCodeAndLocationReps() {
099        return this.getReps(1);
100    }
101
102
103    /**
104     * Returns a specific repetition of
105     * ERR-1: "Error Code and Location" - creates it if necessary
106     *
107     * @param rep The repetition index (0-indexed)
108     */
109    public CM_ELD getErrorCodeAndLocation(int rep) { 
110                CM_ELD retVal = this.getTypedField(1, rep);
111                return retVal;
112    }
113
114    /**
115     * Returns a specific repetition of
116     * ERR-1: "Error Code and Location" - creates it if necessary
117     *
118     * @param rep The repetition index (0-indexed)
119     */
120    public CM_ELD getErr1_ErrorCodeAndLocation(int rep) { 
121                CM_ELD retVal = this.getTypedField(1, rep);
122                return retVal;
123    }
124
125    /**
126     * Returns a count of the current number of repetitions of Error Code and Location (ERR-1).
127     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
128     * it will return zero.
129     */
130    public int getErr1_ErrorCodeAndLocationReps() {
131        return this.getReps(1);
132    }
133
134
135    /**
136     * Inserts a repetition of
137     * ERR-1: "Error Code and Location" at a specific index
138     *
139     * @param rep The repetition index (0-indexed)
140     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
141     */
142    public CM_ELD insertErrorCodeAndLocation(int rep) throws HL7Exception { 
143        return (CM_ELD) super.insertRepetition(1, rep);
144    }
145
146
147    /**
148     * Inserts a repetition of
149     * ERR-1: "Error Code and Location" at a specific index
150     *
151     * @param rep The repetition index (0-indexed)
152     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
153     */
154    public CM_ELD insertErr1_ErrorCodeAndLocation(int rep) throws HL7Exception { 
155        return (CM_ELD) super.insertRepetition(1, rep);
156    }
157
158
159    /**
160     * Removes a repetition of
161     * ERR-1: "Error Code and Location" at a specific index
162     *
163     * @param rep The repetition index (0-indexed)
164     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
165     */
166    public CM_ELD removeErrorCodeAndLocation(int rep) throws HL7Exception { 
167        return (CM_ELD) super.removeRepetition(1, rep);
168    }
169
170
171    /**
172     * Removes a repetition of
173     * ERR-1: "Error Code and Location" at a specific index
174     *
175     * @param rep The repetition index (0-indexed)
176     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
177     */
178    public CM_ELD removeErr1_ErrorCodeAndLocation(int rep) throws HL7Exception { 
179        return (CM_ELD) super.removeRepetition(1, rep);
180    }
181
182
183
184
185
186
187    /** {@inheritDoc} */   
188    protected Type createNewTypeWithoutReflection(int field) {
189       switch (field) {
190          case 0: return new CM_ELD(getMessage());
191          default: return null;
192       }
193   }
194
195
196}
197