68
|
1 package fschmidt.html;
|
|
2
|
|
3
|
|
4 public final class HtmlNode extends HtmlTag {
|
|
5 public final Html children;
|
|
6
|
|
7 public HtmlNode(HtmlTag tag,Html children) {
|
|
8 super(tag);
|
|
9 if( tag.isEmpty() )
|
|
10 throw new RuntimeException();
|
|
11 this.children = children;
|
|
12 }
|
|
13
|
|
14 @Override public String toString() {
|
|
15 return super.toString() + children + "</" + getName() + ">";
|
|
16 }
|
|
17
|
|
18 @Override public boolean equals(Object obj) {
|
|
19 if( !super.equals(obj) )
|
|
20 return false;
|
|
21 if( !(obj instanceof HtmlNode) )
|
|
22 return false;
|
|
23 HtmlNode node = (HtmlNode)obj;
|
|
24 return children.equals(node.children);
|
|
25 }
|
|
26
|
|
27 void flattenTo(Html html) {
|
|
28 html.add( new HtmlTag(this) );
|
|
29 children.flattenTo(html);
|
|
30 html.add( new HtmlTag( "/" + getName() ) );
|
|
31 }
|
|
32 }
|