001package com.hfg.html;
002
003import com.hfg.html.attribute.EncType;
004import com.hfg.xml.XMLNode;
005
006//------------------------------------------------------------------------------
007/**
008 * Represents a form (<form>) tag.
009 *
010 * @author J. Alex Taylor, hairyfatguy.com
011 */
012//------------------------------------------------------------------------------
013// com.hfg XML/HTML Coding Library
014//
015// This library is free software; you can redistribute it and/or
016// modify it under the terms of the GNU Lesser General Public
017// License as published by the Free Software Foundation; either
018// version 2.1 of the License, or (at your option) any later version.
019//
020// This library is distributed in the hope that it will be useful,
021// but WITHOUT ANY WARRANTY; without even the implied warranty of
022// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
023// Lesser General Public License for more details.
024//
025// You should have received a copy of the GNU Lesser General Public
026// License along with this library; if not, write to the Free Software
027// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
028//
029// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
030// jataylor@hairyfatguy.com
031//------------------------------------------------------------------------------
032
033public class Form extends HTMLTag
034{
035
036   //###########################################################################
037   // PRIVATE FIELDS
038   //###########################################################################
039
040
041   //###########################################################################
042   // CONSTRUCTORS
043   //###########################################################################
044
045   //--------------------------------------------------------------------------
046   public Form()
047   {
048      super(HTML.FORM);
049      setAction("");
050   }
051
052   //--------------------------------------------------------------------------
053   public Form(String inFormName)
054   {
055      this();
056      setName(inFormName);
057   }
058
059   //--------------------------------------------------------------------------
060   public Form(XMLNode inXMLNode)
061   {
062      this();
063      initFromXMLNode(inXMLNode);
064   }
065
066   //###########################################################################
067   // PUBLIC METHODS
068   //###########################################################################
069
070
071   //--------------------------------------------------------------------------
072   public InputButton addButton()
073   {
074      InputButton button = new InputButton();
075      addSubtag(button);
076
077      return button;
078   }
079
080   //--------------------------------------------------------------------------
081   public InputButton addButton(String inName, String inValue)
082   {
083      InputButton button = new InputButton(inName, inValue);
084      addSubtag(button);
085
086      return button;
087   }
088
089   //--------------------------------------------------------------------------
090   public InputCheckbox addCheckbox(String inName, String inValue)
091   {
092      InputCheckbox checkbox = new InputCheckbox(inName, inValue);
093      addSubtag(checkbox);
094
095      return checkbox;
096   }
097
098   //--------------------------------------------------------------------------
099   public InputCheckbox addCheckbox(String inName, String inValue, boolean checked)
100   {
101      InputCheckbox checkbox = new InputCheckbox(inName, inValue, checked);
102      addSubtag(checkbox);
103
104      return checkbox;
105   }
106
107
108   //--------------------------------------------------------------------------
109   public InputFile addFileInput()
110   {
111      InputFile subtag = new InputFile();
112      addSubtag(subtag);
113
114      return subtag;
115   }
116
117   //--------------------------------------------------------------------------
118   public InputFile addFileInput(String inName)
119   {
120      InputFile subtag = new InputFile(inName);
121      addSubtag(subtag);
122
123      return subtag;
124   }
125
126   //--------------------------------------------------------------------------
127   public InputFile addFileInput(String inName, String inValue)
128   {
129      InputFile subtag = new InputFile(inName, inValue);
130      addSubtag(subtag);
131
132      return subtag;
133   }
134
135
136   //--------------------------------------------------------------------------
137   public InputHidden addHiddenInput(String inName, String inValue)
138   {
139      InputHidden hidden = new InputHidden(inName, inValue);
140      addSubtag(hidden);
141
142      return hidden;
143   }
144
145   //--------------------------------------------------------------------------
146   public InputHidden addHiddenInput(String inName, Object inValue)
147   {
148      InputHidden hidden = new InputHidden(inName, inValue);
149      addSubtag(hidden);
150
151      return hidden;
152   }
153
154   //--------------------------------------------------------------------------
155   public InputHidden addHiddenInput(String inName, int inValue)
156   {
157      InputHidden hidden = new InputHidden(inName, inValue);
158      addSubtag(hidden);
159
160      return hidden;
161   }
162
163   //--------------------------------------------------------------------------
164   public InputHidden addHiddenInput(String inName, long inValue)
165   {
166      InputHidden hidden = new InputHidden(inName, inValue);
167      addSubtag(hidden);
168
169      return hidden;
170   }
171
172   //--------------------------------------------------------------------------
173   public InputHidden addHiddenInput(String inName, float inValue)
174   {
175      InputHidden hidden = new InputHidden(inName, inValue);
176      addSubtag(hidden);
177
178      return hidden;
179   }
180
181   //--------------------------------------------------------------------------
182   public InputHidden addHiddenInput(String inName, double inValue)
183   {
184      InputHidden hidden = new InputHidden(inName, inValue);
185      addSubtag(hidden);
186
187      return hidden;
188   }
189
190
191   //--------------------------------------------------------------------------
192   public Label addLabel()
193   {
194      Label label = new Label();
195      addSubtag(label);
196
197      return label;
198   }
199
200
201   //--------------------------------------------------------------------------
202   public Label addLabel(String inValue)
203   {
204      Label label = new Label(inValue);
205      addSubtag(label);
206
207      return label;
208   }
209
210
211   //--------------------------------------------------------------------------
212   public InputPassword addPasswordInput()
213   {
214      InputPassword password = new InputPassword();
215      addSubtag(password);
216
217      return password;
218   }
219
220   //--------------------------------------------------------------------------
221   public InputPassword addPasswordInput(String inName, String inValue)
222   {
223      InputPassword password = new InputPassword(inName, inValue);
224      addSubtag(password);
225
226      return password;
227   }
228
229   //--------------------------------------------------------------------------
230   public InputRadio addRadio(String inName, String inValue)
231   {
232      InputRadio radio = new InputRadio(inName, inValue);
233      addSubtag(radio);
234
235      return radio;
236   }
237
238   //--------------------------------------------------------------------------
239   public InputRadio addRadio(String inName, String inValue, boolean checked)
240   {
241      InputRadio radio = new InputRadio(inName, inValue, checked);
242      addSubtag(radio);
243
244      return radio;
245   }
246
247   //--------------------------------------------------------------------------
248   public InputReset addReset()
249   {
250      InputReset reset = new InputReset();
251      addSubtag(reset);
252
253      return reset;
254   }
255
256   //--------------------------------------------------------------------------
257   public Select addSelect(String inName)
258   {
259      Select select = new Select(inName);
260      addSubtag(select);
261
262      return select;
263   }
264
265   //--------------------------------------------------------------------------
266   @Override
267   public Form addStyle(String inValue)
268   {
269      return (Form) super.addStyle(inValue);
270   }
271
272   //--------------------------------------------------------------------------
273   public InputSubmit addSubmit()
274   {
275      InputSubmit submit = new InputSubmit();
276      addSubtag(submit);
277
278      return submit;
279   }
280
281   //--------------------------------------------------------------------------
282   public InputSubmit addSubmit(String inName, String inValue)
283   {
284      InputSubmit submit = new InputSubmit(inName, inValue);
285      addSubtag(submit);
286
287      return submit;
288   }
289
290
291   //--------------------------------------------------------------------------
292   public Textarea addTextarea(String inName, String inValue)
293   {
294      Textarea textarea = new Textarea(inName, inValue);
295      addSubtag(textarea);
296
297      return textarea;
298   }
299
300   //--------------------------------------------------------------------------
301   public Textarea addTextarea(String inName, String inValue, int inRows, int inCols)
302   {
303      Textarea textarea = new Textarea(inName, inValue, inRows, inCols);
304      addSubtag(textarea);
305
306      return textarea;
307   }
308
309
310   //--------------------------------------------------------------------------
311   public InputText addTextInput()
312   {
313      InputText text = new InputText();
314      addSubtag(text);
315
316      return text;
317   }
318
319   //--------------------------------------------------------------------------
320   public InputText addTextInput(String inName, String inValue)
321   {
322      InputText text = new InputText(inName, inValue);
323      addSubtag(text);
324
325      return text;
326   }
327
328
329
330
331
332
333   //--------------------------------------------------------------------------
334   public Center addCenter()
335   {
336      Center center = new Center();
337      addSubtag(center);
338
339      return center;
340   }
341
342   //--------------------------------------------------------------------------
343   public Center addCenter(String inContent)
344   {
345      Center center = new Center(inContent);
346      addSubtag(center);
347
348      return center;
349   }
350
351   //--------------------------------------------------------------------------
352   public Center addCenter(HTMLTag inContent)
353   {
354      Center center = new Center(inContent);
355      addSubtag(center);
356
357      return center;
358   }
359
360   //--------------------------------------------------------------------------
361   public Div addDiv()
362   {
363      Div subtag = new Div();
364      addSubtag(subtag);
365
366      return subtag;
367   }
368
369   //--------------------------------------------------------------------------
370   public Div addDiv(HTMLTag inContent)
371   {
372      Div subtag = new Div(inContent);
373      addSubtag(subtag);
374
375      return subtag;
376   }
377
378   //--------------------------------------------------------------------------
379   public Img addImage(String inSrc)
380   {
381      Img image = new Img(inSrc);
382      addSubtag(image);
383
384      return image;
385   }
386
387   //--------------------------------------------------------------------------
388   public Link addLink()
389   {
390      Link link = new Link();
391      addSubtag(link);
392
393      return link;
394   }
395
396   //--------------------------------------------------------------------------
397   public Link addLink(CharSequence inURL)
398   {
399      Link link = new Link(inURL);
400      addSubtag(link);
401
402      return link;
403   }
404
405   //--------------------------------------------------------------------------
406   public Link addLink(CharSequence inURL, String inContent)
407   {
408      Link link = new Link(inURL, inContent);
409      addSubtag(link);
410
411      return link;
412   }
413
414   //--------------------------------------------------------------------------
415   public Nobr addNobr()
416   {
417      Nobr nobr = new Nobr();
418      addSubtag(nobr);
419
420      return nobr;
421   }
422
423   //--------------------------------------------------------------------------
424   public Nobr addNobr(String inContent)
425   {
426      Nobr nobr = new Nobr(inContent);
427      addSubtag(nobr);
428
429      return nobr;
430   }
431
432   //--------------------------------------------------------------------------
433   public Nobr addNobr(HTMLTag inContent)
434   {
435      Nobr nobr = new Nobr(inContent);
436      addSubtag(nobr);
437
438      return nobr;
439   }
440
441   //--------------------------------------------------------------------------
442   public Pre addPre()
443   {
444      Pre pre = new Pre();
445      addSubtag(pre);
446
447      return pre;
448   }
449
450   //--------------------------------------------------------------------------
451   public Pre addPre(String inContent)
452   {
453      Pre pre = new Pre(inContent);
454      addSubtag(pre);
455
456      return pre;
457   }
458
459   //--------------------------------------------------------------------------
460   public Pre addPre(HTMLTag inContent)
461   {
462      Pre pre = new Pre(inContent);
463      addSubtag(pre);
464
465      return pre;
466   }
467
468   //--------------------------------------------------------------------------
469   public Span addSpan()
470   {
471      Span span = new Span();
472      addSubtag(span);
473
474      return span;
475   }
476
477   //--------------------------------------------------------------------------
478   public Span addSpan(String inContent)
479   {
480      Span span = new Span(inContent);
481      addSubtag(span);
482
483      return span;
484   }
485
486   //--------------------------------------------------------------------------
487   public Span addSpan(HTMLTag inContent)
488   {
489      Span span = new Span(inContent);
490      addSubtag(span);
491
492      return span;
493   }
494
495   //--------------------------------------------------------------------------
496   public Table addTable()
497   {
498      Table table = new Table();
499      addSubtag(table);
500
501      return table;
502   }
503
504   //--------------------------------------------------------------------------
505   public Ul addUnorderedList()
506   {
507      Ul ul = new Ul();
508      addSubtag(ul);
509
510      return ul;
511   }
512
513
514
515   //--------------------------------------------------------------------------
516   public Form setName(String inValue)
517   {
518      setAttribute(HTML.NAME, inValue);
519
520      return this;
521   }
522
523   //--------------------------------------------------------------------------
524   public String getName()
525   {
526      return getAttributeValue(HTML.NAME);
527   }
528
529   //--------------------------------------------------------------------------
530   public Form setMethod(String inValue)
531   {
532      setAttribute(HTML.METHOD, inValue);
533
534      return this;
535   }
536
537   //--------------------------------------------------------------------------
538   public String getMethod()
539   {
540      return getAttributeValue(HTML.METHOD);
541   }
542
543   //--------------------------------------------------------------------------
544   public Form usePost()
545   {
546      setAttribute(HTML.METHOD, "post");
547
548      return this;
549   }
550
551   //--------------------------------------------------------------------------
552   public Form useGet()
553   {
554      setAttribute(HTML.METHOD, "get");
555
556      return this;
557   }
558
559   //--------------------------------------------------------------------------
560   public Form setAction(String inValue)
561   {
562      setAttribute(HTML.ACTION, inValue);
563
564      return this;
565   }
566
567   //--------------------------------------------------------------------------
568   public String getAction()
569   {
570      return getAttributeValue(HTML.ACTION);
571   }
572
573   //--------------------------------------------------------------------------
574   public Form setTarget(String inValue)
575   {
576      setAttribute(HTML.TARGET, inValue);
577
578      return this;
579   }
580
581   //--------------------------------------------------------------------------
582   public String getTarget()
583   {
584      return getAttributeValue(HTML.TARGET);
585   }
586
587   //--------------------------------------------------------------------------
588   public Form setId(String inValue)
589   {
590      setAttribute(HTML.ID, inValue);
591      return this;
592   }
593
594   //--------------------------------------------------------------------------
595   public Form setEnctype(String inValue)
596   {
597      setAttribute(HTML.ENCTYPE, inValue);
598
599      return this;
600   }
601
602   //--------------------------------------------------------------------------
603   public Form useMultipartEncoding()
604   {
605      setAttribute(HTML.ENCTYPE, EncType.MULTIPART_FORM_DATA);
606
607      return this;
608   }
609
610   //--------------------------------------------------------------------------
611   public Form useUrlEncoding()
612   {
613      setAttribute(HTML.ENCTYPE, EncType.URL_ENCODED);
614
615      return this;
616   }
617
618   //--------------------------------------------------------------------------
619   public Form setOnSubmit(String inValue)
620   {
621      setAttribute(HTML.ONSUBMIT, inValue);
622
623      return this;
624   }
625
626   //--------------------------------------------------------------------------
627   public String getOnSubmit()
628   {
629      return getAttributeValue(HTML.ONSUBMIT);
630   }
631
632
633   //--------------------------------------------------------------------------
634   public Form setOnReset(String inValue)
635   {
636      setAttribute(HTML.ONRESET, inValue);
637
638      return this;
639   }
640
641   //--------------------------------------------------------------------------
642   public void br()
643   {
644      HTMLUtil.br(this);
645   }
646
647   //--------------------------------------------------------------------------
648   public void br(int inNumber)
649   {
650      HTMLUtil.br(this, inNumber);
651   }
652
653   //--------------------------------------------------------------------------
654   public void nbsp(int inNumber)
655   {
656      HTMLUtil.nbsp(this, inNumber);
657   }
658
659   //--------------------------------------------------------------------------
660   public void hr()
661   {
662      HTMLUtil.hr(this);
663   }
664
665   //--------------------------------------------------------------------------
666   public void hr(String inWidth)
667   {
668      HTMLUtil.hr(this, inWidth);
669   }
670
671
672}