Coverage Report - ca.uhn.hl7v2.parser.NonStandardStructureDefinition
 
Classes in this File Line Coverage Branch Coverage Complexity
NonStandardStructureDefinition
65%
17/26
50%
2/4
1.158
 
 1  
 /**
 2  
  * The contents of this file are subject to the Mozilla Public License Version 1.1
 3  
  * (the "License"); you may not use this file except in compliance with the License.
 4  
  * You may obtain a copy of the License at http://www.mozilla.org/MPL/
 5  
  * Software distributed under the License is distributed on an "AS IS" basis,
 6  
  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
 7  
  * specific language governing rights and limitations under the License.
 8  
  *
 9  
  * The Original Code is "IStructureDefinition.java"
 10  
  *
 11  
  * The Initial Developer of the Original Code is University Health Network. Copyright (C)
 12  
  * 2001.  All Rights Reserved.
 13  
  *
 14  
  * Contributor(s):
 15  
  *
 16  
  * Alternatively, the contents of this file may be used under the terms of the
 17  
  * GNU General Public License (the  �GPL�), in which case the provisions of the GPL are
 18  
  * applicable instead of those above.  If you wish to allow use of your version of this
 19  
  * file only under the terms of the GPL and not to allow others to use your version
 20  
  * of this file under the MPL, indicate your decision by deleting  the provisions above
 21  
  * and replace  them with the notice and other provisions required by the GPL License.
 22  
  * If you do not delete the provisions above, a recipient may use your version of
 23  
  * this file under either the MPL or the GPL.
 24  
  *
 25  
  */
 26  
 
 27  
 package ca.uhn.hl7v2.parser;
 28  
 
 29  
 import java.util.Collections;
 30  
 import java.util.List;
 31  
 import java.util.Set;
 32  
 
 33  
 /**
 34  
  * Structure definition which defines a non-standard structure within a parent
 35  
  * structure.
 36  
  * 
 37  
  * This class is used more as a runtime placeholder than as something that would
 38  
  * be produced by the structure parser.
 39  
  */
 40  
 public class NonStandardStructureDefinition implements IStructureDefinition {
 41  
 
 42  
         private String myName;
 43  
         private IStructureDefinition myParent;
 44  
         private int myPosition;
 45  
         private IStructureDefinition myPreviousSibling;
 46  
 
 47  
         /**
 48  
          * Constructor
 49  
          */
 50  1183
         public NonStandardStructureDefinition(IStructureDefinition theParent, IStructureDefinition thePreviousSibling, String theName, int thePosition) {
 51  1183
                 if (theName == null || theName.length() == 0) {
 52  0
                         throw new IllegalArgumentException("theName is missing");
 53  
                 }
 54  
                 
 55  1183
                 myParent = theParent;
 56  1183
                 myName = theName;
 57  1183
                 myPreviousSibling = thePreviousSibling;
 58  1183
                 myPosition = thePosition;
 59  1183
         }
 60  
 
 61  
         /**
 62  
          * {@inheritDoc }
 63  
          */
 64  
         public Set<String> getAllChildNames() {
 65  0
                 return Collections.emptySet();
 66  
         }
 67  
 
 68  
         /**
 69  
          * {@inheritDoc }
 70  
          */
 71  
         public Set<String> getAllPossibleFirstChildren() {
 72  0
                 return Collections.emptySet();
 73  
         }
 74  
 
 75  
         /**
 76  
          * {@inheritDoc }
 77  
          */
 78  
         public List<StructureDefinition> getChildren() {
 79  0
                 return Collections.emptyList();
 80  
         }
 81  
 
 82  
         /**
 83  
          * {@inheritDoc }
 84  
          */
 85  
         public IStructureDefinition getFirstChild() {
 86  0
                 return null;
 87  
         }
 88  
 
 89  
         /**
 90  
          * {@inheritDoc }
 91  
          */
 92  
         public IStructureDefinition getFirstSibling() {
 93  0
                 return null;
 94  
         }
 95  
 
 96  
         /**
 97  
          * {@inheritDoc }
 98  
          */
 99  
         public String getName() {
 100  3063
                 return myName;
 101  
         }
 102  
 
 103  
         /**
 104  
          * {@inheritDoc}
 105  
          */
 106  
         public String getNameAsItAppearsInParent() {
 107  2068
                 return getName();
 108  
         }
 109  
 
 110  
         /**
 111  
          * {@inheritDoc }
 112  
          */
 113  
         public Set<String> getNamesOfAllPossibleFollowingLeaves() {
 114  1620
                 return myPreviousSibling.getNamesOfAllPossibleFollowingLeaves();
 115  
         }
 116  
 
 117  
         /**
 118  
          * {@inheritDoc }
 119  
          */
 120  
         public IStructureDefinition getNextLeaf() {
 121  1620
                 return myPreviousSibling.getNextLeaf();
 122  
         }
 123  
 
 124  
         /**
 125  
          * {@inheritDoc }
 126  
          */
 127  
         public IStructureDefinition getNextSibling() {
 128  140
                 return myPreviousSibling.getNextSibling();
 129  
         }
 130  
 
 131  
         /**
 132  
          * {@inheritDoc }
 133  
          */
 134  
         public IStructureDefinition getParent() {
 135  565
                 return myParent;
 136  
         }
 137  
 
 138  
         /**
 139  
          * {@inheritDoc }
 140  
          */
 141  
         public int getPosition() {
 142  0
                 return myPosition;
 143  
         }
 144  
 
 145  
         /**
 146  
          * {@inheritDoc }
 147  
          */
 148  
         public boolean hasChildren() {
 149  330
                 return false;
 150  
         }
 151  
 
 152  
         /**
 153  
          * {@inheritDoc }
 154  
          */
 155  
         public boolean isFinalChildOfParent() {
 156  145
                 return myPreviousSibling.isFinalChildOfParent();
 157  
         }
 158  
 
 159  
         /**
 160  
          * {@inheritDoc }
 161  
          */
 162  
         public boolean isRepeating() {
 163  320
                 return true;
 164  
         }
 165  
 
 166  
         /**
 167  
          * {@inheritDoc }
 168  
          */
 169  
         public boolean isRequired() {
 170  0
                 return false;
 171  
         }
 172  
 
 173  
         /**
 174  
          * {@inheritDoc }
 175  
          */
 176  
         public boolean isSegment() {
 177  1670
                 return true;
 178  
         }
 179  
 
 180  
         /**
 181  
          * {@inheritDoc }
 182  
          */
 183  
         public boolean isChoiceElement() {
 184  0
                 return false;
 185  
         }
 186  
 
 187  
 }