diff src/nabble/naml/dom/Container.java @ 0:7ecd1a4ef557

add content
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 21 Mar 2019 19:15:52 -0600
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/nabble/naml/dom/Container.java	Thu Mar 21 19:15:52 2019 -0600
@@ -0,0 +1,58 @@
+package nabble.naml.dom;
+
+import java.util.Collection;
+
+
+public final class Container extends Element {
+	private final Naml contents;
+	private final String spaceAtEndOfClosingTag;
+	private final String closingTag;
+
+	public Container(ElementName name,Collection<Attribute> attributes,String spaceAtEndOfOpeningTag,int lineNumber,Naml contents,String spaceAtEndOfClosingTag) {
+		super(name,attributes,spaceAtEndOfOpeningTag,lineNumber);
+		this.contents = contents;
+		this.spaceAtEndOfClosingTag = spaceAtEndOfClosingTag.intern();
+		this.closingTag = ( "</" + name + spaceAtEndOfClosingTag + ">" ).intern();
+	}
+
+	public Naml contents() {
+		return contents;
+	}
+
+	public String spaceAtEndOfClosingTag() {
+		return spaceAtEndOfClosingTag;
+	}
+
+	public String openingTag() {
+		StringBuilder buf = new StringBuilder();
+		addStartTag(buf);
+		buf.append( ">" );
+		return buf.toString();
+	}
+
+	public String closingTag() {
+		return closingTag;
+	}
+
+	public String toString() {
+		StringBuilder buf = new StringBuilder();
+		addStartTag(buf);
+		buf
+			.append( ">" )
+			.append( contents )
+			.append( closingTag )
+		;
+		return buf.toString();
+	}
+/*
+	public boolean equals(Object obj) {
+		if( !(obj instanceof Container) )
+			return false;
+		Container element = (Container)obj;
+		return element.name.equals(name)
+			&& element.attrMap.equals(attrMap)
+			&& element.contents.equals(contents)
+		;
+	}
+*/
+}