processChildren method
Iterable<NodeData>
processChildren(
- Status status,
- NodeControl control,
- FlowMessage message
override
Implementation
@override
Iterable<NodeData> processChildren(Status status, NodeControl control, FlowMessage message) sync* {
bool candidate = true, checkCandi = message.data == false;
if (checkCandi) {
xml.XmlElement element = node as xml.XmlElement;
xml.XmlAttribute? fnode = element.getAttributeNode("candidate");
candidate = true;
if (fnode != null) {
var res = status.execute(fnode.value);
if (res is String) candidate = res == "true";
else if (res is bool) candidate = res;
}
if (candidate) {
FlowMessage message = FlowMessage();
for (var child in children) {
yield* child.generate(status, control, message);
}
}
}
message.set(_ifFlowType, candidate || !checkCandi);
}