package net.oschina.app.bean;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import net.oschina.app.AppException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import android.util.Xml;
/**
* 欢迎界面实体类
* @author 火蚁 (http://my.oschina.net/LittleDY)
* @version 1.0
* @created 2014-02-24
*/
@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 + "]";
}
}