001 
002 /*
003  *  JScripter Standard 1.0 - To Script In Java
004  *  Copyright (C) 2008-2011  J.J.Liu<jianjunliu@126.com> <http://www.jscripter.org>
005  *  
006  *  This program is free software: you can redistribute it and/or modify
007  *  it under the terms of the GNU Affero General Public License as published by
008  *  the Free Software Foundation, either version 3 of the License, or
009  *  (at your option) any later version.
010  *  
011  *  This program is distributed in the hope that it will be useful,
012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
014  *  GNU Affero General Public License for more details.
015  *  
016  *  You should have received a copy of the GNU Affero General Public License
017  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
018  */
019 
020 package js.user;
021 
022 import js.*;
023 import js.core.*;
024 
025 /**
026  * <p>An <b>opaque</b> class representing JavaScript client-side objects of the global 
027  * {@link JsClient#HTMLTableRowElement} class.</p>
028  * <p>This class represents a table row 
029  * in an HTML page, or a {@link JsHTMLElement} object created with the HTML 
030  * <tt>&lt;tr&gt;</tt> tag.</p>
031  *
032  * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
033  *
034  * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
035  * generated into the target codes. Re-compilers must exit with error on the operations of
036  * accessing that kind of class objects.
037  * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
038  * and <tt>instanceof</tt> to it always <tt>true</tt>.
039  */
040 public class JsHTMLTableRowElement extends JsClient.HTMLTableRowElement.Prototype
041 {
042     /**
043      * <p>An <b>internal</b> class containing membership data for its enclosing
044      * opaque class.</p>
045      * <p>This class is only used inside of <b>opaque</b> or <b>internal</b> classes or
046      * class members.</p>
047      *
048      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
049      * 
050      * @javascript Re-compilers must report error on resolving an <b>internal</b> class.
051      */
052     protected static abstract class Members extends JsClient.HTMLTableRowElement.Prototype.Members
053     {
054         /**
055          * <p>An <b>internal</b> static field defining a member ID of the field name and
056          * used internally to define a member of the same name.</p>
057          * @since 1.0
058          * @see JsHTMLTableRowElement#cells
059          * @see JsHTMLTableRowElement.Member#cells
060          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
061          */
062         public final static Mid cells           = id("cells"          );
063         /**
064          * <p>An <b>internal</b> static field defining a member ID of the field name and
065          * used internally to define a member of the same name.</p>
066          * @since 1.0
067          * @see JsHTMLTableRowElement#rowIndex
068          * @see JsHTMLTableRowElement.Member#rowIndex
069          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
070          */
071         public final static Mid rowIndex        = id("rowIndex"       );
072         /**
073          * <p>An <b>internal</b> static field defining a member ID of the field name and
074          * used internally to define a member of the same name.</p>
075          * @since 1.0
076          * @see JsHTMLTableRowElement#sectionRowIndex
077          * @see JsHTMLTableRowElement.Member#sectionRowIndex
078          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
079          */
080         public final static Mid sectionRowIndex = id("sectionRowIndex");
081         /**
082          * <p>An <b>internal</b> static field defining a member ID of the field name and
083          * used internally to define a member of the same name.</p>
084          * @since 1.0
085          * @see JsHTMLTableRowElement#align
086          * @see JsHTMLTableRowElement.Member#align
087          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
088          */
089         public final static Mid align           = id("align"          );
090         /**
091          * <p>An <b>internal</b> static field defining a member ID of the field name and
092          * used internally to define a member of the same name.</p>
093          * @since 1.0
094          * @see JsHTMLTableRowElement#bgColor
095          * @see JsHTMLTableRowElement.Member#bgColor
096          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
097          */
098         public final static Mid bgColor         = id("bgColor"        );
099         /**
100          * <p>An <b>internal</b> static field defining a member ID of the field name and
101          * used internally to define a member of the same name.</p>
102          * @since 1.0
103          * @see JsHTMLTableRowElement#ch
104          * @see JsHTMLTableRowElement.Member#ch
105          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
106          */
107         public final static Mid ch              = id("ch"             );
108         /**
109          * <p>An <b>internal</b> static field defining a member ID of the field name and
110          * used internally to define a member of the same name.</p>
111          * @since 1.0
112          * @see JsHTMLTableRowElement#chOff
113          * @see JsHTMLTableRowElement.Member#chOff
114          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
115          */
116         public final static Mid chOff           = id("chOff"          );
117         /**
118          * <p>An <b>internal</b> static field defining a member ID of the field name and
119          * used internally to define a member of the same name.</p>
120          * @since 1.0
121          * @see JsHTMLTableRowElement#vAlign
122          * @see JsHTMLTableRowElement.Member#vAlign
123          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
124          */
125         public final static Mid vAlign          = id("vAlign"         );
126     }
127 
128     /**
129      * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
130      * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
131      * This class and the subclasses of this class are used to declare either <b>opaque</b> 
132      * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
133      * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
134      * constructors are used to define the fields inside <b>opaque</b> classes. Under 
135      * either circumstance, the field names must be exactly same as the member names, as 
136      * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
137      * based on the field names.</p>
138      *
139      * @author <a href="mailto:jianjunliu@126.com">J.J.Liu (Jianjun Liu)</a> at <a href="http://www.jscripter.org" target="_blank">http://www.jscripter.org</a>
140      * 
141      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
142      * in the target codes. Re-compilers must exit with error on operations accessing that kind 
143      * of class objects.
144      * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
145      * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
146      * <pre>q.m</pre>
147      * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
148      * resolved from the instance of the enclosing member. Re-compilers must resolve an 
149      * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
150      * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
151      * <pre>m</pre>
152      * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
153      * error on the access to <b>opaque</b> fields declared by this class under any other 
154      * circumstances.
155      */
156     public static class Member extends JsClient.HTMLTableRowElement.Prototype.Member
157     {
158         /**
159          * <p>Internally constructs a member based on a qualifying member.</p>
160          * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
161          * or <b>internal</b> classes or class members.</p>
162          * <p>Note that, this constructor is <b>internal</b> but its declaring class is
163          * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
164          * declared in the declaring class of this constructor itself or its subclasses. 
165          * Under this circumstance, the field names must be exactly same as the member 
166          * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
167          * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
168          * to their names appending to the name resolved from the specified qualifying 
169          * member with a dot in between.</p>
170          * @param q A qualifying member
171          * @param mid The ID of the member to construct
172          * @since 1.0
173          * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
174          */
175         public Member(JsObject.Member q, Mid mid) {
176             super(q, mid);
177         }
178         /**
179          * <p>Internally constructs a member without a qualifying member.</p>
180          * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
181          * or <b>internal</b> classes or class members.</p>
182          * <p>Note that, this constructor is <b>internal</b> but its declaring class is
183          * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
184          * declared in <b>opaque</b> types other than the declaring class of this constructor 
185          * itself and its subclasses. Under this circumstance, the field names must be
186          * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
187          * types are generally resolved by re-compilers directly to identifiers of their names.</p>
188          * @param mid The ID of the member to construct
189          * @since 1.0
190          * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
191          */
192         public Member(Mid mid) {
193             super(mid);
194         }
195         @Override
196         /**
197          * <p>Evaluates the property, represented by the current member instance, of the
198          * argument object.</p>
199          * @param o The argument object
200          * @return The value of the current member based on the object argument.
201          * @since 1.0
202          * @javascript Re-compilers must convert the instance invocation of this method into
203          * the JavaScript expression: 
204          * <pre>o.m</pre>
205          * where <tt>m</tt> is the identifier name resolved from the current member
206          * instance of the invocation.
207          */
208         public JsHTMLTableRowElement with(ObjectLike o) {
209             return new JsHTMLTableRowElement(super.with(o));
210         }
211 
212         /**
213          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
214          * name of this field, qualified by the current member instance of the field, and 
215          * to access the property of the name on an object.</p>
216          * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
217          * object is a read-only reference to a collection of {@link JsHTMLTableCellElement} 
218          * elements of the current table row.</p>
219          * @since 1.0
220          * @javascript Re-compilers must resolve the member of this instance field to the
221          * identifier of the field name appending to the identifier resolved from its 
222          * qualifying member with a dot in between.
223          */
224         public final JsHTMLCollection.Member<JsHTMLTableCellElement> cells = new JsHTMLCollection.Member<JsHTMLTableCellElement>(this, Members.cells);
225         /**
226          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
227          * name of this field, qualified by the current member instance of the field, and 
228          * to access the property of the name on an object.</p>
229          * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
230          * object refers to an integer value specifying the index of this row in its table 
231          * in logical order and not in document order. It takes into account sections 
232          * within the table, placing <tt>&lt;thead&gt;</tt> rows first in the index, 
233          * followed by <tt>&lt;tbody&gt;</tt> rows, followed by <tt>&lt;tfoot&gt;</tt> 
234          * rows.</p>
235          * @since 1.0
236          * @javascript Re-compilers must resolve the member of this instance field to the
237          * identifier of the field name appending to the identifier resolved from its 
238          * qualifying member with a dot in between.
239          */
240         public final Value.Number.Member rowIndex        = new Value.Number.Member(this, Members.rowIndex       );
241         /**
242          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
243          * name of this field, qualified by the current member instance of the field, and 
244          * to access the property of the name on an object.</p>
245          * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
246          * object refers to an integer value specifying the index of this row in its table, 
247          * relative to the current section, starting from 0.</p>
248          * @since 1.0
249          * @javascript Re-compilers must resolve the member of this instance field to the
250          * identifier of the field name appending to the identifier resolved from its 
251          * qualifying member with a dot in between.
252          */
253         public final Value.Number.Member sectionRowIndex = new Value.Number.Member(this, Members.sectionRowIndex);
254         /**
255          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
256          * name of this field, qualified by the current member instance of the field, and 
257          * to access the property of the name on an object.</p>
258          * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
259          * object refers to a string specifying the horizontal alignment of the elements 
260          * of the table row with respect to the surrounding context. Possible values 
261          * are:
262          * <ul>
263          * <li><tt>"left"</tt>: text lines are rendered flush left.</li>
264          * <li><tt>"center"</tt>: text lines are centered.</li>
265          * <li><tt>"right"</tt>: text lines are rendered flush right.</li>
266          * <li><tt>"justify"</tt>: text lines are justified to both margins.</li>
267          * </ul>
268          * The default value of this attribute depends on the base text direction. 
269          * For left to right text, the default is "left", while for right to left text, 
270          * it is "right".</p>
271          * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
272          * @since 1.0
273          * @javascript Re-compilers must resolve the member of this instance field to the
274          * identifier of the field name appending to the identifier resolved from its 
275          * qualifying member with a dot in between.
276          */
277         public final Value.String.Member align           = new Value.String.Member(this, Members.align          );
278         /**
279          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
280          * name of this field, qualified by the current member instance of the field, and 
281          * to access the property of the name on an object.</p>
282          * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
283          * object refers to a string specifying the background color for the table row.</p>
284          * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
285          * @since 1.0
286          * @javascript Re-compilers must resolve the member of this instance field to the
287          * identifier of the field name appending to the identifier resolved from its 
288          * qualifying member with a dot in between.
289          */
290         public final Value.String.Member bgColor         = new Value.String.Member(this, Members.bgColor        );
291         /**
292          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
293          * name of this field, qualified by the current member instance of the field, and 
294          * to access the property of the name on an object.</p>
295          * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
296          * object refers to a string specifying a single character within a text fragment 
297          * to act as an axis for alignment. The default value for this attribute is the 
298          * decimal point character for the current language as set by the {@link JsHTMLElement#lang} 
299          * attribute, e.g., the period (".") in English and the comma (",") in French. 
300          * Browsers are not required to support this attribute by HTML 4.01.</p>
301          * @since 1.0
302          * @javascript Re-compilers must resolve the member of this instance field to the
303          * identifier of the field name appending to the identifier resolved from its 
304          * qualifying member with a dot in between.
305          */
306         public final Value.String.Member ch              = new Value.String.Member(this, Members.ch             );
307         /**
308          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
309          * name of this field, qualified by the current member instance of the field, and 
310          * to access the property of the name on an object.</p>
311          * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
312          * object refers to a string specifying, if specified, the offset to the first 
313          * occurrence of the alignment character on each line. If a line doesn't include 
314          * the alignment character, it should be horizontally shifted to end at the 
315          * alignment position.</p>
316          * @since 1.0
317          * @javascript Re-compilers must resolve the member of this instance field to the
318          * identifier of the field name appending to the identifier resolved from its 
319          * qualifying member with a dot in between.
320          */
321         public final Value.String.Member chOff           = new Value.String.Member(this, Members.chOff          );
322         /**
323          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
324          * name of this field, qualified by the current member instance of the field, and 
325          * to access the property of the name on an object.</p>
326          * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
327          * object refers to a string specifying the vertical position of data within a 
328          * table row. Possible values are:
329          * <ul>
330          * <li><tt>"top"</tt>: Cell data is flush with the top of the cell.</li>
331          * <li><tt>"middle"</tt>: Cell data is centered vertically within the cell. This is the default value.</li>
332          * <li><tt>"bottom"</tt>: Cell data is flush with the bottom of the cell.</li>
333          * <li><tt>"baseline"</tt>: All cells in the same row as a cell whose {@link #vAlign} 
334          * attribute has this value should have their textual data positioned so that 
335          * the first text line occurs on a baseline common to all cells in the row. 
336          * This constraint does not apply to subsequent text lines in these cells.</li>
337          * </ul></p>
338          * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
339          * @since 1.0
340          * @javascript Re-compilers must resolve the member of this instance field to the
341          * identifier of the field name appending to the identifier resolved from its 
342          * qualifying member with a dot in between.
343          */
344         public final Value.String.Member vAlign          = new Value.String.Member(this, Members.vAlign         );
345     }
346 
347     /**
348      * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
349      * with the wrapping constructor.</p>
350      * @param var The argument of an <b>opaque</b> object.
351      * @since 1.0
352      * @javascript Re-compilers must ignore the construction operation of this constructor,
353      * that is, replacing it with its only argument.
354      */
355     public JsHTMLTableRowElement(JsObject var) {
356         super(var);
357     }
358 
359     /**
360      * <p>An <b>opaque</b> static field defining a member that is named by the field name
361      * without a qualifying member and to access the property of the name on an object.</p>
362      * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
363      * object is a read-only reference to a collection of {@link JsHTMLTableCellElement} 
364      * elements of the current table row.</p>
365      * @since 1.0
366      * @javascript Re-compilers must resolve the member of this static field to the
367      * identifier of the field name.
368      */
369     public static final JsHTMLCollection.Member<JsHTMLTableCellElement> cells = new JsHTMLCollection.Member<JsHTMLTableCellElement>(Members.cells);
370     /**
371      * <p>An <b>opaque</b> static field defining a member that is named by the field name
372      * without a qualifying member and to access the property of the name on an object.</p>
373      * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
374      * object refers to an integer value specifying the index of this row in its table 
375      * in logical order and not in document order. It takes into account sections 
376      * within the table, placing <tt>&lt;thead&gt;</tt> rows first in the index, 
377      * followed by <tt>&lt;tbody&gt;</tt> rows, followed by <tt>&lt;tfoot&gt;</tt> 
378      * rows.</p>
379      * @since 1.0
380      * @javascript Re-compilers must resolve the member of this static field to the
381      * identifier of the field name.
382      */
383     public static final Value.Number.Member rowIndex        = new Value.Number.Member(Members.rowIndex       );
384     /**
385      * <p>An <b>opaque</b> static field defining a member that is named by the field name
386      * without a qualifying member and to access the property of the name on an object.</p>
387      * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
388      * object refers to an integer value specifying the index of this row in its table, 
389      * relative to the current section, starting from 0.</p>
390      * @since 1.0
391      * @javascript Re-compilers must resolve the member of this static field to the
392      * identifier of the field name.
393      */
394     public static final Value.Number.Member sectionRowIndex = new Value.Number.Member(Members.sectionRowIndex);
395     /**
396      * <p>An <b>opaque</b> static field defining a member that is named by the field name
397      * without a qualifying member and to access the property of the name on an object.</p>
398      * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
399      * object refers to a string specifying the horizontal alignment of the elements 
400      * of the table row with respect to the surrounding context. Possible values 
401      * are:
402      * <ul>
403      * <li><tt>"left"</tt>: text lines are rendered flush left.</li>
404      * <li><tt>"center"</tt>: text lines are centered.</li>
405      * <li><tt>"right"</tt>: text lines are rendered flush right.</li>
406      * <li><tt>"justify"</tt>: text lines are justified to both margins.</li>
407      * </ul>
408      * The default value of this attribute depends on the base text direction. 
409      * For left to right text, the default is "left", while for right to left text, 
410      * it is "right".</p>
411      * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
412      * @since 1.0
413      * @javascript Re-compilers must resolve the member of this static field to the
414      * identifier of the field name.
415      */
416     public static final Value.String.Member align           = new Value.String.Member(Members.align          );
417     /**
418      * <p>An <b>opaque</b> static field defining a member that is named by the field name
419      * without a qualifying member and to access the property of the name on an object.</p>
420      * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
421      * object refers to a string specifying the background color for the table row.</p>
422      * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
423      * @since 1.0
424      * @javascript Re-compilers must resolve the member of this static field to the
425      * identifier of the field name.
426      */
427     public static final Value.String.Member bgColor         = new Value.String.Member(Members.bgColor        );
428     /**
429      * <p>An <b>opaque</b> static field defining a member that is named by the field name
430      * without a qualifying member and to access the property of the name on an object.</p>
431      * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
432      * object refers to a string specifying a single character within a text fragment 
433      * to act as an axis for alignment. The default value for this attribute is the 
434      * decimal point character for the current language as set by the {@link JsHTMLElement#lang} 
435      * attribute, e.g., the period (".") in English and the comma (",") in French. 
436      * Browsers are not required to support this attribute by HTML 4.01.</p>
437      * @since 1.0
438      * @javascript Re-compilers must resolve the member of this static field to the
439      * identifier of the field name.
440      */
441     public static final Value.String.Member ch              = new Value.String.Member(Members.ch             );
442     /**
443      * <p>An <b>opaque</b> static field defining a member that is named by the field name
444      * without a qualifying member and to access the property of the name on an object.</p>
445      * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
446      * object refers to a string specifying, if specified, the offset to the first 
447      * occurrence of the alignment character on each line. If a line doesn't include 
448      * the alignment character, it should be horizontally shifted to end at the 
449      * alignment position.</p>
450      * @since 1.0
451      * @javascript Re-compilers must resolve the member of this static field to the
452      * identifier of the field name.
453      */
454     public static final Value.String.Member chOff           = new Value.String.Member(Members.chOff          );
455     /**
456      * <p>An <b>opaque</b> static field defining a member that is named by the field name
457      * without a qualifying member and to access the property of the name on an object.</p>
458      * <p>The property, identified by this member, of a {@link JsHTMLTableRowElement} 
459      * object refers to a string specifying the vertical position of data within a 
460      * table row. Possible values are:
461      * <ul>
462      * <li><tt>"top"</tt>: Cell data is flush with the top of the cell.</li>
463      * <li><tt>"middle"</tt>: Cell data is centered vertically within the cell. This is the default value.</li>
464      * <li><tt>"bottom"</tt>: Cell data is flush with the bottom of the cell.</li>
465      * <li><tt>"baseline"</tt>: All cells in the same row as a cell whose {@link #vAlign} 
466      * attribute has this value should have their textual data positioned so that 
467      * the first text line occurs on a baseline common to all cells in the row. 
468      * This constraint does not apply to subsequent text lines in these cells.</li>
469      * </ul></p>
470      * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
471      * @since 1.0
472      * @javascript Re-compilers must resolve the member of this static field to the
473      * identifier of the field name.
474      */
475     public static final Value.String.Member vAlign          = new Value.String.Member(Members.vAlign         );
476 
477     @Override
478     /**
479      * <p>Returns the primitive value associated with the current instance, if there is one.
480      * This invocation simply returns the instance itself for the current instance is an 
481      * object and there is no primitive value for it.</p>
482      * @return The current object itself.
483      * @since 1.0
484      * @javascript Re-compilers must convert the instance invocation of this method directly
485      * into a JavaScript invocation on its current object instance without changing the 
486      * method name, but expanding variable arguments, if any, into comma-separated values. 
487      */
488     public JsHTMLTableRowElement valueOf() {
489         return new JsHTMLTableRowElement((JsObject)var().valueOf());
490     }
491     /**
492      * <p>Deletes the specified cell from the current row.</p>
493      * @param index The index of the cell to delete, starting from 0. If the index is 
494      * -1 the last cell in the row is deleted.
495      * @throws RuntimeException JavaScript throws a {@link JsDOMException} object with 
496      * the {@link JsDOMException#code} property of the value {@link JsDOMException#INDEX_SIZE_ERR} 
497      * if the specified <tt>index</tt> is greater than or equal to the number of cells 
498      * or if the <tt>index</tt> is a negative number other than -1. See {@link Js#err(Object)} for 
499      * JS Simulation.
500      * @since 1.0
501      * @see #deleteCell(NumberLike)
502      * @javascript Re-compilers must convert the instance invocation of this method directly
503      * into a JavaScript invocation on its current object instance without changing the 
504      * method name, but expanding variable arguments, if any, into comma-separated values. 
505      */
506     public final void deleteCell(Number index) {
507         call(deleteCell, index);
508     }
509     /**
510      * <p>Deletes the specified cell from the current row.</p>
511      * @param index The index of the cell to delete, starting from 0. If the index is 
512      * -1 the last cell in the row is deleted.
513      * @throws RuntimeException JavaScript throws a {@link JsDOMException} object with 
514      * the {@link JsDOMException#code} property of the value {@link JsDOMException#INDEX_SIZE_ERR} 
515      * if the specified <tt>index</tt> is greater than or equal to the number of cells 
516      * or if the <tt>index</tt> is a negative number other than -1. See {@link Js#err(Object)} for 
517      * JS Simulation.
518      * @since 1.0
519      * @see #deleteCell(Number)
520      * @javascript Re-compilers must convert the instance invocation of this method directly
521      * into a JavaScript invocation on its current object instance without changing the 
522      * method name, but expanding variable arguments, if any, into comma-separated values. 
523      */
524     public final void deleteCell(NumberLike<?> index) {
525         deleteCell(Js.valueOf(index));
526     }
527     /**
528      * <p>Insert an empty cell into this row.</p>
529      * <p>If <tt>index</tt> is -1 or equal to the number of cells, the new cell is 
530      * appended.</p>
531      * @param index The index of the place to insert the cell, starting from 0.
532      * @return The newly created cell.
533      * @throws RuntimeException JavaScript throws a {@link JsDOMException} object with 
534      * the {@link JsDOMException#code} property of the value {@link JsDOMException#INDEX_SIZE_ERR} 
535      * if the specified <tt>index</tt> is greater than or equal to the number of cells 
536      * or if the <tt>index</tt> is a negative number other than -1. See {@link Js#err(Object)} for 
537      * JS Simulation.
538      * @since 1.0
539      * @see #insertCell(NumberLike)
540      * @javascript Re-compilers must convert the instance invocation of this method directly
541      * into a JavaScript invocation on its current object instance without changing the 
542      * method name, but expanding variable arguments, if any, into comma-separated values. 
543      */
544     public final JsHTMLTableCellElement insertCell(Number index) {
545         return new JsHTMLTableCellElement(call(insertCell, index));
546     }
547     /**
548      * <p>Insert an empty cell into this row.</p>
549      * <p>If <tt>index</tt> is -1 or equal to the number of cells, the new cell is 
550      * appended.</p>
551      * @param index The index of the place to insert the cell, starting from 0.
552      * @return The newly created cell.
553      * @throws RuntimeException JavaScript throws a {@link JsDOMException} object with 
554      * the {@link JsDOMException#code} property of the value {@link JsDOMException#INDEX_SIZE_ERR} 
555      * if the specified <tt>index</tt> is greater than or equal to the number of cells 
556      * or if the <tt>index</tt> is a negative number other than -1. See {@link Js#err(Object)} for 
557      * JS Simulation.
558      * @since 1.0
559      * @see #insertCell(Number)
560      * @javascript Re-compilers must convert the instance invocation of this method directly
561      * into a JavaScript invocation on its current object instance without changing the 
562      * method name, but expanding variable arguments, if any, into comma-separated values. 
563      */
564     public final JsHTMLTableCellElement insertCell(NumberLike<?> index) {
565         return insertCell(Js.valueOf(index));
566     }
567 }