001    /*
002     * Copyright 2007 - 2007 JEuclid, http://jeuclid.sf.net
003     * 
004     * Licensed under the Apache License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     *      http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.w3c.dom.mathml;
017    
018    import org.w3c.dom.DOMException;
019    
020    /*
021     * Please note: This file was automatically generated from the source of the
022     * MathML specification. Do not edit it. If there are errors or missing
023     * elements, please correct the stylesheet instead.
024     */
025    
026    /**
027     * This interface extends the MathMLPresentationElement interface for the
028     * MathML table or matrix element mtable.
029     * 
030     * 
031     */
032    public interface MathMLTableElement extends MathMLPresentationElement {
033        /**
034         * A string representing the vertical alignment of the table with the
035         * adjacent text. Allowed values are (top | bottom | center | baseline |
036         * axis)[rownumber], where rownumber is between 1 and n (for a table with
037         * n rows) or -1 and -n.
038         * 
039         * @return value of the align attribute.
040         */
041        String getAlign();
042    
043        /**
044         * setter for the align attribute.
045         * 
046         * @param align
047         *            new value for align.
048         * @see #getAlign()
049         */
050        void setAlign(String align);
051    
052        /**
053         * A string representing the alignment of entries in each row, consisting
054         * of a space-separated sequence of alignment specifiers, each of which
055         * can have the following values: top, bottom, center, baseline, or axis.
056         * 
057         * @return value of the rowalign attribute.
058         */
059        String getRowalign();
060    
061        /**
062         * setter for the rowalign attribute.
063         * 
064         * @param rowalign
065         *            new value for rowalign.
066         * @see #getRowalign()
067         */
068        void setRowalign(String rowalign);
069    
070        /**
071         * A string representing the alignment of entries in each column,
072         * consisting of a space-separated sequence of alignment specifiers, each
073         * of which can have the following values: left, center, or right.
074         * 
075         * @return value of the columnalign attribute.
076         */
077        String getColumnalign();
078    
079        /**
080         * setter for the columnalign attribute.
081         * 
082         * @param columnalign
083         *            new value for columnalign.
084         * @see #getColumnalign()
085         */
086        void setColumnalign(String columnalign);
087    
088        /**
089         * A string specifying how the alignment groups within the cells of each
090         * row are to be aligned with the corresponding items above or below them
091         * in the same column. The string consists of a sequence of braced group
092         * alignment lists. Each group alignment list is a space-separated
093         * sequence, each of which can have the following values: left, right,
094         * center, or decimalpoint.
095         * 
096         * @return value of the groupalign attribute.
097         */
098        String getGroupalign();
099    
100        /**
101         * setter for the groupalign attribute.
102         * 
103         * @param groupalign
104         *            new value for groupalign.
105         * @see #getGroupalign()
106         */
107        void setGroupalign(String groupalign);
108    
109        /**
110         * A string consisting of the values true or false indicating, for each
111         * column, whether it can be used as an alignment scope.
112         * 
113         * @return value of the alignmentscope attribute.
114         */
115        String getAlignmentscope();
116    
117        /**
118         * setter for the alignmentscope attribute.
119         * 
120         * @param alignmentscope
121         *            new value for alignmentscope.
122         * @see #getAlignmentscope()
123         */
124        void setAlignmentscope(String alignmentscope);
125    
126        /**
127         * A string consisting of a space-separated sequence of specifiers, each
128         * of which can have one of the following forms: auto, number h-unit,
129         * namedspace, or fit. (A value of the form namedspace is one of
130         * veryverythinmathspace, verythinmathspace, thinmathspace,
131         * mediummathspace, thickmathspace, verythickmathspace, or
132         * veryverythickmathspace.) This represents the element's columnwidth
133         * attribute.
134         * 
135         * @return value of the columnwidth attribute.
136         */
137        String getColumnwidth();
138    
139        /**
140         * setter for the columnwidth attribute.
141         * 
142         * @param columnwidth
143         *            new value for columnwidth.
144         * @see #getColumnwidth()
145         */
146        void setColumnwidth(String columnwidth);
147    
148        /**
149         * A string that is either of the form number h-unit or is the string
150         * auto. This represents the element's width attribute.
151         * 
152         * @return value of the width attribute.
153         */
154        String getWidth();
155    
156        /**
157         * setter for the width attribute.
158         * 
159         * @param width
160         *            new value for width.
161         * @see #getWidth()
162         */
163        void setWidth(String width);
164    
165        /**
166         * A string consisting of a space-separated sequence of specifiers of the
167         * form number v-unit representing the space to be added between rows.
168         * 
169         * @return value of the rowspacing attribute.
170         */
171        String getRowspacing();
172    
173        /**
174         * setter for the rowspacing attribute.
175         * 
176         * @param rowspacing
177         *            new value for rowspacing.
178         * @see #getRowspacing()
179         */
180        void setRowspacing(String rowspacing);
181    
182        /**
183         * A string consisting of a space-separated sequence of specifiers of the
184         * form number h-unit representing the space to be added between columns.
185         * 
186         * @return value of the columnspacing attribute.
187         */
188        String getColumnspacing();
189    
190        /**
191         * setter for the columnspacing attribute.
192         * 
193         * @param columnspacing
194         *            new value for columnspacing.
195         * @see #getColumnspacing()
196         */
197        void setColumnspacing(String columnspacing);
198    
199        /**
200         * A string specifying whether and what kind of lines should be added
201         * between each row. The string consists of a space-separated sequence of
202         * specifiers, each of which can have the following values: none, solid,
203         * or dashed.
204         * 
205         * @return value of the rowlines attribute.
206         */
207        String getRowlines();
208    
209        /**
210         * setter for the rowlines attribute.
211         * 
212         * @param rowlines
213         *            new value for rowlines.
214         * @see #getRowlines()
215         */
216        void setRowlines(String rowlines);
217    
218        /**
219         * A string specifying whether and what kind of lines should be added
220         * between each column. The string consists of a space-separated sequence
221         * of specifiers, each of which can have the following values: none,
222         * solid, or dashed.
223         * 
224         * @return value of the columnlines attribute.
225         */
226        String getColumnlines();
227    
228        /**
229         * setter for the columnlines attribute.
230         * 
231         * @param columnlines
232         *            new value for columnlines.
233         * @see #getColumnlines()
234         */
235        void setColumnlines(String columnlines);
236    
237        /**
238         * A string specifying a frame around the table. Allowed values are (none |
239         * solid | dashed).
240         * 
241         * @return value of the frame attribute.
242         */
243        String getFrame();
244    
245        /**
246         * setter for the frame attribute.
247         * 
248         * @param frame
249         *            new value for frame.
250         * @see #getFrame()
251         */
252        void setFrame(String frame);
253    
254        /**
255         * A string of the form number h-unit number v-unit specifying the spacing
256         * between table and its frame.
257         * 
258         * @return value of the framespacing attribute.
259         */
260        String getFramespacing();
261    
262        /**
263         * setter for the framespacing attribute.
264         * 
265         * @param framespacing
266         *            new value for framespacing.
267         * @see #getFramespacing()
268         */
269        void setFramespacing(String framespacing);
270    
271        /**
272         * A string with the values true or false.
273         * 
274         * @return value of the equalrows attribute.
275         */
276        String getEqualrows();
277    
278        /**
279         * setter for the equalrows attribute.
280         * 
281         * @param equalrows
282         *            new value for equalrows.
283         * @see #getEqualrows()
284         */
285        void setEqualrows(String equalrows);
286    
287        /**
288         * A string with the values true or false.
289         * 
290         * @return value of the equalcolumns attribute.
291         */
292        String getEqualcolumns();
293    
294        /**
295         * setter for the equalcolumns attribute.
296         * 
297         * @param equalcolumns
298         *            new value for equalcolumns.
299         * @see #getEqualcolumns()
300         */
301        void setEqualcolumns(String equalcolumns);
302    
303        /**
304         * A string with the values true or false.
305         * 
306         * @return value of the displaystyle attribute.
307         */
308        String getDisplaystyle();
309    
310        /**
311         * setter for the displaystyle attribute.
312         * 
313         * @param displaystyle
314         *            new value for displaystyle.
315         * @see #getDisplaystyle()
316         */
317        void setDisplaystyle(String displaystyle);
318    
319        /**
320         * A string with the values left, right, leftoverlap, or rightoverlap.
321         * 
322         * @return value of the side attribute.
323         */
324        String getSide();
325    
326        /**
327         * setter for the side attribute.
328         * 
329         * @param side
330         *            new value for side.
331         * @see #getSide()
332         */
333        void setSide(String side);
334    
335        /**
336         * A string of the form number h-unit, specifying the minimum space
337         * between a label and the adjacent entry in the labeled row.
338         * 
339         * @return value of the minlabelspacing attribute.
340         */
341        String getMinlabelspacing();
342    
343        /**
344         * setter for the minlabelspacing attribute.
345         * 
346         * @param minlabelspacing
347         *            new value for minlabelspacing.
348         * @see #getMinlabelspacing()
349         */
350        void setMinlabelspacing(String minlabelspacing);
351    
352        /**
353         * A MathMLNodeList consisting of MathMLTableRowElements and
354         * MathMLLabeledRowElements representing the rows of the table. This is a
355         * live object.
356         * 
357         * @return value of the rows attribute.
358         */
359        MathMLNodeList getRows();
360    
361        /**
362         * A convenience method to insert a new (empty) row (mtr) in the table
363         * before the current index-th row. If index is less than 0, the new row
364         * is inserted before the -index-th row counting up from the current last
365         * row; if index is equal to the current number of rows, the new row is
366         * appended as the last row.
367         * 
368         * @param index
369         *            Position before which to insert the new row, where 0
370         *            represents the first row. Negative numbers are used to count
371         *            backwards from the last row.
372         * @return Returns the MathMLTableRowElement child of this
373         *         MathMLTableElement that represents the new mtr element being
374         *         inserted.
375         * @throws DOMException
376         *             INDEX_SIZE_ERR: Raised if index is greater than the current
377         *             number of rows of this mtable element or less than minus
378         *             this number.
379         */
380        MathMLTableRowElement insertEmptyRow(long index) throws DOMException;
381    
382        /**
383         * A convenience method to insert a new (empty) labeled row (mlabeledtr)
384         * in the table before the current index-th row. If index is less than 0,
385         * the new row is inserted before the -index-th row counting up from the
386         * current last row; if index is equal to the current number of rows, the
387         * new row is appended as the last row.
388         * 
389         * @param index
390         *            Position before which to insert the new row, where 0
391         *            represents the first row. Negative numbers are used to count
392         *            backwards from the last row.
393         * @return Returns the MathMLLabeledRowElement child of this
394         *         MathMLTableElement representing the mtr element being inserted.
395         * @throws DOMException
396         *             INDEX_SIZE_ERR: Raised if index is greater than the current
397         *             number of rows of this mtable element or less than minus
398         *             this number.
399         */
400        MathMLLabeledRowElement insertEmptyLabeledRow(long index)
401                throws DOMException;
402    
403        /**
404         * A convenience method to retrieve the index-th row from the table. If
405         * index is less than 0, the -index-th row from the bottom of the table is
406         * retrieved. (So, for instance, if index is -2, the next-to-last row is
407         * retrieved.) If index is not a valid value (i.e. is greater than or
408         * equal to the number of rows, or is less than minus the number of rows),
409         * a null MathMLTableRowElement is returned.
410         * 
411         * @param index
412         *            Index of the row to be returned, where 0 represents the
413         *            first row. Negative numbers are used to count backwards from
414         *            the last row.
415         * @return Returns the MathMLTableRowElement representing the index-th row
416         *         of the table.
417         */
418        MathMLTableRowElement getRow(long index);
419    
420        /**
421         * A convenience method to insert the new row or labeled row (mtr or
422         * mlabeledtr) represented by newRow in the table before the current
423         * index-th row. If index is equal to the current number of rows, newRow
424         * is appended as the last row in the table. If index is less than 0, the
425         * new row is inserted before the -index-th row from the bottom of the
426         * table. (So, for instance, if index is -2, the new row is inserted
427         * before the next-to-last current row.)
428         * 
429         * @param index
430         *            Index before which to insert newRow, where 0 represents the
431         *            first row. Negative numbers are used to count backwards from
432         *            the current last row.
433         * @param newRow
434         *            A MathMLTableRowElement or MathMLLabeledRowElement
435         *            representing the row to be inserted.
436         * @return The MathMLTableRowElement or MathMLLabeledRowElement child of
437         *         this MathMLTableElement representing the mtr element being
438         *         inserted.
439         * @throws DOMException
440         *             HIERARCHY_REQUEST_ERR: Raised if newRow is not a
441         *             MathMLTableRowElement or MathMLLabeledRowElement.
442         *             INDEX_SIZE_ERR: Raised if index is greater than the current
443         *             number of rows or less than minus the current number of
444         *             rows of this mtable element.
445         */
446        MathMLTableRowElement insertRow(long index, MathMLTableRowElement newRow)
447                throws DOMException;
448    
449        /**
450         * A method to set the value of the row in the table at the specified
451         * index to the mtr or mlabeledtr represented by newRow. If index is less
452         * than 0, the -index-th row counting up from the last is replaced by
453         * newRow; if index is one more than the current number of rows, the new
454         * row is appended as the last row in the table.
455         * 
456         * @param index
457         *            Index of the row to be set to newRow, where 0 represents the
458         *            first row. Negative numbers are used to count backwards from
459         *            the last row.
460         * @param newRow
461         *            A MathMLTableRowElement representing the row that is to be
462         *            the new index-th row.
463         * @return Returns the MathMLTableRowElement or MathMLLabeledRowElement
464         *         child of this element that represents the new row in the DOM.
465         * @throws DOMException
466         *             HIERARCHY_REQUEST_ERR: Raised if newRow is not a
467         *             MathMLTableRowElement or MathMLLabeledRowElement.
468         *             INDEX_SIZE_ERR: Raised if index is greater than the current
469         *             number of rows of this mtable element or less than minus
470         *             this number.
471         */
472        MathMLTableRowElement setRow(long index, MathMLTableRowElement newRow)
473                throws DOMException;
474    
475        /**
476         * A convenience method to delete the row of the table at the specified
477         * index. If index is less than 0, the -index-th row from the bottom of
478         * the table is deleted. (So, for instance, if index is -2, the
479         * next-to-last row is deleted.)
480         * 
481         * @param index
482         *            Index of row to be deleted, where 0 represents the first
483         *            row.
484         * @throws DOMException
485         *             INDEX_SIZE_ERR: Raised if index is greater than or equal to
486         *             the current number of rows of this mtable element or less
487         *             than minus this number.
488         */
489        void deleteRow(long index) throws DOMException;
490    
491        /**
492         * A convenience method to delete the row of the table at the specified
493         * index and return it to the caller. If index is less than 0, the
494         * -index-th row from the bottom of the table is deleted. (So, for
495         * instance, if index is -2, the next-to-last row is deleted.)
496         * 
497         * @param index
498         *            Index of row to be removed, where 0 represents the first
499         *            row.
500         * @return A MathMLTableRowElement representing the row being deleted.
501         * @throws DOMException
502         *             INDEX_SIZE_ERR: Raised if index is greater than or equal to
503         *             the number of rows of this mtable element or less than
504         *             minus this number.
505         */
506        MathMLTableRowElement removeRow(long index) throws DOMException;
507    };