package denominator.route53; import org.xml.sax.helpers.DefaultHandler; import denominator.route53.Route53.NameAndCount; import feign.sax.SAXDecoder.ContentHandlerWithResult; /** * See <a href= "http://docs.aws.amazon.com/Route53/latest/APIReference/API_GetHostedZone.html" * >docs</a> */ class GetHostedZoneResponseHandler extends DefaultHandler implements ContentHandlerWithResult<NameAndCount> { private final StringBuilder currentText = new StringBuilder(); private NameAndCount zone = new NameAndCount(); @Override public NameAndCount result() { return zone; } @Override public void endElement(String uri, String name, String qName) { if (qName.equals("Name")) { zone.name = currentText.toString().trim(); } else if (qName.equals("ResourceRecordSetCount")) { zone.resourceRecordSetCount = Integer.parseInt(currentText.toString().trim()); } currentText.setLength(0); } @Override public void characters(char ch[], int start, int length) { currentText.append(ch, start, length); } }