From 006176ad56c5402325d6718fa79deeabf0d2b956 Mon Sep 17 00:00:00 2001 From: "nikolce.mihajlovski" Date: Fri, 7 Aug 2015 16:25:04 +0200 Subject: [PATCH] Added multi-element group for correct rendering of group of HTML elements. --- .../java/org/rapidoid/html/ElementGroup.java | 42 +++++++++++++++++++ .../src/main/java/org/rapidoid/html/HTML.java | 4 ++ 2 files changed, 46 insertions(+) create mode 100644 rapidoid-html/src/main/java/org/rapidoid/html/ElementGroup.java diff --git a/rapidoid-html/src/main/java/org/rapidoid/html/ElementGroup.java b/rapidoid-html/src/main/java/org/rapidoid/html/ElementGroup.java new file mode 100644 index 0000000000..0beeff5126 --- /dev/null +++ b/rapidoid-html/src/main/java/org/rapidoid/html/ElementGroup.java @@ -0,0 +1,42 @@ +package org.rapidoid.html; + +/* + * #%L + * rapidoid-html + * %% + * Copyright (C) 2014 - 2015 Nikolche Mihajlovski and contributors + * %% + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * #L% + */ + +import org.rapidoid.annotation.Authors; +import org.rapidoid.annotation.Since; +import org.rapidoid.html.impl.TagRenderer; + +@Authors("Nikolche Mihajlovski") +@Since("4.1.0") +public class ElementGroup { + + private final Object[] elements; + + public ElementGroup(Object[] elements) { + this.elements = elements; + } + + @Override + public String toString() { + return TagRenderer.get().toHTML(elements, null); + } + +} diff --git a/rapidoid-html/src/main/java/org/rapidoid/html/HTML.java b/rapidoid-html/src/main/java/org/rapidoid/html/HTML.java index a37416ea55..2b00c7a79b 100644 --- a/rapidoid-html/src/main/java/org/rapidoid/html/HTML.java +++ b/rapidoid-html/src/main/java/org/rapidoid/html/HTML.java @@ -68,6 +68,10 @@ public static Tag hardcoded(String content) { return new ConstantTag(content); } + public static Object multi(Object... elements) { + return new ElementGroup(elements); + } + public static ATag a_void(Object... contents) { return a(contents).href("javascript:void(0);"); }