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.CraftInfoEntity;
import com.banking.xc.entity.CraftInfosResponse;
import com.banking.xc.utils.xml.frame.XmlParseHandler;
import com.banking.xc.utils.xml.frame.XmlParseListener;
public class FlightCraftInfoResponseXmlParseHandler extends XmlParseHandler{
private CraftInfosResponse craftInfosResponse;
private ArrayList<CraftInfoEntity> craftInfoEntityList;
private CraftInfoEntity craftInfoEntity;
private String preTag;
public FlightCraftInfoResponseXmlParseHandler(XmlParseListener xmlParseListener, InputStream inputStream) {
super(xmlParseListener, inputStream);
}
@Override
public void cancelParse() {
}
@Override
public void destroy() {
craftInfosResponse = null;
}
@Override
public Object getObjectWhenEnd() {
return craftInfosResponse;
}
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
super.startElement(uri, localName, qName, attributes);
if(TextUtils.equals("GetCraftInfosResponse", localName)){
craftInfosResponse = new CraftInfosResponse();
}
if(TextUtils.equals("CraftInfosList", localName)){
craftInfoEntityList = new ArrayList<CraftInfoEntity>();
}
if(TextUtils.equals("CraftInfoEntity", localName)){
craftInfoEntity = new CraftInfoEntity();
}
preTag = localName;
}
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
super.endElement(uri, localName, qName);
if(TextUtils.equals("CraftInfosList", localName)){
craftInfosResponse.setCraftInfoEntityList(craftInfoEntityList);
craftInfoEntityList = null;
}
if(TextUtils.equals("CraftInfoEntity", localName)){
craftInfoEntityList.add(craftInfoEntity);
craftInfoEntity = 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")){
craftInfosResponse.setRecordCount(data);
return;
}
if(TextUtils.equals(preTag, "CraftType")){
craftInfoEntity.setCraftType(data);
return;
}
if(TextUtils.equals(preTag, "CTName")){
craftInfoEntity.setCTName(data);
return;
}
if(TextUtils.equals(preTag, "WidthLevel")){
craftInfoEntity.setWidthLevel(data);
return;
}
if(TextUtils.equals(preTag, "MinSeats")){
craftInfoEntity.setMinSeats(data);
return;
}
if(TextUtils.equals(preTag, "MaxSeats")){
craftInfoEntity.setMaxSeats(data);
return;
}
if(TextUtils.equals(preTag, "Note")){
craftInfoEntity.setNote(data);
return;
}
if(TextUtils.equals(preTag, "Crafttype_ename")){
craftInfoEntity.setCrafttypeEname(data);
return;
}
if(TextUtils.equals(preTag, "CraftKind")){
craftInfoEntity.setCraftKind(data);
return;
}
}
}