package com.banking.xc.utils.xml.flight;
import java.io.InputStream;
import java.util.ArrayList;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import android.text.TextUtils;
import com.banking.xc.entity.AirlineInfoEntity;
import com.banking.xc.entity.AirlineInfosResponse;
import com.banking.xc.utils.xml.frame.XmlParseHandler;
import com.banking.xc.utils.xml.frame.XmlParseListener;
public class FlightAirLineInfoResponseXmlParseHandler extends XmlParseHandler{
private AirlineInfosResponse AirlineInfosResponse;
private ArrayList<AirlineInfoEntity> AirlineInfoEntityList;
private AirlineInfoEntity AirlineInfoEntity;
private String preTag;
public FlightAirLineInfoResponseXmlParseHandler(XmlParseListener xmlParseListener, InputStream inputStream) {
super(xmlParseListener, inputStream);
}
@Override
public void cancelParse() {
}
@Override
public void destroy() {
AirlineInfosResponse= null;
}
@Override
public Object getObjectWhenEnd() {
return AirlineInfosResponse;
}
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
super.startElement(uri, localName, qName, attributes);
if(TextUtils.equals("GetAirlineInfosResponse", localName)){
AirlineInfosResponse = new AirlineInfosResponse();
}
if(TextUtils.equals("AirlineInfosList", localName)){
AirlineInfoEntityList = new ArrayList<AirlineInfoEntity>();
}
if(TextUtils.equals("AirlineInfoEntity", localName)){
AirlineInfoEntity = new AirlineInfoEntity();
}
preTag = localName;
}
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
super.endElement(uri, localName, qName);
if(TextUtils.equals("AirlineInfosList", localName)){
AirlineInfosResponse.setAirlineInfoEntityList(AirlineInfoEntityList);
AirlineInfoEntityList = null;
}
if(TextUtils.equals("AirlineInfoEntity", localName)){
AirlineInfoEntityList.add(AirlineInfoEntity);
AirlineInfoEntity = null;
}
}
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
super.characters(ch, start, length);
final String data = new String(ch, start, length);
if(TextUtils.equals(preTag, "RecordCount")){
AirlineInfosResponse.setRecordCount(data);
return;
}
if(TextUtils.equals(preTag, "AirLine")){
AirlineInfoEntity.setAirLine(data);
return;
}
if(TextUtils.equals(preTag, "AirLineCode")){
AirlineInfoEntity.setAirLineCode(data);
return;
}
if(TextUtils.equals(preTag, "AirLineName")){
AirlineInfoEntity.setAirLineName(data);
return;
}
if(TextUtils.equals(preTag, "ShortName")){
AirlineInfoEntity.setShortName(data);
return;
}
if(TextUtils.equals(preTag, "GroupId")){
AirlineInfoEntity.setGroupId(data);
return;
}
if(TextUtils.equals(preTag, "GroupName")){
AirlineInfoEntity.setGroupName(data);
return;
}
if(TextUtils.equals(preTag, "StrictType")){
AirlineInfoEntity.setStrictType(data);
return;
}
if(TextUtils.equals(preTag, "AddonPriceProtected")){
AirlineInfoEntity.setAddonPriceProtected(data);
return;
}
if(TextUtils.equals(preTag, "IsSupportAirPlus ")){
AirlineInfoEntity.setIsSupportAirPlus (data);
return;
}
if(TextUtils.equals(preTag, "OnlineCheckinUrl ")){
AirlineInfoEntity.setOnlineCheckinUrl (data);
return;
}
}
}