package com.noprom.app.bean;
import android.util.Xml;
import com.noprom.app.AppException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
/**
* 欢迎界面实体类
*
* @author noprom (http://github.com/noprom)
* @version 1.0
* Created by noprom on 2015/3/5.
*/
@SuppressWarnings("serial")
public class WellcomeImage implements Serializable {
public final static String UTF8 = "UTF-8";
public final static String NODE_ROOT = "oschina";
private boolean update;
private String startDate;
private String endDate;
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
private String downloadUrl;
public boolean isUpdate() {
return update;
}
public void setUpdate(boolean update) {
this.update = update;
}
public String getDownloadUrl() {
return downloadUrl;
}
public void setDownloadUrl(String downloadUrl) {
this.downloadUrl = downloadUrl;
}
public static WellcomeImage parse(InputStream inputStream) throws IOException, AppException {
WellcomeImage update = null;
XmlPullParser xmlParser = Xml.newPullParser();
try {
xmlParser.setInput(inputStream, UTF8);
int evtType = xmlParser.getEventType();
while (evtType != XmlPullParser.END_DOCUMENT) {
String tag = xmlParser.getName();
switch (evtType) {
case XmlPullParser.START_TAG:
if (tag.equalsIgnoreCase("android")) {
update = new WellcomeImage();
} else if (update != null) {
if (tag.equalsIgnoreCase("coverUpdate")) {
update.setUpdate(Boolean.parseBoolean(xmlParser.nextText()));
} else if (tag.equalsIgnoreCase("coverStartDate")) {
update.setStartDate(xmlParser.nextText());
} else if (tag.equalsIgnoreCase("coverEndDate")) {
update.setEndDate(xmlParser.nextText());
} else if (tag.equalsIgnoreCase("coverURL")) {
update.setDownloadUrl(xmlParser.nextText());
}
}
break;
case XmlPullParser.END_TAG:
break;
}
evtType = xmlParser.next();
}
} catch (XmlPullParserException e) {
throw AppException.xml(e);
} finally {
inputStream.close();
}
return update;
}
@Override
public String toString() {
return "WellcomeImage [update=" + update + ", startDate=" + startDate
+ ", endDate=" + endDate + ", downloadUrl=" + downloadUrl + "]";
}
}