26 lines
1.0 KiB
Java
26 lines
1.0 KiB
Java
package com.github.dtschust.zork.parser.builders;
|
|
|
|
import com.github.dtschust.zork.ZorkCondition;
|
|
import com.github.dtschust.zork.ZorkConditionHas;
|
|
import com.github.dtschust.zork.ZorkConditionStatus;
|
|
import com.github.dtschust.zork.parser.DOMUtils;
|
|
import org.w3c.dom.Element;
|
|
|
|
public class ZorkConditionParseStrategy implements ZorkParseStrategy<ZorkCondition> {
|
|
@Override
|
|
public ZorkCondition parse(final Element conditionElement) {
|
|
if (conditionElement.getElementsByTagName("has").getLength() > 0) {
|
|
return new ZorkConditionHas(
|
|
DOMUtils.getInnerTextByTagName(conditionElement, "has"),
|
|
DOMUtils.getInnerTextByTagName(conditionElement, "object"),
|
|
DOMUtils.getInnerTextByTagName(conditionElement, "owner")
|
|
);
|
|
} else {
|
|
return new ZorkConditionStatus(
|
|
DOMUtils.getInnerTextByTagName(conditionElement, "status"),
|
|
DOMUtils.getInnerTextByTagName(conditionElement, "object")
|
|
);
|
|
}
|
|
}
|
|
}
|