http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Body.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Body.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Body.java index 2eaad5a..b23b6f9 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Body.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Body.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="body") -@SuppressWarnings("hiding") public class Body extends HtmlElementMixed { /** @@ -29,7 +28,7 @@ public class Body extends HtmlElementMixed { * @return This object (for method chaining). */ public final Body onafterprint(String onafterprint) { - attrs.put("onafterprint", onafterprint); + attr("onafterprint", onafterprint); return this; } @@ -40,7 +39,7 @@ public class Body extends HtmlElementMixed { * @return This object (for method chaining). */ public final Body onbeforeunload(String onbeforeunload) { - attrs.put("onbeforeunload", onbeforeunload); + attr("onbeforeunload", onbeforeunload); return this; } @@ -51,7 +50,7 @@ public class Body extends HtmlElementMixed { * @return This object (for method chaining). */ public final Body onmessage(String onmessage) { - attrs.put("onmessage", onmessage); + attr("onmessage", onmessage); return this; } @@ -62,7 +61,7 @@ public class Body extends HtmlElementMixed { * @return This object (for method chaining). */ public final Body ononline(String ononline) { - attrs.put("ononline", ononline); + attr("ononline", ononline); return this; } @@ -73,7 +72,7 @@ public class Body extends HtmlElementMixed { * @return This object (for method chaining). */ public final Body onpageshow(String onpageshow) { - attrs.put("onpageshow", onpageshow); + attr("onpageshow", onpageshow); return this; } @@ -84,7 +83,7 @@ public class Body extends HtmlElementMixed { * @return This object (for method chaining). */ public final Body onstorage(String onstorage) { - attrs.put("onstorage", onstorage); + attr("onstorage", onstorage); return this; } @@ -112,7 +111,7 @@ public class Body extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Body child(Object child) { - this.children.add(child); + super.child(child); return this; } }
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Button.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Button.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Button.java index 8974a85..6ed6937 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Button.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Button.java @@ -19,17 +19,17 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="button") -@SuppressWarnings("hiding") public class Button extends HtmlElementMixed { /** * <a class='doclink' href='https://www.w3.org/TR/html5/forms.html#attr-fe-autofocus'>autofocus</a> attribute. * Automatically focus the form control when the page is loaded. * @param autofocus - The new value for this attribute. + * Typically a {@link Boolean} or {@link String}. * @return This object (for method chaining). */ - public final Button autofocus(String autofocus) { - attrs.put("autofocus", autofocus); + public final Button autofocus(Object autofocus) { + attr("autofocus", autofocus); return this; } @@ -37,10 +37,11 @@ public class Button extends HtmlElementMixed { * <a class='doclink' href='https://www.w3.org/TR/html5/forms.html#attr-fe-disabled'>disabled</a> attribute. * Whether the form control is disabled. * @param disabled - The new value for this attribute. + * Typically a {@link Boolean} or {@link String}. * @return This object (for method chaining). */ - public final Button disabled(String disabled) { - attrs.put("disabled", disabled); + public final Button disabled(Object disabled) { + attr("disabled", disabled); return this; } @@ -51,7 +52,7 @@ public class Button extends HtmlElementMixed { * @return This object (for method chaining). */ public final Button form(String form) { - attrs.put("form", form); + attr("form", form); return this; } @@ -62,7 +63,7 @@ public class Button extends HtmlElementMixed { * @return This object (for method chaining). */ public final Button formaction(String formaction) { - attrs.put("formaction", formaction); + attr("formaction", formaction); return this; } @@ -73,7 +74,7 @@ public class Button extends HtmlElementMixed { * @return This object (for method chaining). */ public final Button formenctype(String formenctype) { - attrs.put("formenctype", formenctype); + attr("formenctype", formenctype); return this; } @@ -84,7 +85,7 @@ public class Button extends HtmlElementMixed { * @return This object (for method chaining). */ public final Button formmethod(String formmethod) { - attrs.put("formmethod", formmethod); + attr("formmethod", formmethod); return this; } @@ -95,7 +96,7 @@ public class Button extends HtmlElementMixed { * @return This object (for method chaining). */ public final Button formnovalidate(String formnovalidate) { - attrs.put("formnovalidate", formnovalidate); + attr("formnovalidate", formnovalidate); return this; } @@ -106,7 +107,7 @@ public class Button extends HtmlElementMixed { * @return This object (for method chaining). */ public final Button formtarget(String formtarget) { - attrs.put("formtarget", formtarget); + attr("formtarget", formtarget); return this; } @@ -117,7 +118,7 @@ public class Button extends HtmlElementMixed { * @return This object (for method chaining). */ public final Button menu(String menu) { - attrs.put("menu", menu); + attr("menu", menu); return this; } @@ -128,7 +129,7 @@ public class Button extends HtmlElementMixed { * @return This object (for method chaining). */ public final Button name(String name) { - attrs.put("name", name); + attr("name", name); return this; } @@ -139,7 +140,7 @@ public class Button extends HtmlElementMixed { * @return This object (for method chaining). */ public final Button type(String type) { - attrs.put("type", type); + attr("type", type); return this; } @@ -147,10 +148,11 @@ public class Button extends HtmlElementMixed { * <a class='doclink' href='https://www.w3.org/TR/html5/forms.html#attr-button-value'>value</a> attribute. * Value to be used for form submission. * @param value - The new value for this attribute. + * Typically a {@link Number} or {@link String}. * @return This object (for method chaining). */ - public final Button value(String value) { - attrs.put("value", value); + public final Button value(Object value) { + attr("value", value); return this; } @@ -178,7 +180,7 @@ public class Button extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Button child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Canvas.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Canvas.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Canvas.java index 21db9dd..51289e1 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Canvas.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Canvas.java @@ -25,10 +25,11 @@ public class Canvas extends HtmlElementContainer { * <a class='doclink' href='https://www.w3.org/TR/html5/scripting-1.html#attr-canvas-height'>height</a> attribute. * Vertical dimension. * @param height - The new value for this attribute. + * Typically a {@link Number} or {@link String}. * @return This object (for method chaining). */ - public final Canvas height(long height) { - attrs.put("height", height); + public final Canvas height(Object height) { + attr("height", height); return this; } @@ -36,10 +37,11 @@ public class Canvas extends HtmlElementContainer { * <a class='doclink' href='https://www.w3.org/TR/html5/scripting-1.html#attr-canvas-width'>width</a> attribute. * Horizontal dimension. * @param width - The new value for this attribute. + * Typically a {@link Number} or {@link String}. * @return This object (for method chaining). */ - public final Canvas width(long width) { - attrs.put("width", width); + public final Canvas width(Object width) { + attr("width", width); return this; } @@ -58,4 +60,16 @@ public class Canvas extends HtmlElementContainer { super.id(id); return this; } + + @Override /* HtmlElementContainer */ + public final Canvas children(Object...children) { + super.children(children); + return this; + } + + @Override /* HtmlElementContainer */ + public final Canvas child(Object child) { + super.child(child); + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Caption.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Caption.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Caption.java index 1b7b9d8..5a035a3 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Caption.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Caption.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="caption") -@SuppressWarnings("hiding") public class Caption extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class Caption extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Caption child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Cite.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Cite.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Cite.java index 00245eb..e7693de 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Cite.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Cite.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="cite") -@SuppressWarnings("hiding") public class Cite extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class Cite extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Cite child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Code.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Code.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Code.java index af5cc19..9215ccc 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Code.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Code.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="code") -@SuppressWarnings("hiding") public class Code extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class Code extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Code child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Col.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Col.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Col.java index 94502c2..9ace341 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Col.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Col.java @@ -25,10 +25,11 @@ public class Col extends HtmlElementEmpty { * <a class='doclink' href='https://www.w3.org/TR/html5/tabular-data.html#attr-col-span'>span</a> attribute. * Number of columns spanned by the element. * @param span - The new value for this attribute. + * Typically a {@link Number} or {@link String}. * @return This object (for method chaining). */ - public final Col span(long span) { - attrs.put("span", span); + public final Col span(Object span) { + attr("span", span); return this; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Colgroup.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Colgroup.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Colgroup.java index b404ca4..62cf30c 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Colgroup.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Colgroup.java @@ -19,17 +19,17 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="colgroup") -@SuppressWarnings("hiding") public class Colgroup extends HtmlElementContainer { /** * <a class='doclink' href='https://www.w3.org/TR/html5/tabular-data.html#attr-colgroup-span'>span</a> attribute. * Number of columns spanned by the element. * @param span - The new value for this attribute. + * Typically a {@link Number} or {@link String}. * @return This object (for method chaining). */ - public final Colgroup span(long span) { - attrs.put("span", span); + public final Colgroup span(Object span) { + attr("span", span); return this; } @@ -38,12 +38,6 @@ public class Colgroup extends HtmlElementContainer { //-------------------------------------------------------------------------------- @Override /* HtmlElement */ - public Colgroup children(Object...children) { - super.children(children); - return this; - } - - @Override /* HtmlElement */ public final Colgroup _class(String _class) { super._class(_class); return this; @@ -54,4 +48,16 @@ public class Colgroup extends HtmlElementContainer { super.id(id); return this; } + + @Override /* HtmlElementContainer */ + public final Colgroup children(Object...children) { + super.children(children); + return this; + } + + @Override /* HtmlElementContainer */ + public final Colgroup child(Object child) { + super.child(child); + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Data.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Data.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Data.java index 5f7de70..07e7338 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Data.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Data.java @@ -19,17 +19,17 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="data") -@SuppressWarnings("hiding") public class Data extends HtmlElementMixed { /** * <a class='doclink' href='https://www.w3.org/TR/html5/text-level-semantics.html#attr-data-value'>value</a> attribute. * Machine-readable value. * @param value - The new value for this attribute. + * Typically a {@link Number} or {@link String}. * @return This object (for method chaining). */ - public final Data value(String value) { - attrs.put("value", value); + public final Data value(Object value) { + attr("value", value); return this; } @@ -57,7 +57,7 @@ public class Data extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Data child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Datalist.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Datalist.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Datalist.java index 1034344..13f030b 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Datalist.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Datalist.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="datalist") -@SuppressWarnings("hiding") public class Datalist extends HtmlElementContainer { //-------------------------------------------------------------------------------- @@ -27,12 +26,6 @@ public class Datalist extends HtmlElementContainer { //-------------------------------------------------------------------------------- @Override /* HtmlElement */ - public Datalist children(Object...children) { - super.children(children); - return this; - } - - @Override /* HtmlElement */ public final Datalist _class(String _class) { super._class(_class); return this; @@ -43,4 +36,16 @@ public class Datalist extends HtmlElementContainer { super.id(id); return this; } + + @Override /* HtmlElementContainer */ + public final Datalist children(Object...children) { + super.children(children); + return this; + } + + @Override /* HtmlElementContainer */ + public final Datalist child(Object child) { + super.child(child); + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dd.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dd.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dd.java index a86567e..3ee021f 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dd.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dd.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="dd") -@SuppressWarnings("hiding") public class Dd extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class Dd extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Dd child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Del.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Del.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Del.java index 4037fff..a1b95b5 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Del.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Del.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="del") -@SuppressWarnings("hiding") public class Del extends HtmlElementMixed { /** @@ -29,7 +28,7 @@ public class Del extends HtmlElementMixed { * @return This object (for method chaining). */ public final Del cite(String cite) { - attrs.put("cite", cite); + attr("cite", cite); return this; } @@ -40,7 +39,7 @@ public class Del extends HtmlElementMixed { * @return This object (for method chaining). */ public final Del datetime(String datetime) { - attrs.put("datetime", datetime); + attr("datetime", datetime); return this; } @@ -68,7 +67,7 @@ public class Del extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Del child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dfn.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dfn.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dfn.java index baa4b97..c39d68e 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dfn.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dfn.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="dfn") -@SuppressWarnings("hiding") public class Dfn extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class Dfn extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Dfn child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Div.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Div.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Div.java index 7c58a77..a530ef7 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Div.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Div.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="div") -@SuppressWarnings("hiding") public class Div extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class Div extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Div child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dl.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dl.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dl.java index 607d1bc..568fe37 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dl.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dl.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="dl") -@SuppressWarnings("hiding") public class Dl extends HtmlElementContainer { //-------------------------------------------------------------------------------- @@ -27,12 +26,6 @@ public class Dl extends HtmlElementContainer { //-------------------------------------------------------------------------------- @Override /* HtmlElement */ - public final Dl children(Object...children) { - super.children(children); - return this; - } - - @Override /* HtmlElement */ public final Dl _class(String _class) { super._class(_class); return this; @@ -43,4 +36,16 @@ public class Dl extends HtmlElementContainer { super.id(id); return this; } + + @Override /* HtmlElementContainer */ + public final Dl children(Object...children) { + super.children(children); + return this; + } + + @Override /* HtmlElementContainer */ + public final Dl child(Object child) { + super.child(child); + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dt.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dt.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dt.java index 1ef264e..ee3603c 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dt.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Dt.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="dt") -@SuppressWarnings("hiding") public class Dt extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class Dt extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Dt child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Em.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Em.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Em.java index 07934ef..a71f59c 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Em.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Em.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="em") -@SuppressWarnings("hiding") public class Em extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class Em extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Em child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Embed.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Embed.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Embed.java index f37975b..6b39259 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Embed.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Embed.java @@ -12,6 +12,8 @@ // *************************************************************************************************************************** package org.apache.juneau.dto.html5; +import java.net.*; + import org.apache.juneau.annotation.*; /** @@ -25,10 +27,11 @@ public class Embed extends HtmlElementEmpty { * <a class='doclink' href='https://www.w3.org/TR/html5/embedded-content-0.html#attr-dim-height'>height</a> attribute. * Vertical dimension. * @param height - The new value for this attribute. + * Typically a {@link Number} or {@link String}. * @return This object (for method chaining). */ - public final Embed height(String height) { - attrs.put("height", height); + public final Embed height(Object height) { + attr("height", height); return this; } @@ -36,10 +39,11 @@ public class Embed extends HtmlElementEmpty { * <a class='doclink' href='https://www.w3.org/TR/html5/embedded-content-0.html#attr-embed-src'>src</a> attribute. * Address of the resource. * @param src - The new value for this attribute. + * Typically a {@link URL} or {@link String}. * @return This object (for method chaining). */ - public final Embed src(String src) { - attrs.put("src", src); + public final Embed src(Object src) { + attr("src", src); return this; } @@ -50,7 +54,7 @@ public class Embed extends HtmlElementEmpty { * @return This object (for method chaining). */ public final Embed type(String type) { - attrs.put("type", type); + attr("type", type); return this; } @@ -58,10 +62,11 @@ public class Embed extends HtmlElementEmpty { * <a class='doclink' href='https://www.w3.org/TR/html5/embedded-content-0.html#attr-dim-width'>width</a> attribute. * Horizontal dimension. * @param width - The new value for this attribute. + * Typically a {@link Number} or {@link String}. * @return This object (for method chaining). */ - public final Embed width(String width) { - attrs.put("width", width); + public final Embed width(Object width) { + attr("width", width); return this; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Fieldset.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Fieldset.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Fieldset.java index 4a9bfad..46bebec 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Fieldset.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Fieldset.java @@ -19,17 +19,17 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="fieldset") -@SuppressWarnings("hiding") public class Fieldset extends HtmlElementMixed { /** * <a class='doclink' href='https://www.w3.org/TR/html5/forms.html#attr-fieldset-disabled'>disabled</a> attribute. * Whether the form control is disabled. * @param disabled - The new value for this attribute. + * Typically a {@link Boolean} or {@link String}. * @return This object (for method chaining). */ - public final Fieldset disabled(String disabled) { - attrs.put("disabled", disabled); + public final Fieldset disabled(Boolean disabled) { + attr("disabled", disabled); return this; } @@ -40,7 +40,7 @@ public class Fieldset extends HtmlElementMixed { * @return This object (for method chaining). */ public final Fieldset form(String form) { - attrs.put("form", form); + attr("form", form); return this; } @@ -51,7 +51,7 @@ public class Fieldset extends HtmlElementMixed { * @return This object (for method chaining). */ public final Fieldset name(String name) { - attrs.put("name", name); + attr("name", name); return this; } @@ -79,7 +79,7 @@ public class Fieldset extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Fieldset child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Figcaption.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Figcaption.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Figcaption.java index 9dafbaa..5540173 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Figcaption.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Figcaption.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="figcaption") -@SuppressWarnings("hiding") public class Figcaption extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class Figcaption extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Figcaption child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Figure.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Figure.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Figure.java index 102b0d1..e4547a6 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Figure.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Figure.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="figure") -@SuppressWarnings("hiding") public class Figure extends HtmlElementContainer { //-------------------------------------------------------------------------------- @@ -27,12 +26,6 @@ public class Figure extends HtmlElementContainer { //-------------------------------------------------------------------------------- @Override /* HtmlElement */ - public final Figure children(Object...children) { - super.children(children); - return this; - } - - @Override /* HtmlElement */ public final Figure _class(String _class) { super._class(_class); return this; @@ -43,4 +36,16 @@ public class Figure extends HtmlElementContainer { super.id(id); return this; } + + @Override /* HtmlElementContainer */ + public final Figure children(Object...children) { + super.children(children); + return this; + } + + @Override /* HtmlElementContainer */ + public final Figure child(Object child) { + super.child(child); + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Footer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Footer.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Footer.java index b2844c0..036d0df 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Footer.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Footer.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="footer") -@SuppressWarnings("hiding") public class Footer extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class Footer extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Footer child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Form.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Form.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Form.java index 6e04499..c7b0e57 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Form.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Form.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="form") -@SuppressWarnings("hiding") public class Form extends HtmlElementMixed { /** @@ -29,7 +28,7 @@ public class Form extends HtmlElementMixed { * @return This object (for method chaining). */ public final Form acceptcharset(String acceptcharset) { - attrs.put("accept-charset", acceptcharset); + attr("accept-charset", acceptcharset); return this; } @@ -40,7 +39,7 @@ public class Form extends HtmlElementMixed { * @return This object (for method chaining). */ public final Form action(String action) { - attrs.put("action", action); + attr("action", action); return this; } @@ -51,7 +50,7 @@ public class Form extends HtmlElementMixed { * @return This object (for method chaining). */ public final Form autocomplete(String autocomplete) { - attrs.put("autocomplete", autocomplete); + attr("autocomplete", autocomplete); return this; } @@ -62,7 +61,7 @@ public class Form extends HtmlElementMixed { * @return This object (for method chaining). */ public final Form enctype(String enctype) { - attrs.put("enctype", enctype); + attr("enctype", enctype); return this; } @@ -73,7 +72,7 @@ public class Form extends HtmlElementMixed { * @return This object (for method chaining). */ public final Form method(String method) { - attrs.put("method", method); + attr("method", method); return this; } @@ -84,7 +83,7 @@ public class Form extends HtmlElementMixed { * @return This object (for method chaining). */ public final Form name(String name) { - attrs.put("name", name); + attr("name", name); return this; } @@ -92,10 +91,11 @@ public class Form extends HtmlElementMixed { * <a class='doclink' href='https://www.w3.org/TR/html5/forms.html#attr-fs-novalidate'>novalidate</a> attribute. * Bypass form control validation for form submission. * @param novalidate - The new value for this attribute. + * Typically a {@link Boolean} or {@link String}. * @return This object (for method chaining). */ - public final Form novalidate(String novalidate) { - attrs.put("novalidate", novalidate); + public final Form novalidate(Boolean novalidate) { + attr("novalidate", novalidate); return this; } @@ -106,7 +106,7 @@ public class Form extends HtmlElementMixed { * @return This object (for method chaining). */ public final Form target(String target) { - attrs.put("target", target); + attr("target", target); return this; } @@ -135,7 +135,7 @@ public class Form extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Form child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/H1.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H1.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H1.java index d2bf51f..b7ec1f5 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H1.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H1.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="h1") -@SuppressWarnings("hiding") public class H1 extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class H1 extends HtmlElementMixed { @Override /* HtmlElementMixed */ public H1 child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/H2.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H2.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H2.java index 9d9222d..50389a4 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H2.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H2.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="h2") -@SuppressWarnings("hiding") public class H2 extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class H2 extends HtmlElementMixed { @Override /* HtmlElementMixed */ public H2 child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/H3.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H3.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H3.java index dda0bfb..9515961 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H3.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H3.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="h3") -@SuppressWarnings("hiding") public class H3 extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class H3 extends HtmlElementMixed { @Override /* HtmlElementMixed */ public H3 child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/H4.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H4.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H4.java index 4e064f3..3e69395 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H4.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H4.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="h4") -@SuppressWarnings("hiding") public class H4 extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class H4 extends HtmlElementMixed { @Override /* HtmlElementMixed */ public H4 child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/H5.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H5.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H5.java index 9a48c27..efeeb00 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H5.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H5.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="h5") -@SuppressWarnings("hiding") public class H5 extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class H5 extends HtmlElementMixed { @Override /* HtmlElementMixed */ public H5 child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/H6.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H6.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H6.java index d86be21..d995264 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/H6.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/H6.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="h6") -@SuppressWarnings("hiding") public class H6 extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class H6 extends HtmlElementMixed { @Override /* HtmlElementMixed */ public H6 child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Head.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Head.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Head.java index 4fbc1a6..8e21342 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Head.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Head.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="head") -@SuppressWarnings("hiding") public class Head extends HtmlElementContainer { //-------------------------------------------------------------------------------- @@ -27,12 +26,6 @@ public class Head extends HtmlElementContainer { //-------------------------------------------------------------------------------- @Override /* HtmlElement */ - public Head children(Object...children) { - super.children(children); - return this; - } - - @Override /* HtmlElement */ public final Head _class(String _class) { super._class(_class); return this; @@ -43,4 +36,16 @@ public class Head extends HtmlElementContainer { super.id(id); return this; } + + @Override /* HtmlElementContainer */ + public final Head children(Object...children) { + super.children(children); + return this; + } + + @Override /* HtmlElementContainer */ + public final Head child(Object child) { + super.child(child); + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Header.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Header.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Header.java index 72c2bdd..7258cbc 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Header.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Header.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="header") -@SuppressWarnings("hiding") public class Header extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class Header extends HtmlElementMixed { @Override /* HtmlElementMixed */ public Header child(Object child) { - this.children.add(child); + super.child(child); return this; } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/Html.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Html.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Html.java index bdcc860..56c6c23 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/Html.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/Html.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="html") -@SuppressWarnings("hiding") public class Html extends HtmlElementContainer { /** @@ -29,7 +28,7 @@ public class Html extends HtmlElementContainer { * @return This object (for method chaining). */ public final Html manifest(String manifest) { - attrs.put("manifest", manifest); + attr("manifest", manifest); return this; } @@ -38,12 +37,6 @@ public class Html extends HtmlElementContainer { //-------------------------------------------------------------------------------- @Override /* HtmlElement */ - public Html children(Object...children) { - super.children(children); - return this; - } - - @Override /* HtmlElement */ public final Html _class(String _class) { super._class(_class); return this; @@ -54,4 +47,16 @@ public class Html extends HtmlElementContainer { super.id(id); return this; } + + @Override /* HtmlElementContainer */ + public final Html children(Object...children) { + super.children(children); + return this; + } + + @Override /* HtmlElementContainer */ + public final Html child(Object child) { + super.child(child); + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlBuilder.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlBuilder.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlBuilder.java index c2c31f2..306f5e1 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlBuilder.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlBuilder.java @@ -26,12 +26,12 @@ public class HtmlBuilder { } /** - * Creates an {@link A} element with the specified {@link A#href(String)} attribute and {@link A#children(Object[])} nodes. - * @param href The {@link A#href(String)} attribute. + * Creates an {@link A} element with the specified {@link A#href(Object)} attribute and {@link A#children(Object[])} nodes. + * @param href The {@link A#href(Object)} attribute. * @param children The {@link A#children(Object[])} nodes. * @return The new element. */ - public static final A a(String href, Object...children) { + public static final A a(Object href, Object...children) { return a().href(href).children(children); } @@ -79,13 +79,13 @@ public class HtmlBuilder { } /** - * Creates an {@link Area} element with the specified {@link Area#shape(String)}, {@link Area#coords(String)}, and {@link Area#href(String)} attributes. + * Creates an {@link Area} element with the specified {@link Area#shape(String)}, {@link Area#coords(String)}, and {@link Area#href(Object)} attributes. * @param shape The {@link Area#shape(String)} attribute. * @param coords The {@link Area#coords(String)} attribute. - * @param href The {@link Area#href(String)} attribute. + * @param href The {@link Area#href(Object)} attribute. * @return The new element. */ - public static final Area area(String shape, String coords, String href) { + public static final Area area(String shape, String coords, Object href) { return area().shape(shape).coords(coords).href(href); } @@ -98,6 +98,15 @@ public class HtmlBuilder { } /** + * Creates an {@link Article} element with the specified child nodes. + * @param children The child nodes. + * @return The new element. + */ + public static final Article article(Object...children) { + return article().children(children); + } + + /** * Creates an empty {@link Aside} element. * @return The new element. */ @@ -123,8 +132,8 @@ public class HtmlBuilder { } /** - * Creates an {@link Audio} element with the specified {@link Audio#src(String)} attribute. - * @param src The {@link Audio#src(String)} attribute. + * Creates an {@link Audio} element with the specified {@link Audio#src(Object)} attribute. + * @param src The {@link Audio#src(Object)} attribute. * @return The new element. */ public static final Audio audio(String src) { @@ -157,11 +166,11 @@ public class HtmlBuilder { } /** - * Creates a {@link Base} element with the specified {@link Base#href(String)} attribute. - * @param href The {@link Base#href(String)} attribute. + * Creates a {@link Base} element with the specified {@link Base#href(Object)} attribute. + * @param href The {@link Base#href(Object)} attribute. * @return The new element. */ - public static final Base base(String href) { + public static final Base base(Object href) { return base().href(href); } @@ -266,7 +275,7 @@ public class HtmlBuilder { * @return The new element. */ public static final Button button(String type, Object...children) { - return button().type(type).child(children); + return button().type(type).children(children); } /** @@ -278,12 +287,12 @@ public class HtmlBuilder { } /** - * Creates a {@link Canvas} element with the specified {@link Canvas#width(long)} and {@link Canvas#height(long)} attributes. - * @param width The {@link Canvas#width(long)} attribute. - * @param height The {@link Canvas#height(long)} attribute. + * Creates a {@link Canvas} element with the specified {@link Canvas#width(Object)} and {@link Canvas#height(Object)} attributes. + * @param width The {@link Canvas#width(Object)} attribute. + * @param height The {@link Canvas#height(Object)} attribute. * @return The new element. */ - public static final Canvas canvas(long width, long height) { + public static final Canvas canvas(Number width, Number height) { return canvas().width(width).height(height); } @@ -347,11 +356,11 @@ public class HtmlBuilder { } /** - * Creates a {@link Col} element with the specified {@link Col#span(long)} attribute. - * @param span The {@link Col#span(long)} attribute. + * Creates a {@link Col} element with the specified {@link Col#span(Object)} attribute. + * @param span The {@link Col#span(Object)} attribute. * @return The new element. */ - public static final Col col(long span) { + public static final Col col(Number span) { return col().span(span); } @@ -364,22 +373,12 @@ public class HtmlBuilder { } /** - * Creates a {@link Colgroup} element with the specified {@link Colgroup#span(long)} attribute. - * @param span The {@link Colgroup#span(long)} attribute. - * @return The new element. - */ - public static final Colgroup colgroup(long span) { - return colgroup().span(span); - } - - /** - * Creates a {@link Colgroup} element with the specified {@link Colgroup#span(long)} attribute and child nodes. - * @param span The {@link Colgroup#span(long)} attribute. + * Creates a {@link Colgroup} element with the specified child nodes. * @param children The child nodes. * @return The new element. */ - public static final Colgroup colgroup(long span, Object...children) { - return colgroup().span(span).children(children); + public static final Colgroup colgroup(Object...children) { + return colgroup().children(children); } /** @@ -391,12 +390,13 @@ public class HtmlBuilder { } /** - * Creates a {@link Data} element with the specified {@link Data#value(String)} attribute. - * @param value The {@link Data#value(String)} attribute. + * Creates a {@link Data} element with the specified {@link Data#value(Object)} attribute and child node. + * @param value The {@link Data#value(Object)} attribute. + * @param child The child node. * @return The new element. */ - public static final Data data(String value) { - return data().value(value); + public static final Data data(String value, Object child) { + return data().value(value).child(child); } /** @@ -498,8 +498,8 @@ public class HtmlBuilder { * @param children The child nodes. * @return The new element. */ - public static final Dl dl(Dd...children) { - return dl().children((Object[])children); + public static final Dl dl(Object...children) { + return dl().children(children); } /** @@ -545,11 +545,11 @@ public class HtmlBuilder { } /** - * Creates an {@link Embed} element with the specified {@link Embed#src(String)} attribute. - * @param src The {@link Embed#src(String)} attribute. + * Creates an {@link Embed} element with the specified {@link Embed#src(Object)} attribute. + * @param src The {@link Embed#src(Object)} attribute. * @return The new element. */ - public static final Embed embed(String src) { + public static final Embed embed(Object src) { return embed().src(src); } @@ -852,11 +852,11 @@ public class HtmlBuilder { } /** - * Creates an {@link Img} element with the specified {@link Img#src(String)} attribute. - * @param src The {@link Img#src(String)} attribute. + * Creates an {@link Img} element with the specified {@link Img#src(Object)} attribute. + * @param src The {@link Img#src(Object)} attribute. * @return The new element. */ - public static final Img img(String src) { + public static final Img img(Object src) { return img().src(src); } @@ -979,11 +979,11 @@ public class HtmlBuilder { } /** - * Creates a {@link Link} element with the specified {@link Link#href(String)} attribute. - * @param href The {@link Link#href(String)} attribute. + * Creates a {@link Link} element with the specified {@link Link#href(Object)} attribute. + * @param href The {@link Link#href(Object)} attribute. * @return The new element. */ - public static final Link link(String href) { + public static final Link link(Object href) { return link().href(href); } @@ -1157,12 +1157,21 @@ public class HtmlBuilder { } /** - * Creates an {@link Option} element with the specified {@link Option#value(String)} attribute and {@link Option#text(Object)} node. - * @param value The {@link Option#value(String)} attribute. + * Creates an {@link Option} element with the specified {@link Option#value(Object)} attribute. + * @param value The {@link Option#value(Object)} attribute. + * @return The new element. + */ + public static final Option option(Object value) { + return option().value(value); + } + + /** + * Creates an {@link Option} element with the specified {@link Option#value(Object)} attribute and {@link Option#text(Object)} node. + * @param value The {@link Option#value(Object)} attribute. * @param text The {@link Option#text(Object)} node. * @return The new element. */ - public static final Option option(String value, String text) { + public static final Option option(Object value, Object text) { return option().value(value).text(text); } @@ -1209,12 +1218,12 @@ public class HtmlBuilder { } /** - * Creates a {@link Param} element with the specified {@link Param#name(String)} and {@link Param#value(String)} attributes. + * Creates a {@link Param} element with the specified {@link Param#name(String)} and {@link Param#value(Object)} attributes. * @param name The {@link Param#name(String)} attribute. - * @param value The {@link Param#value(String)} attribute. + * @param value The {@link Param#value(Object)} attribute. * @return The new element. */ - public static final Param param(String name, String value) { + public static final Param param(String name, Object value) { return param().name(name).value(value); } @@ -1397,12 +1406,13 @@ public class HtmlBuilder { } /** - * Creates a {@link Script} element with the specified {@link Script#children(Object[])} nodes. - * @param children The {@link Script#children(Object[])} nodes. + * Creates a {@link Script} element with the specified {@link Script#type(String)} attribute and {@link Script#text(Object)} node. + * @param type The {@link Script#type(String)} attribute. + * @param text The child text node. * @return The new element. */ - public static final Script script(Object...children) { - return script().children(children); + public static final Script script(String type, String text) { + return script().type(type).text(text); } /** @@ -1466,12 +1476,12 @@ public class HtmlBuilder { } /** - * Creates a {@link Source} element with the specified {@link Source#src(String)} and {@link Source#type(String)} attributes. - * @param src The {@link Source#src(String)} attribute. + * Creates a {@link Source} element with the specified {@link Source#src(Object)} and {@link Source#type(String)} attributes. + * @param src The {@link Source#src(Object)} attribute. * @param type The {@link Source#type(String)} attribute. * @return The new element. */ - public static final Source source(String src, String type) { + public static final Source source(Object src, String type) { return source().src(src).type(type); } @@ -1518,12 +1528,12 @@ public class HtmlBuilder { } /** - * Creates a {@link Style} element with the specified {@link Style#children(Object[])} nodes. - * @param children The {@link Style#children(Object[])} nodes. + * Creates a {@link Style} element with the specified {@link Style#text(Object)} node. + * @param text The {@link Style#text(Object)} node. * @return The new element. */ - public static final Style style(Object...children) { - return style().children(children); + public static final Style style(Object text) { + return style().text(text); } /** @@ -1758,12 +1768,12 @@ public class HtmlBuilder { } /** - * Creates a {@link Track} element with the specified {@link Track#src(String)} and {@link Track#kind(String)} attributes. - * @param src The {@link Track#src(String)} attribute. + * Creates a {@link Track} element with the specified {@link Track#src(Object)} and {@link Track#kind(String)} attributes. + * @param src The {@link Track#src(Object)} attribute. * @param kind The {@link Track#kind(String)} attribute. * @return The new element. */ - public static final Track track(String src, String kind) { + public static final Track track(Object src, String kind) { return track().src(src).kind(kind); } @@ -1827,11 +1837,11 @@ public class HtmlBuilder { } /** - * Creates a {@link Video} element with the specified {@link Video#src(String)} attribute. - * @param src The {@link Video#src(String)} attribute. + * Creates a {@link Video} element with the specified {@link Video#src(Object)} attribute. + * @param src The {@link Video#src(Object)} attribute. * @return The new element. */ - public static final Video video(String src) { + public static final Video video(Object src) { return video().src(src); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java index 57e3e46..cdbdfed 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java @@ -27,7 +27,7 @@ import org.apache.juneau.xml.annotation.*; @org.apache.juneau.html.annotation.Html(asXml=true) public abstract class HtmlElement { - final LinkedHashMap<String,Object> attrs = new LinkedHashMap<String,Object>(); + private LinkedHashMap<String,Object> attrs; /** * The attributes of this element. @@ -39,6 +39,16 @@ public abstract class HtmlElement { } /** + * Sets the attributes for this element. + * @param attrs The new attributes for this element. + * @return This object (for method chaining). + */ + public HtmlElement setAttrs(LinkedHashMap<String,Object> attrs) { + this.attrs = attrs; + return this; + } + + /** * Adds an arbitrary attribute to this element. * @param key The attribute name. * @param val The attribute value. @@ -46,6 +56,8 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public HtmlElement attr(String key, Object val) { + if (this.attrs == null) + this.attrs = new LinkedHashMap<String,Object>(); this.attrs.put(key, val); return this; } @@ -56,7 +68,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement accesskey(String accesskey) { - attrs.put("accesskey", accesskey); + attr("accesskey", accesskey); return this; } @@ -66,17 +78,18 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public HtmlElement _class(String _class) { - attrs.put("class", _class); + attr("class", _class); return this; } /** * <a class='doclink' href='https://www.w3.org/TR/html5/editing.html#attr-contenteditable'>contenteditable</a> attribute. * @param contenteditable - The new value for this attribute. + * Typically a {@link Boolean} or {@link String}. * @return This object (for method chaining). */ - public final HtmlElement contenteditable(String contenteditable) { - attrs.put("contenteditable", contenteditable); + public final HtmlElement contenteditable(Object contenteditable) { + attr("contenteditable", contenteditable); return this; } @@ -86,17 +99,18 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public HtmlElement dir(String dir) { - attrs.put("dir", dir); + attr("dir", dir); return this; } /** * <a class='doclink' href='https://www.w3.org/TR/html5/editing.html#the-hidden-attribute'>hidden</a> attribute. * @param hidden - The new value for this attribute. + * Typically a {@link Boolean} or {@link String}. * @return This object (for method chaining). */ - public final HtmlElement hidden(String hidden) { - attrs.put("hidden", hidden); + public final HtmlElement hidden(Object hidden) { + attr("hidden", hidden); return this; } @@ -106,7 +120,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public HtmlElement id(String id) { - attrs.put("id", id); + attr("id", id); return this; } @@ -116,7 +130,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement lang(String lang) { - attrs.put("lang", lang); + attr("lang", lang); return this; } @@ -126,7 +140,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onabort(String onabort) { - attrs.put("onabort", onabort); + attr("onabort", onabort); return this; } @@ -136,7 +150,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onblur(String onblur) { - attrs.put("onblur", onblur); + attr("onblur", onblur); return this; } @@ -146,7 +160,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement oncancel(String oncancel) { - attrs.put("oncancel", oncancel); + attr("oncancel", oncancel); return this; } @@ -156,7 +170,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement oncanplay(String oncanplay) { - attrs.put("oncanplay", oncanplay); + attr("oncanplay", oncanplay); return this; } @@ -166,7 +180,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement oncanplaythrough(String oncanplaythrough) { - attrs.put("oncanplaythrough", oncanplaythrough); + attr("oncanplaythrough", oncanplaythrough); return this; } @@ -176,7 +190,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onchange(String onchange) { - attrs.put("onchange", onchange); + attr("onchange", onchange); return this; } @@ -186,7 +200,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onclick(String onclick) { - attrs.put("onclick", onclick); + attr("onclick", onclick); return this; } @@ -196,7 +210,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement oncuechange(String oncuechange) { - attrs.put("oncuechange", oncuechange); + attr("oncuechange", oncuechange); return this; } @@ -206,7 +220,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement ondblclick(String ondblclick) { - attrs.put("ondblclick", ondblclick); + attr("ondblclick", ondblclick); return this; } @@ -216,7 +230,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement ondurationchange(String ondurationchange) { - attrs.put("ondurationchange", ondurationchange); + attr("ondurationchange", ondurationchange); return this; } @@ -226,7 +240,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onemptied(String onemptied) { - attrs.put("onemptied", onemptied); + attr("onemptied", onemptied); return this; } @@ -236,7 +250,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onended(String onended) { - attrs.put("onended", onended); + attr("onended", onended); return this; } @@ -246,7 +260,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onerror(String onerror) { - attrs.put("onerror", onerror); + attr("onerror", onerror); return this; } @@ -256,7 +270,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onfocus(String onfocus) { - attrs.put("onfocus", onfocus); + attr("onfocus", onfocus); return this; } @@ -266,7 +280,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement oninput(String oninput) { - attrs.put("oninput", oninput); + attr("oninput", oninput); return this; } @@ -276,7 +290,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement oninvalid(String oninvalid) { - attrs.put("oninvalid", oninvalid); + attr("oninvalid", oninvalid); return this; } @@ -286,7 +300,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onkeydown(String onkeydown) { - attrs.put("onkeydown", onkeydown); + attr("onkeydown", onkeydown); return this; } @@ -296,7 +310,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onkeypress(String onkeypress) { - attrs.put("onkeypress", onkeypress); + attr("onkeypress", onkeypress); return this; } @@ -306,7 +320,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onkeyup(String onkeyup) { - attrs.put("onkeyup", onkeyup); + attr("onkeyup", onkeyup); return this; } @@ -316,7 +330,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onload(String onload) { - attrs.put("onload", onload); + attr("onload", onload); return this; } @@ -326,7 +340,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onloadeddata(String onloadeddata) { - attrs.put("onloadeddata", onloadeddata); + attr("onloadeddata", onloadeddata); return this; } @@ -336,7 +350,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onloadedmetadata(String onloadedmetadata) { - attrs.put("onloadedmetadata", onloadedmetadata); + attr("onloadedmetadata", onloadedmetadata); return this; } @@ -346,7 +360,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onloadstart(String onloadstart) { - attrs.put("onloadstart", onloadstart); + attr("onloadstart", onloadstart); return this; } @@ -356,7 +370,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onmousedown(String onmousedown) { - attrs.put("onmousedown", onmousedown); + attr("onmousedown", onmousedown); return this; } @@ -366,7 +380,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onmouseenter(String onmouseenter) { - attrs.put("onmouseenter", onmouseenter); + attr("onmouseenter", onmouseenter); return this; } @@ -376,7 +390,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onmouseleave(String onmouseleave) { - attrs.put("onmouseleave", onmouseleave); + attr("onmouseleave", onmouseleave); return this; } @@ -386,7 +400,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onmousemove(String onmousemove) { - attrs.put("onmousemove", onmousemove); + attr("onmousemove", onmousemove); return this; } @@ -396,7 +410,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onmouseout(String onmouseout) { - attrs.put("onmouseout", onmouseout); + attr("onmouseout", onmouseout); return this; } @@ -406,7 +420,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onmouseover(String onmouseover) { - attrs.put("onmouseover", onmouseover); + attr("onmouseover", onmouseover); return this; } @@ -416,7 +430,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onmouseup(String onmouseup) { - attrs.put("onmouseup", onmouseup); + attr("onmouseup", onmouseup); return this; } @@ -426,7 +440,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onmousewheel(String onmousewheel) { - attrs.put("onmousewheel", onmousewheel); + attr("onmousewheel", onmousewheel); return this; } @@ -436,7 +450,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onpause(String onpause) { - attrs.put("onpause", onpause); + attr("onpause", onpause); return this; } @@ -446,7 +460,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onplay(String onplay) { - attrs.put("onplay", onplay); + attr("onplay", onplay); return this; } @@ -456,7 +470,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onplaying(String onplaying) { - attrs.put("onplaying", onplaying); + attr("onplaying", onplaying); return this; } @@ -466,7 +480,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onprogress(String onprogress) { - attrs.put("onprogress", onprogress); + attr("onprogress", onprogress); return this; } @@ -476,7 +490,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onratechange(String onratechange) { - attrs.put("onratechange", onratechange); + attr("onratechange", onratechange); return this; } @@ -486,7 +500,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onreset(String onreset) { - attrs.put("onreset", onreset); + attr("onreset", onreset); return this; } @@ -496,7 +510,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onresize(String onresize) { - attrs.put("onresize", onresize); + attr("onresize", onresize); return this; } @@ -506,7 +520,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onscroll(String onscroll) { - attrs.put("onscroll", onscroll); + attr("onscroll", onscroll); return this; } @@ -516,7 +530,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onseeked(String onseeked) { - attrs.put("onseeked", onseeked); + attr("onseeked", onseeked); return this; } @@ -526,7 +540,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onseeking(String onseeking) { - attrs.put("onseeking", onseeking); + attr("onseeking", onseeking); return this; } @@ -536,7 +550,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onselect(String onselect) { - attrs.put("onselect", onselect); + attr("onselect", onselect); return this; } @@ -546,7 +560,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onshow(String onshow) { - attrs.put("onshow", onshow); + attr("onshow", onshow); return this; } @@ -556,7 +570,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onstalled(String onstalled) { - attrs.put("onstalled", onstalled); + attr("onstalled", onstalled); return this; } @@ -566,7 +580,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onsubmit(String onsubmit) { - attrs.put("onsubmit", onsubmit); + attr("onsubmit", onsubmit); return this; } @@ -576,7 +590,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onsuspend(String onsuspend) { - attrs.put("onsuspend", onsuspend); + attr("onsuspend", onsuspend); return this; } @@ -586,7 +600,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement ontimeupdate(String ontimeupdate) { - attrs.put("ontimeupdate", ontimeupdate); + attr("ontimeupdate", ontimeupdate); return this; } @@ -596,7 +610,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement ontoggle(String ontoggle) { - attrs.put("ontoggle", ontoggle); + attr("ontoggle", ontoggle); return this; } @@ -606,7 +620,7 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onvolumechange(String onvolumechange) { - attrs.put("onvolumechange", onvolumechange); + attr("onvolumechange", onvolumechange); return this; } @@ -616,17 +630,18 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public final HtmlElement onwaiting(String onwaiting) { - attrs.put("onwaiting", onwaiting); + attr("onwaiting", onwaiting); return this; } /** * <a class='doclink' href='https://www.w3.org/TR/html5/editing.html#attr-spellcheck'>spellcheck</a> attribute. * @param spellcheck - The new value for this attribute. + * Typically a {@link Boolean} or {@link String}. * @return This object (for method chaining). */ - public final HtmlElement spellcheck(String spellcheck) { - attrs.put("spellcheck", spellcheck); + public final HtmlElement spellcheck(Object spellcheck) { + attr("spellcheck", spellcheck); return this; } @@ -635,18 +650,19 @@ public abstract class HtmlElement { * @param style - The new value for this attribute. * @return This object (for method chaining). */ - public final HtmlElement style(String style) { - attrs.put("style", style); + public HtmlElement style(String style) { + attr("style", style); return this; } /** * <a class='doclink' href='https://www.w3.org/TR/html5/editing.html#attr-tabindex'>tabindex</a> attribute. * @param tabindex - The new value for this attribute. + * Typically a {@link Number} or {@link String}. * @return This object (for method chaining). */ - public final HtmlElement tabindex(String tabindex) { - attrs.put("tabindex", tabindex); + public final HtmlElement tabindex(Object tabindex) { + attr("tabindex", tabindex); return this; } @@ -656,17 +672,18 @@ public abstract class HtmlElement { * @return This object (for method chaining). */ public HtmlElement title(String title) { - attrs.put("title", title); + attr("title", title); return this; } /** * <a class='doclink' href='https://www.w3.org/TR/html5/dom.html#attr-translate'>translate</a> attribute. * @param translate - The new value for this attribute. + * Typically a {@link Number} or {@link String}. * @return This object (for method chaining). */ - public final HtmlElement translate(String translate) { - attrs.put("translate", translate); + public final HtmlElement translate(Object translate) { + attr("translate", translate); return this; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java index 6847303..11dd1a4 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java @@ -24,7 +24,7 @@ import org.apache.juneau.xml.annotation.*; */ public class HtmlElementContainer extends HtmlElement { - final List<Object> children = new LinkedList<Object>(); + private LinkedList<Object> children; /** * The children of this element. @@ -32,9 +32,20 @@ public class HtmlElementContainer extends HtmlElement { */ @Xml(format=ELEMENTS) @BeanProperty(beanDictionary=HtmlBeanDictionary.class) - public List<Object> getChildren() { + public LinkedList<Object> getChildren() { return children; } + + /** + * Sets the children for this container. + * @param children The new children for this container. + * @return This object (for method chaining). + */ + public HtmlElementContainer setChildren(LinkedList<Object> children) { + this.children = children; + return this; + } + /** * Adds one or more child elements to this element. * @param children The children to add as child elements. @@ -42,8 +53,12 @@ public class HtmlElementContainer extends HtmlElement { */ @SuppressWarnings("hiding") public HtmlElement children(Object...children) { - for (Object c : children) - this.children.add(c); + if (children.length > 0) { + if (this.children == null) + this.children = new LinkedList<Object>(); + for (Object c : children) + this.children.add(c); + } return this; } @@ -53,6 +68,8 @@ public class HtmlElementContainer extends HtmlElement { * @return This object (for method chaining). */ public HtmlElement child(Object child) { + if (this.children == null) + this.children = new LinkedList<Object>(); this.children.add(child); return this; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java index 7673385..d1b2b8f 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java @@ -24,7 +24,7 @@ import org.apache.juneau.xml.annotation.*; */ public class HtmlElementMixed extends HtmlElement { - final List<Object> children = new LinkedList<Object>(); + private LinkedList<Object> children; /** * The children of this element. @@ -32,11 +32,22 @@ public class HtmlElementMixed extends HtmlElement { */ @Xml(format=MIXED) @BeanProperty(beanDictionary=HtmlBeanDictionary.class) - public List<Object> getChildren() { + public LinkedList<Object> getChildren() { return children; } /** + * Sets the children of this element. + * + * @param children The new children of this element. + * @return This object (for method chaining). + */ + public HtmlElement setChildren(LinkedList<Object> children) { + this.children = children; + return this; + } + + /** * Adds one or more child elements to this element. * @param children The children to add as child elements. * Can be a mixture of strings and {@link HtmlElement} objects. @@ -44,8 +55,12 @@ public class HtmlElementMixed extends HtmlElement { */ @SuppressWarnings("hiding") public HtmlElement children(Object...children) { - for (Object c : children) - this.children.add(c); + if (children.length != 0) { + if (this.children == null) + this.children = new LinkedList<Object>(); + for (Object c : children) + this.children.add(c); + } return this; } @@ -56,6 +71,8 @@ public class HtmlElementMixed extends HtmlElement { * @return This object (for method chaining). */ public HtmlElement child(Object child) { + if (this.children == null) + this.children = new LinkedList<Object>(); this.children.add(child); return this; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java index 7c675c1..1be7d22 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java @@ -27,12 +27,23 @@ public class HtmlElementText extends HtmlElement { * * @return The inner text of this element, or <jk>null</jk> if no text is set. */ - @Xml(format=XmlFormat.MIXED) + @Xml(format=XmlFormat.TEXT) public Object getText() { return text; } /** + * Sets the innter text of this element. + * + * @param text The inner text of this element, or <jk>null</jk> if no text is set. + * @return This object (for method chaining). + */ + public HtmlElement setText(Object text) { + this.text = text; + return this; + } + + /** * Sets the text node on this element. * * @param text - The text node to add to this element. http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/21c0e1ea/juneau-core/src/main/java/org/apache/juneau/dto/html5/I.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/I.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/I.java index 9641447..edeb856 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/I.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/I.java @@ -19,7 +19,6 @@ import org.apache.juneau.annotation.*; * <p> */ @Bean(typeName="i") -@SuppressWarnings("hiding") public class I extends HtmlElementMixed { //-------------------------------------------------------------------------------- @@ -46,7 +45,7 @@ public class I extends HtmlElementMixed { @Override /* HtmlElementMixed */ public I child(Object child) { - this.children.add(child); + super.child(child); return this; } }
