001/*
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements.  See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License.  You may obtain a copy of the License at
008 *
009 *      http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package org.apache.juneau.html;
018
019import java.io.*;
020
021/**
022 * Utility class for creating custom HTML.
023 *
024 * <h5 class='section'>Example:</h5>
025 * <p class='bjson'>
026 *    String <jv>table</jv> = <jk>new</jk> SimpleHtmlWriter().sTag(<js>"table"</js>).sTag(<js>"tr"</js>).sTag(<js>"td"</js>)
027 *    .append(<js>"hello"</js>).eTag(<js>"td"</js>).eTag(<js>"tr"</js>).eTag(<js>"table"</js>).toString();
028 * </p>
029 *
030 * <h5 class='section'>See Also:</h5><ul>
031 *    <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/HtmlBasics">HTML Basics</a>
032
033 * </ul>
034 */
035@SuppressWarnings("resource")
036public class SimpleHtmlWriter extends HtmlWriter {
037
038   /**
039    * Constructor.
040    */
041   public SimpleHtmlWriter() {
042      super(new StringWriter(), true, 100, false, '\'', null);
043   }
044
045   @Override /* Overridden from HtmlWriter */
046   public SimpleHtmlWriter append(char c) {
047      super.append(c);
048      return this;
049   }
050
051   @Override /* Overridden from HtmlWriter */
052   public SimpleHtmlWriter append(char[] value) {
053      super.append(value);
054      return this;
055   }
056
057   @Override /* Overridden from HtmlWriter */
058   public SimpleHtmlWriter append(int indent, char c) {
059      super.append(indent, c);
060      return this;
061   }
062
063   @Override /* Overridden from HtmlWriter */
064   public SimpleHtmlWriter append(int indent, String text) {
065      super.append(indent, text);
066      return this;
067   }
068
069   @Override /* Overridden from HtmlWriter */
070   public SimpleHtmlWriter append(Object text) {
071      super.append(text);
072      return this;
073   }
074
075   @Override /* Overridden from HtmlWriter */
076   public SimpleHtmlWriter append(String text) {
077      super.append(text);
078      return this;
079   }
080
081   @Override /* Overridden from HtmlWriter */
082   public SimpleHtmlWriter appendIf(boolean flag, char value) {
083      super.appendIf(flag, value);
084      return this;
085   }
086
087   @Override /* Overridden from HtmlWriter */
088   public SimpleHtmlWriter appendIf(boolean flag, String value) {
089      super.appendIf(flag, value);
090      return this;
091   }
092
093   @Override /* Overridden from HtmlWriter */
094   public SimpleHtmlWriter appendln(int indent, String text) {
095      super.appendln(indent, text);
096      return this;
097   }
098
099   @Override /* Overridden from HtmlWriter */
100   public SimpleHtmlWriter appendln(String text) {
101      super.appendln(text);
102      return this;
103   }
104
105   @Override /* Overridden from HtmlWriter */
106   public SimpleHtmlWriter appendUri(Object value) {
107      super.appendUri(value);
108      return this;
109   }
110
111   @Override /* Overridden from HtmlWriter */
112   public SimpleHtmlWriter attr(String name, Object value) {
113      super.attr(name, value);
114      return this;
115   }
116
117   @Override /* Overridden from HtmlWriter */
118   public SimpleHtmlWriter attr(String name, Object value, boolean valNeedsEncoding) {
119      super.attr(name, value, valNeedsEncoding);
120      return this;
121   }
122
123   @Override /* Overridden from HtmlWriter */
124   public SimpleHtmlWriter attr(String ns, String name, Object value) {
125      super.attr(ns, name, value);
126      return this;
127   }
128
129   @Override /* Overridden from HtmlWriter */
130   public SimpleHtmlWriter attr(String ns, String name, Object value, boolean valNeedsEncoding) {
131      super.attr(ns, name, value, valNeedsEncoding);
132      return this;
133   }
134
135   @Override /* Overridden from HtmlWriter */
136   public SimpleHtmlWriter attrUri(String name, Object value) {
137      super.attrUri(name, value);
138      return this;
139   }
140
141   @Override /* Overridden from HtmlWriter */
142   public SimpleHtmlWriter ceTag() {
143      super.ceTag();
144      return this;
145   }
146
147   @Override /* Overridden from HtmlWriter */
148   public SimpleHtmlWriter cr(int depth) {
149      super.cr(depth);
150      return this;
151   }
152
153   @Override /* Overridden from HtmlWriter */
154   public SimpleHtmlWriter cre(int depth) {
155      super.cre(depth);
156      return this;
157   }
158
159   @Override /* Overridden from HtmlWriter */
160   public SimpleHtmlWriter cTag() {
161      super.cTag();
162      return this;
163   }
164
165   @Override /* Overridden from HtmlWriter */
166   public SimpleHtmlWriter eTag(int indent, String name) {
167      super.eTag(indent, name);
168      return this;
169   }
170
171   @Override /* Overridden from HtmlWriter */
172   public SimpleHtmlWriter eTag(int indent, String ns, String name) {
173      super.eTag(indent, ns, name);
174      return this;
175   }
176
177   @Override /* Overridden from HtmlWriter */
178   public SimpleHtmlWriter eTag(int indent, String ns, String name, boolean needsEncoding) {
179      super.eTag(indent, ns, name, needsEncoding);
180      return this;
181   }
182
183   @Override /* Overridden from HtmlWriter */
184   public SimpleHtmlWriter eTag(String name) {
185      super.eTag(name);
186      return this;
187   }
188
189   @Override /* Overridden from HtmlWriter */
190   public SimpleHtmlWriter eTag(String ns, String name) {
191      super.eTag(ns, name);
192      return this;
193   }
194
195   @Override /* Overridden from HtmlWriter */
196   public SimpleHtmlWriter eTag(String ns, String name, boolean needsEncoding) {
197      super.eTag(ns, name, needsEncoding);
198      return this;
199   }
200
201   @Override /* Overridden from HtmlWriter */
202   public SimpleHtmlWriter i(int indent) {
203      super.i(indent);
204      return this;
205   }
206
207   @Override /* Overridden from HtmlWriter */
208   public SimpleHtmlWriter ie(int indent) {
209      super.ie(indent);
210      return this;
211   }
212
213   @Override /* Overridden from HtmlWriter */
214   public SimpleHtmlWriter nl(int indent) {
215      super.nl(indent);
216      return this;
217   }
218
219   @Override /* Overridden from HtmlWriter */
220   public SimpleHtmlWriter nlIf(boolean flag, int indent) {
221      super.nlIf(flag, indent);
222      return this;
223   }
224
225   @Override /* Overridden from HtmlWriter */
226   public SimpleHtmlWriter oAttr(String ns, String name) {
227      super.oAttr(ns, name);
228      return this;
229   }
230
231   @Override /* Overridden from HtmlWriter */
232   public SimpleHtmlWriter oTag(int indent, String name) {
233      super.oTag(indent, name);
234      return this;
235   }
236
237   @Override /* Overridden from HtmlWriter */
238   public SimpleHtmlWriter oTag(int indent, String ns, String name) {
239      super.oTag(indent, ns, name);
240      return this;
241   }
242
243   @Override /* Overridden from HtmlWriter */
244   public SimpleHtmlWriter oTag(int indent, String ns, String name, boolean needsEncoding) {
245      super.oTag(indent, ns, name, needsEncoding);
246      return this;
247   }
248
249   @Override /* Overridden from HtmlWriter */
250   public SimpleHtmlWriter oTag(String name) {
251      super.oTag(name);
252      return this;
253   }
254
255   @Override /* Overridden from HtmlWriter */
256   public SimpleHtmlWriter oTag(String ns, String name) {
257      super.oTag(ns, name);
258      return this;
259   }
260
261   @Override /* Overridden from HtmlWriter */
262   public SimpleHtmlWriter oTag(String ns, String name, boolean needsEncoding) {
263      super.oTag(ns, name, needsEncoding);
264      return this;
265   }
266
267   @Override /* Overridden from HtmlWriter */
268   public SimpleHtmlWriter q() {
269      super.q();
270      return this;
271   }
272
273   @Override /* Overridden from HtmlWriter */
274   public SimpleHtmlWriter s() {
275      super.s();
276      return this;
277   }
278
279   @Override /* Overridden from HtmlWriter */
280   public SimpleHtmlWriter sIf(boolean flag) {
281      super.sIf(flag);
282      return this;
283   }
284
285   @Override /* Overridden from HtmlWriter */
286   public SimpleHtmlWriter sTag(int indent, String name) {
287      super.sTag(indent, name);
288      return this;
289   }
290
291   @Override /* Overridden from HtmlWriter */
292   public SimpleHtmlWriter sTag(int indent, String ns, String name) {
293      super.sTag(indent, ns, name);
294      return this;
295   }
296
297   @Override /* Overridden from HtmlWriter */
298   public SimpleHtmlWriter sTag(int indent, String ns, String name, boolean needsEncoding) {
299      super.sTag(indent, ns, name, needsEncoding);
300      return this;
301   }
302
303   @Override /* Overridden from HtmlWriter */
304   public SimpleHtmlWriter sTag(String name) {
305      super.sTag(name);
306      return this;
307   }
308
309   @Override /* Overridden from HtmlWriter */
310   public SimpleHtmlWriter sTag(String ns, String name) {
311      super.sTag(ns, name);
312      return this;
313   }
314
315   @Override /* Overridden from HtmlWriter */
316   public SimpleHtmlWriter sTag(String ns, String name, boolean needsEncoding) {
317      super.sTag(ns, name, needsEncoding);
318      return this;
319   }
320
321   @Override /* Overridden from HtmlWriter */
322   public SimpleHtmlWriter tag(int indent, String name) {
323      super.tag(indent, name);
324      return this;
325   }
326
327   @Override /* Overridden from HtmlWriter */
328   public SimpleHtmlWriter tag(int indent, String ns, String name) {
329      super.tag(indent, ns, name);
330      return this;
331   }
332
333   @Override /* Overridden from HtmlWriter */
334   public SimpleHtmlWriter tag(int indent, String ns, String name, boolean needsEncoding) {
335      super.tag(indent, ns, name, needsEncoding);
336      return this;
337   }
338
339   @Override /* Overridden from HtmlWriter */
340   public SimpleHtmlWriter tag(String name) {
341      super.tag(name);
342      return this;
343   }
344
345   @Override /* Overridden from HtmlWriter */
346   public SimpleHtmlWriter tag(String ns, String name) {
347      super.tag(ns, name);
348      return this;
349   }
350
351   @Override /* Overridden from HtmlWriter */
352   public SimpleHtmlWriter tag(String ns, String name, boolean needsEncoding) {
353      super.tag(ns, name, needsEncoding);
354      return this;
355   }
356
357   @Override /* Overridden from HtmlWriter */
358   public SimpleHtmlWriter text(Object value) {
359      super.text(value);
360      return this;
361   }
362
363   @Override /* Overridden from HtmlWriter */
364   public SimpleHtmlWriter text(Object o, boolean preserveWhitespace) {
365      super.text(o, preserveWhitespace);
366      return this;
367   }
368
369   @Override /* Overridden from HtmlWriter */
370   public SimpleHtmlWriter textUri(Object value) {
371      super.textUri(value);
372      return this;
373   }
374
375   @Override /* Overridden from Object */
376   public String toString() {
377      return out.toString();
378   }
379
380   @Override /* Overridden from HtmlWriter */
381   public SimpleHtmlWriter w(char c) {
382      super.w(c);
383      return this;
384   }
385
386   @Override /* Overridden from HtmlWriter */
387   public SimpleHtmlWriter w(String s) {
388      super.w(s);
389      return this;
390   }
391}