package moulder.values;
import moulder.Value;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Node;
import java.util.ArrayList;
import java.util.List;
/**
* A value that parses a supplied html string
*
* @author jawher
*/
public class HtmlValue implements Value<Iterable<Node>> {
private Value<String> html;
public HtmlValue(String html) {
this(new SimpleValue<String>(html));
}
public HtmlValue(Value<String> html) {
super();
this.html = html;
}
public Iterable<Node> get() {
List<Node> nodes = Jsoup.parseBodyFragment(html.get()).body()
.childNodes();
List<Node> copy = new ArrayList<Node>(nodes);
return copy;
}
}