View Javadoc

1   /*
2    * Copyright 2007 - 2007 JEuclid, http://jeuclid.sf.net
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.w3c.dom.mathml;
17  
18  import org.w3c.dom.DOMException;
19  
20  /*
21   * Please note: This file was automatically generated from the source of the
22   * MathML specification. Do not edit it. If there are errors or missing
23   * elements, please correct the stylesheet instead.
24   */
25  
26  /**
27   * This interface supports the MathML Content elements that may contain child
28   * Content elements. The elements directly supported by MathMLContentContainer
29   * include: reln (deprecated), lambda, lowlimit, uplimit, degree,
30   * domainofapplication, and momentabout. Interfaces derived from
31   * MathMLContentContainer support the elements apply, fn, interval, condition,
32   * declare, bvar, set, list, vector, matrix, and matrixrow.
33   * 
34   * 
35   */
36  public interface MathMLContentContainer extends MathMLContentElement,
37          MathMLContainer {
38      /**
39       * The number of bvar child elements of this element.
40       * 
41       * @return value of the nBoundVariables attribute.
42       */
43      int getNBoundVariables();
44  
45      /**
46       * This attribute represents the condition child element of this node. See .
47       * 
48       * @return value of the condition attribute.
49       */
50      MathMLConditionElement getCondition();
51  
52      /**
53       * setter for the condition attribute.
54       * 
55       * @param condition
56       *            new value for condition.
57       * @see #getCondition()
58       * @throws DOMException
59       *             HIERARCHY_REQUEST_ERR: Raised if this element does not
60       *             permit a child condition element. In particular, raised if
61       *             this element is not a apply, set, or list.
62       */
63      void setCondition(MathMLConditionElement condition);
64  
65      /**
66       * This attribute represents the degree child element of this node. This
67       * expresses, for instance, the degree of differentiation if this element
68       * is a bvar child of an apply element whose first child is a diff or
69       * partialdiff. If this is an apply element whose first child is a
70       * partialdiff, the opDegree attribute, if present, represents the total
71       * degree of differentiation. See .
72       * 
73       * @return value of the opDegree attribute.
74       */
75      MathMLElement getOpDegree();
76  
77      /**
78       * setter for the opDegree attribute.
79       * 
80       * @param opDegree
81       *            new value for opDegree.
82       * @see #getOpDegree()
83       * @throws DOMException
84       *             HIERARCHY_REQUEST_ERR: Raised if this element does not
85       *             permit a child degree element. In particular, raised if
86       *             this element is not a bvar or apply.
87       */
88      void setOpDegree(MathMLElement opDegree);
89  
90      /**
91       * This attribute represents the domainofapplication child element of this
92       * node, if present. This may express, for instance, the domain of
93       * integration if this element is an apply element whose first child is an
94       * integral operator (int). See .
95       * 
96       * @return value of the domainOfApplication attribute.
97       */
98      MathMLElement getDomainOfApplication();
99  
100     /**
101      * setter for the domainOfApplication attribute.
102      * 
103      * @param domainOfApplication
104      *            new value for domainOfApplication.
105      * @see #getDomainOfApplication()
106      * @throws DOMException
107      *             HIERARCHY_REQUEST_ERR: Raised if this element does not
108      *             permit a child domainofapplication element.
109      */
110     void setDomainOfApplication(MathMLElement domainOfApplication);
111 
112     /**
113      * This attribute represents the momentabout child element of this node,
114      * if present. This typically expresses the point about which a
115      * statistical moment is to be calculated, if this element is an apply
116      * element whose first child is a moment. See .
117      * 
118      * @return value of the momentAbout attribute.
119      */
120     MathMLElement getMomentAbout();
121 
122     /**
123      * setter for the momentAbout attribute.
124      * 
125      * @param momentAbout
126      *            new value for momentAbout.
127      * @see #getMomentAbout()
128      * @throws DOMException
129      *             HIERARCHY_REQUEST_ERR: Raised if this element does not
130      *             permit a child momentabout element. In particular, raised
131      *             if this element is not an apply whose first child is a
132      *             moment.
133      */
134     void setMomentAbout(MathMLElement momentAbout);
135 
136     /**
137      * This method retrieves the index-th MathMLBvarElement child of the
138      * MathMLElement. Note that only bvar child elements are counted in
139      * determining the index-th bound variable.
140      * 
141      * @param index
142      *            The one-based index into the bound variable children of this
143      *            element of the MathMLBvarElement to be retrieved.
144      * @return The MathMLBvarElement representing the index-th bvar child of
145      *         this element.
146      */
147     MathMLBvarElement getBoundVariable(int index);
148 
149     /**
150      * This method inserts a MathMLBvarElement as a child node before the
151      * current index-th bound variable child of this MathMLElement. If index
152      * is 0, newBVar is appended as the last bound variable child. This has
153      * the effect of adding a bound variable to the expression this element
154      * represents. Note that the new bound variable is inserted as the
155      * index-th bvar child node, not necessarily as the index-th child node.
156      * The point of the method is to allow insertion of bound variables
157      * without requiring the caller to calculate the exact order of child
158      * qualifier elements.
159      * 
160      * @param newBVar
161      *            A MathMLBvarElement representing the bvar element being
162      *            added.
163      * @param index
164      *            The one-based index into the bound variable children of this
165      *            element before which newBVar is to be inserted.
166      * @return The MathMLBvarElement being added.
167      * @throws DOMException
168      *             HIERARCHY_REQUEST_ERR: Raised if this element does not
169      *             permit child bvar elements.
170      */
171     MathMLBvarElement insertBoundVariable(MathMLBvarElement newBVar, int index)
172             throws DOMException;
173 
174     /**
175      * This method sets the index-th bound variable child of this
176      * MathMLElement to newBVar. This has the effect of setting a bound
177      * variable in the expression this element represents. Note that the new
178      * bound variable is inserted as the index-th bvar child node, not
179      * necessarily as the index-th child node. The point of the method is to
180      * allow insertion of bound variables without requiring the caller to
181      * calculate the exact order of child qualifier elements. If there is
182      * already a bvar at the index-th position, it is replaced by newBVar.
183      * 
184      * @param newBVar
185      *            The new MathMLBvarElement child of this element being set.
186      * @param index
187      *            The one-based index into the bound variable children of this
188      *            element at which newBVar is to be inserted.
189      * @return The MathMLBvarElement being set.
190      * @throws DOMException
191      *             HIERARCHY_REQUEST_ERR: Raised if this element does not
192      *             permit child bvar elements.
193      */
194     MathMLBvarElement setBoundVariable(MathMLBvarElement newBVar, int index)
195             throws DOMException;
196 
197     /**
198      * This method deletes the index-th MathMLBvarElement child of the
199      * MathMLElement. This has the effect of removing this bound variable from
200      * the list of qualifiers affecting the element this represents.
201      * 
202      * @param index
203      *            The one-based index into the bound variable children of this
204      *            element of the MathMLBvarElement to be removed.
205      */
206     void deleteBoundVariable(int index);
207 
208     /**
209      * This method removes the index-th MathMLBvarElement child of the
210      * MathMLElement and returns it to the caller. This has the effect of
211      * removing this bound variable from the list of qualifiers affecting the
212      * element this represents.
213      * 
214      * @param index
215      *            The one-based index into the bound variable children of this
216      *            element of the MathMLBvarElement to be removed.
217      * @return The MathMLBvarElement being removed.
218      */
219     MathMLBvarElement removeBoundVariable(int index);
220 };