1 /*
2  * reserved comment block
3  * DO NOT REMOVE OR ALTER!
4  */
5 /*
6  * Copyright 2003,2004 The Apache Software Foundation.
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 package com.sun.org.apache.xerces.internal.xs;
22 
23 /**
24  * This interface represents the Particle schema component.
25  */
26 public interface XSParticle extends XSObject {
27     /**
28      * [min occurs]: determines the minimum number of terms that can occur.
29      */
getMinOccurs()30     public int getMinOccurs();
31 
32     /**
33      *  [max occurs]: determines the maximum number of terms that can occur.
34      * To query for the value of unbounded use
35      * <code>maxOccursUnbounded</code>. When the value of
36      * <code>maxOccursUnbounded</code> is <code>true</code>, the value of
37      * <code>maxOccurs</code> is unspecified.
38      */
getMaxOccurs()39     public int getMaxOccurs();
40 
41     /**
42      * [max occurs]: whether the maxOccurs value is unbounded.
43      */
getMaxOccursUnbounded()44     public boolean getMaxOccursUnbounded();
45 
46     /**
47      * [term]: one of a model group, a wildcard, or an element declaration.
48      */
getTerm()49     public XSTerm getTerm();
50 
51     /**
52      * A sequence of [annotations] or an empty <code>XSObjectList</code>.
53      */
getAnnotations()54     public XSObjectList getAnnotations();
55 }
56