1/*
2 * Copyright (c) 1997, 2013, 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 */
27package com.sun.xml.internal.xsom.impl.parser.state;
28import org.xml.sax.SAXException;
29import org.xml.sax.XMLReader;
30import org.xml.sax.Attributes;
31import 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
43import java.math.BigInteger;
44
45
46class occurs extends NGCCHandler {
47    private String v;
48    protected final NGCCRuntimeEx $runtime;
49    private int $_ngcc_current_state;
50    protected String $uri;
51    protected String $localName;
52    protected String $qname;
53
54    public final NGCCRuntime getRuntime() {
55        return($runtime);
56    }
57
58    public occurs(NGCCHandler parent, NGCCEventSource source, NGCCRuntimeEx runtime, int cookie) {
59        super(source, parent, cookie);
60        $runtime = runtime;
61        $_ngcc_current_state = 5;
62    }
63
64    public occurs(NGCCRuntimeEx runtime) {
65        this(null, runtime, runtime, -1);
66    }
67
68    private void action0()throws SAXException {
69        min = new BigInteger(v);
70}
71
72    private void action1()throws SAXException {
73        max=BigInteger.valueOf(-1);
74}
75
76    private void action2()throws SAXException {
77        max = new BigInteger(v);
78}
79
80    public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
81        int $ai;
82        $uri = $__uri;
83        $localName = $__local;
84        $qname = $__qname;
85        switch($_ngcc_current_state) {
86        case 1:
87            {
88                if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
89                    $runtime.consumeAttribute($ai);
90                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
91                }
92                else {
93                    $_ngcc_current_state = 0;
94                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
95                }
96            }
97            break;
98        case 0:
99            {
100                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
101            }
102            break;
103        case 5:
104            {
105                if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
106                    $runtime.consumeAttribute($ai);
107                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
108                }
109                else {
110                    $_ngcc_current_state = 1;
111                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
112                }
113            }
114            break;
115        default:
116            {
117                unexpectedEnterElement($__qname);
118            }
119            break;
120        }
121    }
122
123    public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
124        int $ai;
125        $uri = $__uri;
126        $localName = $__local;
127        $qname = $__qname;
128        switch($_ngcc_current_state) {
129        case 1:
130            {
131                if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
132                    $runtime.consumeAttribute($ai);
133                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
134                }
135                else {
136                    $_ngcc_current_state = 0;
137                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
138                }
139            }
140            break;
141        case 0:
142            {
143                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
144            }
145            break;
146        case 5:
147            {
148                if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
149                    $runtime.consumeAttribute($ai);
150                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
151                }
152                else {
153                    $_ngcc_current_state = 1;
154                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
155                }
156            }
157            break;
158        default:
159            {
160                unexpectedLeaveElement($__qname);
161            }
162            break;
163        }
164    }
165
166    public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
167        int $ai;
168        $uri = $__uri;
169        $localName = $__local;
170        $qname = $__qname;
171        switch($_ngcc_current_state) {
172        case 1:
173            {
174                if(($__uri.equals("") && $__local.equals("minOccurs"))) {
175                    $_ngcc_current_state = 3;
176                }
177                else {
178                    $_ngcc_current_state = 0;
179                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
180                }
181            }
182            break;
183        case 0:
184            {
185                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
186            }
187            break;
188        case 5:
189            {
190                if(($__uri.equals("") && $__local.equals("maxOccurs"))) {
191                    $_ngcc_current_state = 7;
192                }
193                else {
194                    $_ngcc_current_state = 1;
195                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
196                }
197            }
198            break;
199        default:
200            {
201                unexpectedEnterAttribute($__qname);
202            }
203            break;
204        }
205    }
206
207    public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
208        int $ai;
209        $uri = $__uri;
210        $localName = $__local;
211        $qname = $__qname;
212        switch($_ngcc_current_state) {
213        case 1:
214            {
215                $_ngcc_current_state = 0;
216                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
217            }
218            break;
219        case 0:
220            {
221                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
222            }
223            break;
224        case 2:
225            {
226                if(($__uri.equals("") && $__local.equals("minOccurs"))) {
227                    $_ngcc_current_state = 0;
228                }
229                else {
230                    unexpectedLeaveAttribute($__qname);
231                }
232            }
233            break;
234        case 5:
235            {
236                $_ngcc_current_state = 1;
237                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
238            }
239            break;
240        case 6:
241            {
242                if(($__uri.equals("") && $__local.equals("maxOccurs"))) {
243                    $_ngcc_current_state = 1;
244                }
245                else {
246                    unexpectedLeaveAttribute($__qname);
247                }
248            }
249            break;
250        default:
251            {
252                unexpectedLeaveAttribute($__qname);
253            }
254            break;
255        }
256    }
257
258    public void text(String $value) throws SAXException {
259        int $ai;
260        switch($_ngcc_current_state) {
261        case 1:
262            {
263                if(($ai = $runtime.getAttributeIndex("","minOccurs"))>=0) {
264                    $runtime.consumeAttribute($ai);
265                    $runtime.sendText(super._cookie, $value);
266                }
267                else {
268                    $_ngcc_current_state = 0;
269                    $runtime.sendText(super._cookie, $value);
270                }
271            }
272            break;
273        case 0:
274            {
275                revertToParentFromText(this, super._cookie, $value);
276            }
277            break;
278        case 3:
279            {
280                v = $value;
281                $_ngcc_current_state = 2;
282                action0();
283            }
284            break;
285        case 5:
286            {
287                if(($ai = $runtime.getAttributeIndex("","maxOccurs"))>=0) {
288                    $runtime.consumeAttribute($ai);
289                    $runtime.sendText(super._cookie, $value);
290                }
291                else {
292                    $_ngcc_current_state = 1;
293                    $runtime.sendText(super._cookie, $value);
294                }
295            }
296            break;
297        case 7:
298            {
299                if($value.equals("unbounded")) {
300                    $_ngcc_current_state = 6;
301                    action1();
302                }
303                else {
304                    v = $value;
305                    $_ngcc_current_state = 6;
306                    action2();
307                }
308            }
309            break;
310        }
311    }
312
313    public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
314        switch($__cookie__) {
315        }
316    }
317
318    public boolean accepted() {
319        return((($_ngcc_current_state == 5) || (($_ngcc_current_state == 0) || ($_ngcc_current_state == 1))));
320    }
321
322
323      BigInteger max = BigInteger.valueOf(1);
324      BigInteger min = BigInteger.valueOf(1);
325
326}
327