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#HTMLAppletElement} class.</p>
028  * <p>This class represents an embedded Java applet 
029  * in an HTML page, or a {@link JsHTMLElement} object created with the HTML 
030  * <tt>&lt;applet&gt;</tt> tag that is deprecated in HTML 4.01.</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  * @see JsHTMLObjectElement
034  *
035  * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be
036  * generated into the target codes. Re-compilers must exit with error on the operations of
037  * accessing that kind of class objects.
038  * The <tt>checkcast</tt> operation to the class literal of this interface must be ignored
039  * and <tt>instanceof</tt> to it always <tt>true</tt>.
040  */
041 public class JsHTMLAppletElement extends JsClient.HTMLAppletElement.Prototype
042 {
043     /**
044      * <p>An <b>internal</b> class containing membership data for its enclosing
045      * opaque class.</p>
046      * <p>This class is only used inside of <b>opaque</b> or <b>internal</b> classes or
047      * class members.</p>
048      *
049      * @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>
050      * 
051      * @javascript Re-compilers must report error on resolving an <b>internal</b> class.
052      */
053     protected static abstract class Members extends JsClient.HTMLAppletElement.Prototype.Members
054     {
055         /**
056          * <p>An <b>internal</b> static field defining a member ID of the field name and
057          * used internally to define a member of the same name.</p>
058          * @since 1.0
059          * @see JsHTMLAppletElement#align
060          * @see JsHTMLAppletElement.Member#align
061          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
062          */
063         public final static Mid align    = id("align"   );
064         /**
065          * <p>An <b>internal</b> static field defining a member ID of the field name and
066          * used internally to define a member of the same name.</p>
067          * @since 1.0
068          * @see JsHTMLAppletElement#alt
069          * @see JsHTMLAppletElement.Member#alt
070          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
071          */
072         public final static Mid alt      = id("alt"     );
073         /**
074          * <p>An <b>internal</b> static field defining a member ID of the field name and
075          * used internally to define a member of the same name.</p>
076          * @since 1.0
077          * @see JsHTMLAppletElement#archive
078          * @see JsHTMLAppletElement.Member#archive
079          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
080          */
081         public final static Mid archive  = id("archive" );
082         /**
083          * <p>An <b>internal</b> static field defining a member ID of the field name and
084          * used internally to define a member of the same name.</p>
085          * @since 1.0
086          * @see JsHTMLAppletElement#code
087          * @see JsHTMLAppletElement.Member#code
088          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
089          */
090         public final static Mid code     = id("code"    );
091         /**
092          * <p>An <b>internal</b> static field defining a member ID of the field name and
093          * used internally to define a member of the same name.</p>
094          * @since 1.0
095          * @see JsHTMLAppletElement#codeBase
096          * @see JsHTMLAppletElement.Member#codeBase
097          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
098          */
099         public final static Mid codeBase = id("codeBase");
100         /**
101          * <p>An <b>internal</b> static field defining a member ID of the field name and
102          * used internally to define a member of the same name.</p>
103          * @since 1.0
104          * @see JsHTMLAppletElement#height
105          * @see JsHTMLAppletElement.Member#height
106          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
107          */
108         public final static Mid height   = id("height"  );
109         /**
110          * <p>An <b>internal</b> static field defining a member ID of the field name and
111          * used internally to define a member of the same name.</p>
112          * @since 1.0
113          * @see JsHTMLAppletElement#hspace
114          * @see JsHTMLAppletElement.Member#hspace
115          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
116          */
117         public final static Mid hspace   = id("hspace"  );
118         /**
119          * <p>An <b>internal</b> static field defining a member ID of the field name and
120          * used internally to define a member of the same name.</p>
121          * @since 1.0
122          * @see JsHTMLAppletElement#name
123          * @see JsHTMLAppletElement.Member#name
124          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
125          */
126         public final static Mid name     = id("name"    );
127         /**
128          * <p>An <b>internal</b> static field defining a member ID of the field name and
129          * used internally to define a member of the same name.</p>
130          * @since 1.0
131          * @see JsHTMLAppletElement#object
132          * @see JsHTMLAppletElement.Member#object
133          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
134          */
135         public final static Mid object   = id("object"  );
136         /**
137          * <p>An <b>internal</b> static field defining a member ID of the field name and
138          * used internally to define a member of the same name.</p>
139          * @since 1.0
140          * @see JsHTMLAppletElement#vspace
141          * @see JsHTMLAppletElement.Member#vspace
142          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
143          */
144         public final static Mid vspace   = id("vspace"  );
145         /**
146          * <p>An <b>internal</b> static field defining a member ID of the field name and
147          * used internally to define a member of the same name.</p>
148          * @since 1.0
149          * @see JsHTMLAppletElement#width
150          * @see JsHTMLAppletElement.Member#width
151          * @javascript Re-compilers must report error on accessing an <b>internal</b> field.
152          */
153         public final static Mid width    = id("width"   );
154     }
155     /**
156      * <p>An <b>opaque</b> class representing members of its enclosing <b>opaque</b> type.</p>
157      * <p>Note that, this class is <b>opaque</b> but its constructors are all <b>internal</b>. 
158      * This class and the subclasses of this class are used to declare either <b>opaque</b> 
159      * <tt>public</tt> instance fields of the opaque type {@link js.Var.Member} or the 
160      * <b>opaque</b> <tt>public</tt> static fields of other <b>opaque</b> types while their 
161      * constructors are used to define the fields inside <b>opaque</b> classes. Under 
162      * either circumstance, the field names must be exactly same as the member names, as 
163      * the <b>opaque</b> fields of <b>opaque</b> types are resolved by re-compilers directly 
164      * based on the field names.</p>
165      *
166      * @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>
167      * 
168      * @javascript <b>Opaque</b> types can be resolved but no class objects for them can be created
169      * in the target codes. Re-compilers must exit with error on operations accessing that kind 
170      * of class objects.
171      * Re-compilers must resolve an <b>opaque</b> instance field declared by this class in
172      * {@link js.Var.Member} or its subclasses to the JavaScript identifier: 
173      * <pre>q.m</pre>
174      * where <tt>m</tt> is the identifier of the field name and <tt>q</tt> is the identifier
175      * resolved from the instance of the enclosing member. Re-compilers must resolve an 
176      * <b>opaque</b> static field declared by this class in <b>opaque</b> types other than 
177      * {@link js.Var.Member} and its subclasses to the JavaScript identifier: 
178      * <pre>m</pre>
179      * where <tt>m</tt> is the identifier of the field name. And re-compilers must report
180      * error on the access to <b>opaque</b> fields declared by this class under any other 
181      * circumstances.
182      */
183     public static class Member extends JsClient.HTMLAppletElement.Prototype.Member
184     {
185         /**
186          * <p>Internally constructs a member based on a qualifying member.</p>
187          * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
188          * or <b>internal</b> classes or class members.</p>
189          * <p>Note that, this constructor is <b>internal</b> but its declaring class is
190          * <b>opaque</b>. This constructor is used to define <b>opaque</b> instance fields 
191          * declared in the declaring class of this constructor itself or its subclasses. 
192          * Under this circumstance, the field names must be exactly same as the member 
193          * names, as the <b>opaque</b> instance fields of the <b>opaque</b> type 
194          * {@link js.Var.Member} or its subclasses are resolved by re-compilers directly
195          * to their names appending to the name resolved from the specified qualifying 
196          * member with a dot in between.</p>
197          * @param q A qualifying member
198          * @param mid The ID of the member to construct
199          * @since 1.0
200          * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
201          */
202         public Member(JsObject.Member q, Mid mid) {
203             super(q, mid);
204         }
205         /**
206          * <p>Internally constructs a member without a qualifying member.</p>
207          * <p>This constructor is <b>internal</b> and only called inside of <b>opaque</b>
208          * or <b>internal</b> classes or class members.</p>
209          * <p>Note that, this constructor is <b>internal</b> but its declaring class is
210          * <b>opaque</b>. This constructor is used to define <b>opaque</b> static fields, 
211          * declared in <b>opaque</b> types other than the declaring class of this constructor 
212          * itself and its subclasses. Under this circumstance, the field names must be
213          * exactly same as the member names, as the <b>opaque</b> static fields of <b>opaque</b>
214          * types are generally resolved by re-compilers directly to identifiers of their names.</p>
215          * @param mid The ID of the member to construct
216          * @since 1.0
217          * @javascript Re-compilers must report error on the invocation to an <b>internal</b> constructor.
218          */
219         public Member(Mid mid) {
220             super(mid);
221         }
222         @Override
223         /**
224          * <p>Evaluates the property, represented by the current member instance, of the
225          * argument object.</p>
226          * @param o The argument object
227          * @return The value of the current member based on the object argument.
228          * @since 1.0
229          * @javascript Re-compilers must convert the instance invocation of this method into
230          * the JavaScript expression: 
231          * <pre>o.m</pre>
232          * where <tt>m</tt> is the identifier name resolved from the current member
233          * instance of the invocation.
234          */
235         public JsHTMLAppletElement with(ObjectLike o) {
236             return new JsHTMLAppletElement(super.with(o));
237         }
238 
239         /**
240          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
241          * name of this field, qualified by the current member instance of the field, and 
242          * to access the property of the name on an object.</p>
243          * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
244          * object refers to a string specifying the horizontal alignment of the element 
245          * with respect to the surrounding context. Possible values are:
246          * <ul>
247          * <li><tt>"left"</tt>: text lines are rendered flush left.</li>
248          * <li><tt>"center"</tt>: text lines are centered.</li>
249          * <li><tt>"right"</tt>: text lines are rendered flush right.</li>
250          * <li><tt>"justify"</tt>: text lines are justified to both margins.</li>
251          * </ul>
252          * The default value of this attribute depends on the base text direction. 
253          * For left to right text, the default is "left", while for right to left text, 
254          * it is "right".</p>
255          * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
256          * @since 1.0
257          * @javascript Re-compilers must resolve the member of this instance field to the
258          * identifier of the field name appending to the identifier resolved from its 
259          * qualifying member with a dot in between.
260          */
261         public final Value.String.Member align    = new Value.String.Member(this, Members.align   );
262         /**
263          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
264          * name of this field, qualified by the current member instance of the field, and 
265          * to access the property of the name on an object.</p>
266          * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
267          * object refers to a string specifying an alternate text for web browsers not 
268          * rendering the normal content of this element.</p>
269          * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
270          * @since 1.0
271          * @javascript Re-compilers must resolve the member of this instance field to the
272          * identifier of the field name appending to the identifier resolved from its 
273          * qualifying member with a dot in between.
274          */
275         public final Value.String.Member alt      = new Value.String.Member(this, Members.alt     );
276         /**
277          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
278          * name of this field, qualified by the current member instance of the field, and 
279          * to access the property of the name on an object.</p>
280          * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
281          * object refers to a string specifying a comma-separated list of URIs for archives 
282          * containing java classes and other resources that will be preloaded by the web 
283          * browser.</p>
284          * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</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 archive  = new Value.String.Member(this, Members.archive );
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 JsHTMLAppletElement} 
296          * object refers to a string specifying either the name of the applet class or 
297          * the path to get the class. It is interpreted with respect to the applet's 
298          * <tt>codebase</tt> attribute or the {@link #codeBase} property of this object. 
299          * One of {@link #code} or {@link #object} must be present.</p>
300          * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</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 code     = new Value.String.Member(this, Members.code    );
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 JsHTMLAppletElement} 
312          * object refers to a string optionally specifying the base URI for the applet. 
313          * If this attribute is not specified, then it defaults the same base URI as 
314          * for the current document. Values for this attribute may only refer to 
315          * subdirectories of the directory containing the current document.</p>
316          * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
317          * @since 1.0
318          * @javascript Re-compilers must resolve the member of this instance field to the
319          * identifier of the field name appending to the identifier resolved from its 
320          * qualifying member with a dot in between.
321          */
322         public final Value.String.Member codeBase = new Value.String.Member(this, Members.codeBase);
323         /**
324          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
325          * name of this field, qualified by the current member instance of the field, and 
326          * to access the property of the name on an object.</p>
327          * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
328          * object refers to a string specifying the initial height of the applet's display 
329          * area excluding any windows or dialogs that the applet creates.</p>
330          * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
331          * @since 1.0
332          * @javascript Re-compilers must resolve the member of this instance field to the
333          * identifier of the field name appending to the identifier resolved from its 
334          * qualifying member with a dot in between.
335          */
336         public final Value.String.Member height   = new Value.String.Member(this, Members.height  );
337         /**
338          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
339          * name of this field, qualified by the current member instance of the field, and 
340          * to access the property of the name on an object.</p>
341          * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
342          * object refers to a number specifying the amount of white space to be inserted 
343          * to the left and right of this object. The default value is not specified, but 
344          * is generally a small, non-zero length.</p>
345          * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
346          * @since 1.0
347          * @javascript Re-compilers must resolve the member of this instance field to the
348          * identifier of the field name appending to the identifier resolved from its 
349          * qualifying member with a dot in between.
350          */
351         public final Value.String.Member hspace   = new Value.String.Member(this, Members.hspace  );
352         /**
353          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
354          * name of this field, qualified by the current member instance of the field, and 
355          * to access the property of the name on an object.</p>
356          * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
357          * object refers to a string specifying a name for the applet instance, which 
358          * makes it possible for applets on the same page to find and/or communicate 
359          * with each other.</p>
360          * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
361          * @since 1.0
362          * @javascript Re-compilers must resolve the member of this instance field to the
363          * identifier of the field name appending to the identifier resolved from its 
364          * qualifying member with a dot in between.
365          */
366         public final Value.String.Member name     = new Value.String.Member(this, Members.name    );
367         /**
368          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
369          * name of this field, qualified by the current member instance of the field, and 
370          * to access the property of the name on an object.</p>
371          * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
372          * object refers to a string specifying a resource containing a serialized representation 
373          * of an applet's state. It is interpreted relative to the applet's <tt>codebase</tt> 
374          * attribute or the {@link #codeBase} property of this object. The serialized 
375          * data contains the applet's class name but not the implementation. The class 
376          * name is used to retrieve the implementation from a class file or archive.</p>
377          * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
378          * @since 1.0
379          * @javascript Re-compilers must resolve the member of this instance field to the
380          * identifier of the field name appending to the identifier resolved from its 
381          * qualifying member with a dot in between.
382          */
383         public final Value.String.Member object   = new Value.String.Member(this, Members.object  );
384         /**
385          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
386          * name of this field, qualified by the current member instance of the field, and 
387          * to access the property of the name on an object.</p>
388          * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
389          * object refers to a number specifying the amount of white space to be inserted 
390          * above and below this object. The default value is not specified, but is 
391          * generally a small, non-zero length.</p>
392          * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
393          * @since 1.0
394          * @javascript Re-compilers must resolve the member of this instance field to the
395          * identifier of the field name appending to the identifier resolved from its 
396          * qualifying member with a dot in between.
397          */
398         public final Value.String.Member vspace   = new Value.String.Member(this, Members.vspace  );
399         /**
400          * <p>An <b>opaque</b> instance field defining a sub-member that is named by the
401          * name of this field, qualified by the current member instance of the field, and 
402          * to access the property of the name on an object.</p>
403          * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
404          * object refers to a string specifying the initial width of the applet's display 
405          * area excluding any windows or dialogs that the applet creates.</p>
406          * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
407          * @since 1.0
408          * @javascript Re-compilers must resolve the member of this instance field to the
409          * identifier of the field name appending to the identifier resolved from its 
410          * qualifying member with a dot in between.
411          */
412         public final Value.String.Member width    = new Value.String.Member(this, Members.width   );
413     }
414 
415     /**
416      * <p>Casts an <b>opaque</b> object to the current <b>opaque</b> type by wrapping it
417      * with the wrapping constructor.</p>
418      * @param var The argument of an <b>opaque</b> object.
419      * @since 1.0
420      * @javascript Re-compilers must ignore the construction operation of this constructor,
421      * that is, replacing it with its only argument.
422      */
423     public JsHTMLAppletElement(JsObject var) {
424         super(var);
425     }
426 
427     /**
428      * <p>An <b>opaque</b> static field defining a member that is named by the field name
429      * without a qualifying member and to access the property of the name on an object.</p>
430      * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
431      * object refers to a string specifying the horizontal alignment of the element 
432      * with respect to the surrounding context. Possible values are:
433      * <ul>
434      * <li><tt>"left"</tt>: text lines are rendered flush left.</li>
435      * <li><tt>"center"</tt>: text lines are centered.</li>
436      * <li><tt>"right"</tt>: text lines are rendered flush right.</li>
437      * <li><tt>"justify"</tt>: text lines are justified to both margins.</li>
438      * </ul>
439      * The default value of this attribute depends on the base text direction. 
440      * For left to right text, the default is "left", while for right to left text, 
441      * it is "right".</p>
442      * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
443      * @since 1.0
444      * @javascript Re-compilers must resolve the member of this static field to the
445      * identifier of the field name.
446      */
447     public static final Value.String.Member align    = new Value.String.Member(Members.align   );
448     /**
449      * <p>An <b>opaque</b> static field defining a member that is named by the field name
450      * without a qualifying member and to access the property of the name on an object.</p>
451      * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
452      * object refers to a string specifying an alternate text for web browsers not 
453      * rendering the normal content of this element.</p>
454      * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
455      * @since 1.0
456      * @javascript Re-compilers must resolve the member of this static field to the
457      * identifier of the field name.
458      */
459     public static final Value.String.Member alt      = new Value.String.Member(Members.alt     );
460     /**
461      * <p>An <b>opaque</b> static field defining a member that is named by the field name
462      * without a qualifying member and to access the property of the name on an object.</p>
463      * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
464      * object refers to a string specifying a comma-separated list of URIs for archives 
465      * containing java classes and other resources that will be preloaded by the web 
466      * browser.</p>
467      * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
468      * @since 1.0
469      * @javascript Re-compilers must resolve the member of this static field to the
470      * identifier of the field name.
471      */
472     public static final Value.String.Member archive  = new Value.String.Member(Members.archive );
473     /**
474      * <p>An <b>opaque</b> static field defining a member that is named by the field name
475      * without a qualifying member and to access the property of the name on an object.</p>
476      * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
477      * object refers to a string specifying either the name of the applet class or 
478      * the path to get the class. It is interpreted with respect to the applet's 
479      * <tt>codebase</tt> attribute or the {@link #codeBase} property of this object. 
480      * One of {@link #code} or {@link #object} must be present.</p>
481      * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
482      * @since 1.0
483      * @javascript Re-compilers must resolve the member of this static field to the
484      * identifier of the field name.
485      */
486     public static final Value.String.Member code     = new Value.String.Member(Members.code    );
487     /**
488      * <p>An <b>opaque</b> static field defining a member that is named by the field name
489      * without a qualifying member and to access the property of the name on an object.</p>
490      * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
491      * object refers to a string optionally specifying the base URI for the applet. 
492      * If this attribute is not specified, then it defaults the same base URI as 
493      * for the current document. Values for this attribute may only refer to 
494      * subdirectories of the directory containing the current document.</p>
495      * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
496      * @since 1.0
497      * @javascript Re-compilers must resolve the member of this static field to the
498      * identifier of the field name.
499      */
500     public static final Value.String.Member codeBase = new Value.String.Member(Members.codeBase);
501     /**
502      * <p>An <b>opaque</b> static field defining a member that is named by the field name
503      * without a qualifying member and to access the property of the name on an object.</p>
504      * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
505      * object refers to a string specigying the initial height of the applet's display 
506      * area excluding any windows or dialogs that the applet creates.</p>
507      * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
508      * @since 1.0
509      * @javascript Re-compilers must resolve the member of this static field to the
510      * identifier of the field name.
511      */
512     public static final Value.String.Member height   = new Value.String.Member(Members.height  );
513     /**
514      * <p>An <b>opaque</b> static field defining a member that is named by the field name
515      * without a qualifying member and to access the property of the name on an object.</p>
516      * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
517      * object refers to a number specifying the amount of white space to be inserted 
518      * to the left and right of this object. The default value is not specified, but 
519      * is generally a small, non-zero length.</p>
520      * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
521      * @since 1.0
522      * @javascript Re-compilers must resolve the member of this static field to the
523      * identifier of the field name.
524      */
525     public static final Value.String.Member hspace   = new Value.String.Member(Members.hspace  );
526     /**
527      * <p>An <b>opaque</b> static field defining a member that is named by the field name
528      * without a qualifying member and to access the property of the name on an object.</p>
529      * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
530      * object refers to a string specifying a name for the applet instance, which 
531      * makes it possible for applets on the same page to find and/or communicate 
532      * with each other.</p>
533      * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
534      * @since 1.0
535      * @javascript Re-compilers must resolve the member of this static field to the
536      * identifier of the field name.
537      */
538     public static final Value.String.Member name     = new Value.String.Member(Members.name    );
539     /**
540      * <p>An <b>opaque</b> static field defining a member that is named by the field name
541      * without a qualifying member and to access the property of the name on an object.</p>
542      * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
543      * object refers to a string specifying a resource containing a serialized representation 
544      * of an applet's state. It is interpreted relative to the applet's <tt>codebase</tt> 
545      * attribute or the {@link #codeBase} property of this object. The serialized 
546      * data contains the applet's class name but not the implementation. The class 
547      * name is used to retrieve the implementation from a class file or archive.</p>
548      * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
549      * @since 1.0
550      * @javascript Re-compilers must resolve the member of this static field to the
551      * identifier of the field name.
552      */
553     public static final Value.String.Member object   = new Value.String.Member(Members.object  );
554     /**
555      * <p>An <b>opaque</b> static field defining a member that is named by the field name
556      * without a qualifying member and to access the property of the name on an object.</p>
557      * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
558      * object refers to a number specifying the amount of white space to be inserted 
559      * above and below this object. The default value is not specified, but is 
560      * generally a small, non-zero length.</p>
561      * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
562      * @since 1.0
563      * @javascript Re-compilers must resolve the member of this static field to the
564      * identifier of the field name.
565      */
566     public static final Value.String.Member vspace   = new Value.String.Member(Members.vspace  );
567     /**
568      * <p>An <b>opaque</b> static field defining a member that is named by the field name
569      * without a qualifying member and to access the property of the name on an object.</p>
570      * <p>The property, identified by this member, of a {@link JsHTMLAppletElement} 
571      * object refers to a string specifying the initial width of the applet's display 
572      * area excluding any windows or dialogs that the applet creates.</p>
573      * <p>This attribute is deprecated by HTML 4.01 along with the <tt>&lt;applet&gt;</tt> tag.</p> 
574      * @since 1.0
575      * @javascript Re-compilers must resolve the member of this static field to the
576      * identifier of the field name.
577      */
578     public static final Value.String.Member width    = new Value.String.Member(Members.width   );
579 
580     @Override
581     /**
582      * <p>Returns the primitive value associated with the current instance, if there is one.
583      * This invocation simply returns the instance itself for the current instance is an 
584      * object and there is no primitive value for it.</p>
585      * @return The current object itself.
586      * @since 1.0
587      * @javascript Re-compilers must convert the instance invocation of this method directly
588      * into a JavaScript invocation on its current object instance without changing the 
589      * method name, but expanding variable arguments, if any, into comma-separated values. 
590      */
591     public JsHTMLAppletElement valueOf() {
592         return new JsHTMLAppletElement((JsObject)var().valueOf());
593     }
594 }