Mercurial Hosting > nabble
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) + ; + } +*/ +}