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 { @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") ); } } }