/*
* Copyright (C) 2011 Mats Hofman <http://matshofman.nl/contact/>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.ijoomer.common.classes;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class RssItem implements Comparable<RssItem>, Parcelable {
private RssFeed feed;
private String title;
private String link;
private Date pubDate;
private String description;
private String content;
private String thumbnail;
public RssItem() {
}
public String getThumbnail() {
return thumbnail;
}
public void setThumbnail(String thumbnail) {
this.thumbnail = thumbnail;
}
public RssItem(Parcel source) {
Bundle data = source.readBundle();
title = data.getString("title");
link = data.getString("link");
pubDate = (Date) data.getSerializable("pubDate");
description = data.getString("description");
content = data.getString("content");
thumbnail = data.getString("thumbnail");
feed = data.getParcelable("feed");
}
@Override
public void writeToParcel(Parcel dest, int flags) {
Bundle data = new Bundle();
data.putString("title", title);
data.putString("link", link);
data.putSerializable("pubDate", pubDate);
data.putString("description", description);
data.putString("content", content);
data.putParcelable("feed", feed);
data.putString("thumbnail", thumbnail);
dest.writeBundle(data);
}
public static final Creator<RssItem> CREATOR = new Creator<RssItem>() {
public RssItem createFromParcel(Parcel data) {
return new RssItem(data);
}
public RssItem[] newArray(int size) {
return new RssItem[size];
}
};
@Override
public int describeContents() {
return 0;
}
public RssFeed getFeed() {
return feed;
}
public void setFeed(RssFeed feed) {
this.feed = feed;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public Date getPubDate() {
return pubDate;
}
public void setPubDate(Date pubDate) {
this.pubDate = pubDate;
}
public void setPubDate(String pubDate) {
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
this.pubDate = dateFormat.parse(pubDate);
} catch (ParseException e) {
e.printStackTrace();
}
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
@Override
public int compareTo(RssItem another) {
if(getPubDate() != null && another.getPubDate() != null) {
return getPubDate().compareTo(another.getPubDate());
} else {
return 0;
}
}
}