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#HTMLTableCellElement} class.</p>
028  * <p>This class represents a table cell 
029  * in an HTML page, or a {@link JsHTMLElement} object created with the HTML 
030  * <tt>&lt;th&gt;</tt> or <tt>&lt;td&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 JsHTMLTableCellElement extends JsClient.HTMLTableCellElement.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.HTMLTableCellElement.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 JsHTMLTableCellElement#cellIndex
059          * @see JsHTMLTableCellElement.Member#cellIndex
060          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
061          */
062         public final static Mid cellIndex = id("cellIndex");
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 JsHTMLTableCellElement#abbr
068          * @see JsHTMLTableCellElement.Member#abbr
069          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
070          */
071         public final static Mid abbr      = id("abbr"     );
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 JsHTMLTableCellElement#align
077          * @see JsHTMLTableCellElement.Member#align
078          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
079          */
080         public final static Mid align     = id("align"    );
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 JsHTMLTableCellElement#axis
086          * @see JsHTMLTableCellElement.Member#axis
087          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
088          */
089         public final static Mid axis      = id("axis"     );
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 JsHTMLTableCellElement#bgColor
095          * @see JsHTMLTableCellElement.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 JsHTMLTableCellElement#ch
104          * @see JsHTMLTableCellElement.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 JsHTMLTableCellElement#chOff
113          * @see JsHTMLTableCellElement.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 JsHTMLTableCellElement#colSpan
122          * @see JsHTMLTableCellElement.Member#colSpan
123          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
124          */
125         public final static Mid colSpan   = id("colSpan"  );
126         /**
127          * <p>An <b>internal</b> static field defining a member ID of the field name and
128          * used internally to define a member of the same name.</p>
129          * @since 1.0
130          * @see JsHTMLTableCellElement#headers
131          * @see JsHTMLTableCellElement.Member#headers
132          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
133          */
134         public final static Mid headers   = id("headers"  );
135         /**
136          * <p>An <b>internal</b> static field defining a member ID of the field name and
137          * used internally to define a member of the same name.</p>
138          * @since 1.0
139          * @see JsHTMLTableCellElement#height
140          * @see JsHTMLTableCellElement.Member#height
141          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
142          */
143         public final static Mid height    = id("height"   );
144         /**
145          * <p>An <b>internal</b> static field defining a member ID of the field name and
146          * used internally to define a member of the same name.</p>
147          * @since 1.0
148          * @see JsHTMLTableCellElement#noWrap
149          * @see JsHTMLTableCellElement.Member#noWrap
150          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
151          */
152         public final static Mid noWrap    = id("noWrap"   );
153         /**
154          * <p>An <b>internal</b> static field defining a member ID of the field name and
155          * used internally to define a member of the same name.</p>
156          * @since 1.0
157          * @see JsHTMLTableCellElement#rowSpan
158          * @see JsHTMLTableCellElement.Member#rowSpan
159          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
160          */
161         public final static Mid rowSpan   = id("rowSpan"  );
162         /**
163          * <p>An <b>internal</b> static field defining a member ID of the field name and
164          * used internally to define a member of the same name.</p>
165          * @since 1.0
166          * @see JsHTMLTableCellElement#scope
167          * @see JsHTMLTableCellElement.Member#scope
168          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
169          */
170         public final static Mid scope     = id("scope"    );
171         /**
172          * <p>An <b>internal</b> static field defining a member ID of the field name and
173          * used internally to define a member of the same name.</p>
174          * @since 1.0
175          * @see JsHTMLTableCellElement#vAlign
176          * @see JsHTMLTableCellElement.Member#vAlign
177          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
178          */
179         public final static Mid vAlign    = id("vAlign"   );
180         /**
181          * <p>An <b>internal</b> static field defining a member ID of the field name and
182          * used internally to define a member of the same name.</p>
183          * @since 1.0
184          * @see JsHTMLTableCellElement#width
185          * @see JsHTMLTableCellElement.Member#width
186          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
187          */
188         public final static Mid width     = id("width"    );
189     }
190 
191     /**
192      * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
193      * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
194      * This class and the subclasses of this class are used to declare either <b>opaque</b> 
195      * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
196      * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
197      * constructors are used to define the fields inside <b>opaque</b> classes. Under 
198      * either circumstance, the field names must be exactly same as the member names, as 
199      * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
200      * based on the field names.</p>
201      *
202      * @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>
203      * 
204      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
205      * in the target codes. Re-compilers must exit with error on operations accessing that kind 
206      * of class objects.
207      * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
208      * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
209      * <pre>q.m</pre>
210      * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
211      * resolved from the instance of the enclosing member. Re-compilers must resolve an 
212      * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
213      * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
214      * <pre>m</pre>
215      * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
216      * error on the access to <b>opaque</b> fields declared by this class under any other 
217      * circumstances.
218      */
219     public static class Member extends JsClient.HTMLTableCellElement.Prototype.Member
220     {
221         /**
222          * <p>Internally constructs a member based on a qualifying member.</p>
223          * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
224          * or <b>internal</b> classes or class members.</p>
225          * <p>Note that, this constructor is <b>internal</b> but its declaring class is
226          * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
227          * declared in the declaring class of this constructor itself or its subclasses. 
228          * Under this circumstance, the field names must be exactly same as the member 
229          * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
230          * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
231          * to their names appending to the name resolved from the specified qualifying 
232          * member with a dot in between.</p>
233          * @param q A qualifying member
234          * @param mid The ID of the member to construct
235          * @since 1.0
236          * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
237          */
238         public Member(JsObject.Member q, Mid mid) {
239             super(q, mid);
240         }
241         /**
242          * <p>Internally constructs a member without a qualifying member.</p>
243          * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
244          * or <b>internal</b> classes or class members.</p>
245          * <p>Note that, this constructor is <b>internal</b> but its declaring class is
246          * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
247          * declared in <b>opaque</b> types other than the declaring class of this constructor 
248          * itself and its subclasses. Under this circumstance, the field names must be
249          * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
250          * types are generally resolved by re-compilers directly to identifiers of their names.</p>
251          * @param mid The ID of the member to construct
252          * @since 1.0
253          * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
254          */
255         public Member(Mid mid) {
256             super(mid);
257         }
258         @Override
259         /**
260          * <p>Evaluates the property, represented by the current member instance, of the
261          * argument object.</p>
262          * @param o The argument object
263          * @return The value of the current member based on the object argument.
264          * @since 1.0
265          * @javascript Re-compilers must convert the instance invocation of this method into
266          * the JavaScript expression: 
267          * <pre>o.m</pre>
268          * where <tt>m</tt> is the identifier name resolved from the current member
269          * instance of the invocation.
270          */
271         public JsHTMLTableCellElement with(ObjectLike o) {
272             return new JsHTMLTableCellElement(super.with(o));
273         }
274 
275         /**
276          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
277          * name of this field, qualified by the current member instance of the field, and 
278          * to access the property of the name on an object.</p>
279          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
280          * object refers to a read-only integer value specifying the index of this cell 
281          * in the row, starting from 0. This index is in document tree order and not 
282          * display order.</p> 
283          * @since 1.0
284          * @javascript Re-compilers must resolve the member of this instance field to the
285          * identifier of the field name appending to the identifier resolved from its 
286          * qualifying member with a dot in between.
287          */
288         public final Value.Number.Member cellIndex = new Value.Number.Member(this, Members.cellIndex);
289         /**
290          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
291          * name of this field, qualified by the current member instance of the field, and 
292          * to access the property of the name on an object.</p>
293          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
294          * object refers to a string specifying an abbreviated form of the cell's content, 
295          * and may be rendered by browsers when appropriate in place of the cell's 
296          * content. Abbreviated names should be short since browsers may render them 
297          * repeatedly.</p> 
298          * @since 1.0
299          * @javascript Re-compilers must resolve the member of this instance field to the
300          * identifier of the field name appending to the identifier resolved from its 
301          * qualifying member with a dot in between.
302          */
303         public final Value.String.Member abbr      = new Value.String.Member(this, Members.abbr     );
304         /**
305          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
306          * name of this field, qualified by the current member instance of the field, and 
307          * to access the property of the name on an object.</p>
308          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
309          * object refers to a string specifying the horizontal alignment of the element 
310          * with respect to the surrounding context. Possible values are:
311          * <ul>
312          * <li><tt>"left"</tt>: text lines are rendered flush left.</li>
313          * <li><tt>"center"</tt>: text lines are centered.</li>
314          * <li><tt>"right"</tt>: text lines are rendered flush right.</li>
315          * <li><tt>"justify"</tt>: text lines are justified to both margins.</li>
316          * </ul>
317          * The default value of this attribute depends on the base text direction. 
318          * For left to right text, the default is "left", while for right to left text, 
319          * it is "right".</p>
320          * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
321          * @since 1.0
322          * @javascript Re-compilers must resolve the member of this instance field to the
323          * identifier of the field name appending to the identifier resolved from its 
324          * qualifying member with a dot in between.
325          */
326         public final Value.String.Member align     = new Value.String.Member(this, Members.align    );
327         /**
328          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
329          * name of this field, qualified by the current member instance of the field, and 
330          * to access the property of the name on an object.</p>
331          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
332          * object refers to a string specifying a comma-separated list of category names. 
333          * This attribute may be used to place a cell into conceptual categories that 
334          * can be considered to form axes in an n-dimensional space. Browsers may give 
335          * users access to these categories, e.g., the user may query the browser for 
336          * all cells that belong to certain categories, the browser may present a table 
337          * in the form of a table of contents.</p> 
338          * @since 1.0
339          * @javascript Re-compilers must resolve the member of this instance field to the
340          * identifier of the field name appending to the identifier resolved from its 
341          * qualifying member with a dot in between.
342          */
343         public final Value.String.Member axis      = new Value.String.Member(this, Members.axis     );
344         /**
345          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
346          * name of this field, qualified by the current member instance of the field, and 
347          * to access the property of the name on an object.</p>
348          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
349          * object refers to a string specifying the background color for the table cell.</p>
350          * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
351          * @since 1.0
352          * @javascript Re-compilers must resolve the member of this instance field to the
353          * identifier of the field name appending to the identifier resolved from its 
354          * qualifying member with a dot in between.
355          */
356         public final Value.String.Member bgColor   = new Value.String.Member(this, Members.bgColor  );
357         /**
358          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
359          * name of this field, qualified by the current member instance of the field, and 
360          * to access the property of the name on an object.</p>
361          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
362          * object refers to a string specifying a single character within a text fragment 
363          * to act as an axis for alignment. The default value for this attribute is the 
364          * decimal point character for the current language as set by the {@link JsHTMLElement#lang} 
365          * attribute, e.g., the period (".") in English and the comma (",") in French. 
366          * Browsers are not required to support this attribute by HTML 4.01.</p>
367          * @since 1.0
368          * @javascript Re-compilers must resolve the member of this instance field to the
369          * identifier of the field name appending to the identifier resolved from its 
370          * qualifying member with a dot in between.
371          */
372         public final Value.String.Member ch        = new Value.String.Member(this, Members.ch       );
373         /**
374          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
375          * name of this field, qualified by the current member instance of the field, and 
376          * to access the property of the name on an object.</p>
377          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
378          * object refers to a string specifying, if specified, the offset to the first 
379          * occurrence of the alignment character on each line. If a line doesn't include 
380          * the alignment character, it should be horizontally shifted to end at the 
381          * alignment position.</p>
382          * @since 1.0
383          * @javascript Re-compilers must resolve the member of this instance field to the
384          * identifier of the field name appending to the identifier resolved from its 
385          * qualifying member with a dot in between.
386          */
387         public final Value.String.Member chOff     = new Value.String.Member(this, Members.chOff    );
388         /**
389          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
390          * name of this field, qualified by the current member instance of the field, and 
391          * to access the property of the name on an object.</p>
392          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
393          * object refers to an integer value specifying the number of columns spanned 
394          * by the current cell. The default value of this attribute is one ("1"). The 
395          * value zero ("0") means that the cell spans all columns from the current 
396          * column to the last column of the column group in which the cell is defined.</p> 
397          * @since 1.0
398          * @javascript Re-compilers must resolve the member of this instance field to the
399          * identifier of the field name appending to the identifier resolved from its 
400          * qualifying member with a dot in between.
401          */
402         public final Value.Number.Member colSpan   = new Value.Number.Member(this, Members.colSpan  );
403         /**
404          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
405          * name of this field, qualified by the current member instance of the field, and 
406          * to access the property of the name on an object.</p>
407          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
408          * object refers to a string specifying a space-separated list of cell names that 
409          * provide header information for the current data cell.</p>
410          * @since 1.0
411          * @javascript Re-compilers must resolve the member of this instance field to the
412          * identifier of the field name appending to the identifier resolved from its 
413          * qualifying member with a dot in between.
414          */
415         public final Value.String.Member headers   = new Value.String.Member(this, Members.headers  );
416         /**
417          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
418          * name of this field, qualified by the current member instance of the field, and 
419          * to access the property of the name on an object.</p>
420          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
421          * object refers to a string specifying the height the current data cell.</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 instance field to the
425          * identifier of the field name appending to the identifier resolved from its 
426          * qualifying member with a dot in between.
427          */
428         public final Value.String.Member height    = new Value.String.Member(this, Members.height   );
429         /**
430          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
431          * name of this field, qualified by the current member instance of the field, and 
432          * to access the property of the name on an object.</p>
433          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
434          * object refers to an integer value specifying the number of rows spanned by 
435          * the current cell. The default value of this attribute is one ("1"). The value 
436          * zero ("0") means that the cell spans all rows from the current row to the 
437          * last row of the table section in which the cell is defined.</p> 
438          * @since 1.0
439          * @javascript Re-compilers must resolve the member of this instance field to the
440          * identifier of the field name appending to the identifier resolved from its 
441          * qualifying member with a dot in between.
442          */
443         public final Value.Number.Member rowSpan   = new Value.Number.Member(this, Members.rowSpan  );
444         /**
445          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
446          * name of this field, qualified by the current member instance of the field, and 
447          * to access the property of the name on an object.</p>
448          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
449          * object refers to a string specifying a space-separated list of cell names that 
450          * the set of data cells for which the current header cell provides header information. 
451          * This attribute may be used in place of the {@link #headers} attribute, 
452          * particularly for simple tables. When specified, this attribute must have one 
453          * of the following values:
454          * <ul>
455          * <li><tt>"row"</tt>: The current cell provides header information for the rest of the row that contains it.</li>
456          * <li><tt>"col"</tt>: The current cell provides header information for the rest of the column that contains it.</li>
457          * <li><tt>"rowgroup"</tt>: The header cell provides header information for the rest of the row group that contains it.</li>
458          * <li><tt>"colgroup"</tt>: The header cell provides header information for the rest of the column group that contains it.</li>
459          * </ul>
460          * </p>
461          * @since 1.0
462          * @javascript Re-compilers must resolve the member of this instance field to the
463          * identifier of the field name appending to the identifier resolved from its 
464          * qualifying member with a dot in between.
465          */
466         public final Value.String.Member scope     = new Value.String.Member(this, Members.scope    );
467         /**
468          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
469          * name of this field, qualified by the current member instance of the field, and 
470          * to access the property of the name on an object.</p>
471          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
472          * object refers to a string specifying the vertical position of data within a 
473          * cell. Possible values are:
474          * <ul>
475          * <li><tt>"top"</tt>: Cell data is flush with the top of the cell.</li>
476          * <li><tt>"middle"</tt>: Cell data is centered vertically within the cell. This is the default value.</li>
477          * <li><tt>"bottom"</tt>: Cell data is flush with the bottom of the cell.</li>
478          * <li><tt>"baseline"</tt>: All cells in the same row as a cell whose {@link #vAlign} 
479          * attribute has this value should have their textual data positioned so that 
480          * the first text line occurs on a baseline common to all cells in the row. 
481          * This constraint does not apply to subsequent text lines in these cells.</li>
482          * </ul></p>
483          * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
484          * @since 1.0
485          * @javascript Re-compilers must resolve the member of this instance field to the
486          * identifier of the field name appending to the identifier resolved from its 
487          * qualifying member with a dot in between.
488          */
489         public final Value.String.Member vAlign    = new Value.String.Member(this, Members.vAlign   );
490         /**
491          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
492          * name of this field, qualified by the current member instance of the field, and 
493          * to access the property of the name on an object.</p>
494          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
495          * object refers to a string specifying the width the current data cell.</p>
496          * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
497          * @since 1.0
498          * @javascript Re-compilers must resolve the member of this instance field to the
499          * identifier of the field name appending to the identifier resolved from its 
500          * qualifying member with a dot in between.
501          */
502         public final Value.String.Member width     = new Value.String.Member(this, Members.width    );
503         /**
504          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
505          * name of this field, qualified by the current member instance of the field, and 
506          * to access the property of the name on an object.</p>
507          * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
508          * object refers to a boolean value specifying whether to disable automatic 
509          * text wrapping for this cell. Style sheets should be used instead of this 
510          * attribute to achieve wrapping effects. Note that, if used carelessly, this 
511          * attribute may result in excessively wide cells.</p>
512          * @since 1.0
513          * @javascript Re-compilers must resolve the member of this instance field to the
514          * identifier of the field name appending to the identifier resolved from its 
515          * qualifying member with a dot in between.
516          */
517         public final Value.Boolean.Member noWrap = new Value.Boolean.Member(this, Members.noWrap);
518     }
519 
520     /**
521      * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
522      * with the wrapping constructor.</p>
523      * @param var The argument of an <b>opaque</b> object.
524      * @since 1.0
525      * @javascript Re-compilers must ignore the construction operation of this constructor,
526      * that is, replacing it with its only argument.
527      */
528     public JsHTMLTableCellElement(JsObject var) {
529         super(var);
530     }
531 
532     /**
533      * <p>An <b>opaque</b> static field defining a member that is named by the field name
534      * without a qualifying member and to access the property of the name on an object.</p>
535      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
536      * object refers to a read-only integer value specifying the index of this cell 
537      * in the row, starting from 0. This index is in document tree order and not 
538      * display order.</p> 
539      * @since 1.0
540      * @javascript Re-compilers must resolve the member of this static field to the
541      * identifier of the field name.
542      */
543     public static final Value.Number.Member cellIndex = new Value.Number.Member(Members.cellIndex);
544     /**
545      * <p>An <b>opaque</b> static field defining a member that is named by the field name
546      * without a qualifying member and to access the property of the name on an object.</p>
547      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
548      * object refers to a string specifying an abbreviated form of the cell's content, 
549      * and may be rendered by browsers when appropriate in place of the cell's 
550      * content. Abbreviated names should be short since browsers may render them 
551      * repeatedly.</p> 
552      * @since 1.0
553      * @javascript Re-compilers must resolve the member of this static field to the
554      * identifier of the field name.
555      */
556     public static final Value.String.Member abbr      = new Value.String.Member(Members.abbr     );
557     /**
558      * <p>An <b>opaque</b> static field defining a member that is named by the field name
559      * without a qualifying member and to access the property of the name on an object.</p>
560      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
561      * object refers to a string specifying the horizontal alignment of the element 
562      * with respect to the surrounding context. Possible values are:
563      * <ul>
564      * <li><tt>"left"</tt>: text lines are rendered flush left.</li>
565      * <li><tt>"center"</tt>: text lines are centered.</li>
566      * <li><tt>"right"</tt>: text lines are rendered flush right.</li>
567      * <li><tt>"justify"</tt>: text lines are justified to both margins.</li>
568      * </ul>
569      * The default value of this attribute depends on the base text direction. 
570      * For left to right text, the default is "left", while for right to left text, 
571      * it is "right".</p>
572      * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
573      * @since 1.0
574      * @javascript Re-compilers must resolve the member of this static field to the
575      * identifier of the field name.
576      */
577     public static final Value.String.Member align     = new Value.String.Member(Members.align    );
578     /**
579      * <p>An <b>opaque</b> static field defining a member that is named by the field name
580      * without a qualifying member and to access the property of the name on an object.</p>
581      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
582      * object refers to a string specifying a comma-separated list of category names. 
583      * This attribute may be used to place a cell into conceptual categories that 
584      * can be considered to form axes in an n-dimensional space. Browsers may give 
585      * users access to these categories, e.g., the user may query the browser for 
586      * all cells that belong to certain categories, the browser may present a table 
587      * in the form of a table of contents.</p> 
588      * @since 1.0
589      * @javascript Re-compilers must resolve the member of this static field to the
590      * identifier of the field name.
591      */
592     public static final Value.String.Member axis      = new Value.String.Member(Members.axis     );
593     /**
594      * <p>An <b>opaque</b> static field defining a member that is named by the field name
595      * without a qualifying member and to access the property of the name on an object.</p>
596      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
597      * object refers to a string specifying the background color for the table cell.</p>
598      * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
599      * @since 1.0
600      * @javascript Re-compilers must resolve the member of this static field to the
601      * identifier of the field name.
602      */
603     public static final Value.String.Member bgColor   = new Value.String.Member(Members.bgColor  );
604     /**
605      * <p>An <b>opaque</b> static field defining a member that is named by the field name
606      * without a qualifying member and to access the property of the name on an object.</p>
607      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
608      * object refers to a string specifying a single character within a text fragment 
609      * to act as an axis for alignment. The default value for this attribute is the 
610      * decimal point character for the current language as set by the {@link JsHTMLElement#lang} 
611      * attribute, e.g., the period (".") in English and the comma (",") in French. 
612      * Browsers are not required to support this attribute by HTML 4.01.</p>
613      * @since 1.0
614      * @javascript Re-compilers must resolve the member of this static field to the
615      * identifier of the field name.
616      */
617     public static final Value.String.Member ch        = new Value.String.Member(Members.ch       );
618     /**
619      * <p>An <b>opaque</b> static field defining a member that is named by the field name
620      * without a qualifying member and to access the property of the name on an object.</p>
621      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
622      * object refers to a string specifying, if specified, the offset to the first 
623      * occurrence of the alignment character on each line. If a line doesn't include 
624      * the alignment character, it should be horizontally shifted to end at the 
625      * alignment position.</p>
626      * @since 1.0
627      * @javascript Re-compilers must resolve the member of this static field to the
628      * identifier of the field name.
629      */
630     public static final Value.String.Member chOff     = new Value.String.Member(Members.chOff    );
631     /**
632      * <p>An <b>opaque</b> static field defining a member that is named by the field name
633      * without a qualifying member and to access the property of the name on an object.</p>
634      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
635      * object refers to an integer value specifying the number of columns spanned 
636      * by the current cell. The default value of this attribute is one ("1"). The 
637      * value zero ("0") means that the cell spans all columns from the current 
638      * column to the last column of the column group in which the cell is defined.</p> 
639      * @since 1.0
640      * @javascript Re-compilers must resolve the member of this static field to the
641      * identifier of the field name.
642      */
643     public static final Value.Number.Member colSpan   = new Value.Number.Member(Members.colSpan  );
644     /**
645      * <p>An <b>opaque</b> static field defining a member that is named by the field name
646      * without a qualifying member and to access the property of the name on an object.</p>
647      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
648      * object refers to a string specifying a space-separated list of cell names that 
649      * provide header information for the current data cell.</p>
650      * @since 1.0
651      * @javascript Re-compilers must resolve the member of this static field to the
652      * identifier of the field name.
653      */
654     public static final Value.String.Member headers   = new Value.String.Member(Members.headers  );
655     /**
656      * <p>An <b>opaque</b> static field defining a member that is named by the field name
657      * without a qualifying member and to access the property of the name on an object.</p>
658      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
659      * object refers to a string specifying the height the current data cell.</p>
660      * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
661      * @since 1.0
662      * @javascript Re-compilers must resolve the member of this static field to the
663      * identifier of the field name.
664      */
665     public static final Value.String.Member height    = new Value.String.Member(Members.height   );
666     /**
667      * <p>An <b>opaque</b> static field defining a member that is named by the field name
668      * without a qualifying member and to access the property of the name on an object.</p>
669      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
670      * object refers to an integer value specifying the number of rows spanned by 
671      * the current cell. The default value of this attribute is one ("1"). The value 
672      * zero ("0") means that the cell spans all rows from the current row to the 
673      * last row of the table section in which the cell is defined.</p> 
674      * @since 1.0
675      * @javascript Re-compilers must resolve the member of this static field to the
676      * identifier of the field name.
677      */
678     public static final Value.Number.Member rowSpan   = new Value.Number.Member(Members.rowSpan  );
679     /**
680      * <p>An <b>opaque</b> static field defining a member that is named by the field name
681      * without a qualifying member and to access the property of the name on an object.</p>
682      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
683      * object refers to a string specifying a space-separated list of cell names that 
684      * the set of data cells for which the current header cell provides header information. 
685      * This attribute may be used in place of the {@link #headers} attribute, 
686      * particularly for simple tables. When specified, this attribute must have one 
687      * of the following values:
688      * <ul>
689      * <li><tt>"row"</tt>: The current cell provides header information for the rest of the row that contains it.</li>
690      * <li><tt>"col"</tt>: The current cell provides header information for the rest of the column that contains it.</li>
691      * <li><tt>"rowgroup"</tt>: The header cell provides header information for the rest of the row group that contains it.</li>
692      * <li><tt>"colgroup"</tt>: The header cell provides header information for the rest of the column group that contains it.</li>
693      * </ul>
694      * </p>
695      * @since 1.0
696      * @javascript Re-compilers must resolve the member of this static field to the
697      * identifier of the field name.
698      */
699     public static final Value.String.Member scope     = new Value.String.Member(Members.scope    );
700     /**
701      * <p>An <b>opaque</b> static field defining a member that is named by the field name
702      * without a qualifying member and to access the property of the name on an object.</p>
703      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
704      * object refers to a string specifying the vertical position of data within a 
705      * cell. Possible values are:
706      * <ul>
707      * <li><tt>"top"</tt>: Cell data is flush with the top of the cell.</li>
708      * <li><tt>"middle"</tt>: Cell data is centered vertically within the cell. This is the default value.</li>
709      * <li><tt>"bottom"</tt>: Cell data is flush with the bottom of the cell.</li>
710      * <li><tt>"baseline"</tt>: All cells in the same row as a cell whose {@link #vAlign} 
711      * attribute has this value should have their textual data positioned so that 
712      * the first text line occurs on a baseline common to all cells in the row. 
713      * This constraint does not apply to subsequent text lines in these cells.</li>
714      * </ul></p>
715      * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
716      * @since 1.0
717      * @javascript Re-compilers must resolve the member of this static field to the
718      * identifier of the field name.
719      */
720     public static final Value.String.Member vAlign    = new Value.String.Member(Members.vAlign   );
721     /**
722      * <p>An <b>opaque</b> static field defining a member that is named by the field name
723      * without a qualifying member and to access the property of the name on an object.</p>
724      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
725      * object refers to a string specifying the width the current data cell.</p>
726      * <p>This attribute is deprecated by HTML 4.01 and should be handled by style sheets.</p> 
727      * @since 1.0
728      * @javascript Re-compilers must resolve the member of this static field to the
729      * identifier of the field name.
730      */
731     public static final Value.String.Member width     = new Value.String.Member(Members.width    );
732     /**
733      * <p>An <b>opaque</b> static field defining a member that is named by the field name
734      * without a qualifying member and to access the property of the name on an object.</p>
735      * <p>The property, identified by this member, of a {@link JsHTMLTableCellElement} 
736      * object refers to a boolean value specifying whether to disable automatic 
737      * text wrapping for this cell. Style sheets should be used instead of this 
738      * attribute to achieve wrapping effects. Note that, if used carelessly, this 
739      * attribute may result in excessively wide cells.</p>
740      * @since 1.0
741      * @javascript Re-compilers must resolve the member of this static field to the
742      * identifier of the field name.
743      */
744     public static final Value.Boolean.Member noWrap = new Value.Boolean.Member(Members.noWrap);
745 
746     @Override
747     /**
748      * <p>Returns the primitive value associated with the current instance, if there is one.
749      * This invocation simply returns the instance itself for the current instance is an 
750      * object and there is no primitive value for it.</p>
751      * @return The current object itself.
752      * @since 1.0
753      * @javascript Re-compilers must convert the instance invocation of this method directly
754      * into a JavaScript invocation on its current object instance without changing the 
755      * method name, but expanding variable arguments, if any, into comma-separated values. 
756      */
757     public JsHTMLTableCellElement valueOf() {
758         return new JsHTMLTableCellElement((JsObject)var().valueOf());
759     }
760 }