1 /* 2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 /* this file is generated by RelaxNGCC */ 27 package com.sun.xml.internal.xsom.impl.parser.state; 28 import org.xml.sax.SAXException; 29 import org.xml.sax.XMLReader; 30 import org.xml.sax.Attributes; 31 import com.sun.xml.internal.xsom.impl.parser.NGCCRuntimeEx; 32 33 import com.sun.xml.internal.xsom.*; 34 import com.sun.xml.internal.xsom.parser.*; 35 import com.sun.xml.internal.xsom.impl.*; 36 import com.sun.xml.internal.xsom.impl.parser.*; 37 import org.xml.sax.Locator; 38 import org.xml.sax.ContentHandler; 39 import org.xml.sax.helpers.*; 40 import java.util.*; 41 import java.math.BigInteger; 42 43 import java.util.Vector; 44 45 46 class modelGroupBody extends NGCCHandler { 47 private AnnotationImpl annotation; 48 private String compositorName; 49 private Locator locator; 50 private ParticleImpl childParticle; 51 private ForeignAttributesImpl fa; 52 protected final NGCCRuntimeEx $runtime; 53 private int $_ngcc_current_state; 54 protected String $uri; 55 protected String $localName; 56 protected String $qname; 57 58 public final NGCCRuntime getRuntime() { 59 return($runtime); 60 } 61 62 public modelGroupBody(NGCCHandler parent, NGCCEventSource source, NGCCRuntimeEx runtime, int cookie, Locator _locator, String _compositorName) { 63 super(source, parent, cookie); 64 $runtime = runtime; 65 this.locator = _locator; 66 this.compositorName = _compositorName; 67 $_ngcc_current_state = 6; 68 } 69 70 public modelGroupBody(NGCCRuntimeEx runtime, Locator _locator, String _compositorName) { 71 this(null, runtime, runtime, -1, _locator, _compositorName); 72 } 73 74 private void action0()throws SAXException { 75 76 XSModelGroup.Compositor compositor = null; 77 if(compositorName.equals("all")) compositor = XSModelGroup.ALL; 78 if(compositorName.equals("sequence")) compositor = XSModelGroup.SEQUENCE; 79 if(compositorName.equals("choice")) compositor = XSModelGroup.CHOICE; 80 if(compositor==null) 81 throw new InternalError("unable to process "+compositorName); 82 83 result = new ModelGroupImpl( $runtime.document, annotation, locator, fa, compositor, 84 (ParticleImpl[])particles.toArray(new ParticleImpl[0])); 85 86 } 87 88 private void action1()throws SAXException { 89 90 particles.add(childParticle); 91 92 } 93 94 public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException { 95 int $ai; 96 $uri = $__uri; 97 $localName = $__local; 98 $qname = $__qname; 99 switch($_ngcc_current_state) { 100 case 0: 101 { 102 revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs); 103 } 104 break; 105 case 4: 106 { 107 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) { 108 NGCCHandler h = new annotation(this, super._source, $runtime, 174, null,AnnotationContext.MODELGROUP); 109 spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs); 110 } 111 else { 112 $_ngcc_current_state = 2; 113 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs); 114 } 115 } 116 break; 117 case 2: 118 { 119 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")))))) { 120 NGCCHandler h = new particle(this, super._source, $runtime, 171); 121 spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs); 122 } 123 else { 124 $_ngcc_current_state = 1; 125 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs); 126 } 127 } 128 break; 129 case 6: 130 { 131 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any"))))))) { 132 NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 176, null); 133 spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs); 134 } 135 else { 136 NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 176, null); 137 spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs); 138 } 139 } 140 break; 141 case 1: 142 { 143 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")))))) { 144 NGCCHandler h = new particle(this, super._source, $runtime, 170); 145 spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs); 146 } 147 else { 148 action0(); 149 $_ngcc_current_state = 0; 150 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs); 151 } 152 } 153 break; 154 default: 155 { 156 unexpectedEnterElement($__qname); 157 } 158 break; 159 } 160 } 161 162 public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException { 163 int $ai; 164 $uri = $__uri; 165 $localName = $__local; 166 $qname = $__qname; 167 switch($_ngcc_current_state) { 168 case 0: 169 { 170 revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname); 171 } 172 break; 173 case 4: 174 { 175 $_ngcc_current_state = 2; 176 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname); 177 } 178 break; 179 case 2: 180 { 181 $_ngcc_current_state = 1; 182 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname); 183 } 184 break; 185 case 6: 186 { 187 NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 176, null); 188 spawnChildFromLeaveElement(h, $__uri, $__local, $__qname); 189 } 190 break; 191 case 1: 192 { 193 action0(); 194 $_ngcc_current_state = 0; 195 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname); 196 } 197 break; 198 default: 199 { 200 unexpectedLeaveElement($__qname); 201 } 202 break; 203 } 204 } 205 206 public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException { 207 int $ai; 208 $uri = $__uri; 209 $localName = $__local; 210 $qname = $__qname; 211 switch($_ngcc_current_state) { 212 case 0: 213 { 214 revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname); 215 } 216 break; 217 case 4: 218 { 219 $_ngcc_current_state = 2; 220 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname); 221 } 222 break; 223 case 2: 224 { 225 $_ngcc_current_state = 1; 226 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname); 227 } 228 break; 229 case 6: 230 { 231 NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 176, null); 232 spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname); 233 } 234 break; 235 case 1: 236 { 237 action0(); 238 $_ngcc_current_state = 0; 239 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname); 240 } 241 break; 242 default: 243 { 244 unexpectedEnterAttribute($__qname); 245 } 246 break; 247 } 248 } 249 250 public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException { 251 int $ai; 252 $uri = $__uri; 253 $localName = $__local; 254 $qname = $__qname; 255 switch($_ngcc_current_state) { 256 case 0: 257 { 258 revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname); 259 } 260 break; 261 case 4: 262 { 263 $_ngcc_current_state = 2; 264 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname); 265 } 266 break; 267 case 2: 268 { 269 $_ngcc_current_state = 1; 270 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname); 271 } 272 break; 273 case 6: 274 { 275 NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 176, null); 276 spawnChildFromLeaveAttribute(h, $__uri, $__local, $__qname); 277 } 278 break; 279 case 1: 280 { 281 action0(); 282 $_ngcc_current_state = 0; 283 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname); 284 } 285 break; 286 default: 287 { 288 unexpectedLeaveAttribute($__qname); 289 } 290 break; 291 } 292 } 293 294 public void text(String $value) throws SAXException { 295 int $ai; 296 switch($_ngcc_current_state) { 297 case 0: 298 { 299 revertToParentFromText(result, super._cookie, $value); 300 } 301 break; 302 case 4: 303 { 304 $_ngcc_current_state = 2; 305 $runtime.sendText(super._cookie, $value); 306 } 307 break; 308 case 2: 309 { 310 $_ngcc_current_state = 1; 311 $runtime.sendText(super._cookie, $value); 312 } 313 break; 314 case 6: 315 { 316 NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 176, null); 317 spawnChildFromText(h, $value); 318 } 319 break; 320 case 1: 321 { 322 action0(); 323 $_ngcc_current_state = 0; 324 $runtime.sendText(super._cookie, $value); 325 } 326 break; 327 } 328 } 329 330 public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException { 331 switch($__cookie__) { 332 case 174: 333 { 334 annotation = ((AnnotationImpl)$__result__); 335 $_ngcc_current_state = 2; 336 } 337 break; 338 case 176: 339 { 340 fa = ((ForeignAttributesImpl)$__result__); 341 $_ngcc_current_state = 4; 342 } 343 break; 344 case 171: 345 { 346 childParticle = ((ParticleImpl)$__result__); 347 action1(); 348 $_ngcc_current_state = 1; 349 } 350 break; 351 case 170: 352 { 353 childParticle = ((ParticleImpl)$__result__); 354 action1(); 355 $_ngcc_current_state = 1; 356 } 357 break; 358 } 359 } 360 361 public boolean accepted() { 362 return((($_ngcc_current_state == 1) || (($_ngcc_current_state == 2) || (($_ngcc_current_state == 4) || ($_ngcc_current_state == 0))))); 363 } 364 365 366 private ModelGroupImpl result; 367 368 private final List particles = new ArrayList(); 369 370 }