view 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 source

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)
		;
	}
*/
}