View Javadoc

1   /*
2    * Copyright 1999-2006 Faculty of Mathematics, Physics
3    * and Informatics, Comenius University, Bratislava. This file is protected by
4    * the Mozilla Public License version 1.1 (the License); you may not use this
5    * file except in compliance with the License. You may obtain a copy of the
6    * License at http://euromath2.sourceforge.net/license.html Unless required by
7    * applicable law or agreed to in writing, software distributed under the
8    * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
9    * OF ANY KIND, either express or implied. See the License for the specific
10   * language governing permissions and limitations under the License.
11   */
12  package sk.uniba.euromath.document.schema.plug;
13  import java.util.List;
14  import sk.baka.ikslibs.ptr.DOMPoint;
15  /***
16   * Represents rule generating sequence of elements.
17   * @author Martin Vysny
18   */
19  public interface IElementSequenceRuleP {
20  	/***
21  	 * <p>
22  	 * Computes all possibilities of sequences, that can be generated by this
23  	 * rule. There must be only such insertlists, that doesn't contain optional
24  	 * elements. There must be no duplicite insertlists. If no elements are
25  	 * required to be created then an empty list shall be returned.
26  	 * </p>
27  	 * <p>
28  	 * All insertpoints in each returned insertlist must be equal to
29  	 * <code>start</code>. All one-item-length insertlists must be grouped
30  	 * together into one insert list.
31  	 * </p>
32  	 * @param start insertpoint, from which the numbering must start. It is
33  	 * guaranteed that <code>start.pos == 0</code> is true.
34  	 * @return array of Insertlists, that can generate sequence of element,
35  	 * never <code>null</code>.
36  	 */
37  	public List<? extends IInsertListP> getSequences(DOMPoint start);
38  }