package br.com.dgimenes.nasapic.model;
import android.os.Parcel;
import android.os.Parcelable;
import java.util.Date;
import br.com.dgimenes.nasapic.model.api.ApodDTO;
public class APOD implements Parcelable {
private String url;
private String explanation;
private String title;
private Date date;
public APOD(ApodDTO apodDTO, Date date) {
this.url = apodDTO.getUrl();
this.explanation = apodDTO.getExplanation();
this.title = apodDTO.getTitle();
this.date = date;
}
public APOD() {}
protected APOD(Parcel in) {
url = in.readString();
explanation = in.readString();
title = in.readString();
date = new Date(in.readLong());
}
public static final Creator<APOD> CREATOR = new Creator<APOD>() {
@Override
public APOD createFromParcel(Parcel in) {
return new APOD(in);
}
@Override
public APOD[] newArray(int size) {
return new APOD[size];
}
};
public String getUrl() {
return url;
}
public String getExplanation() {
return explanation;
}
public String getTitle() {
return title;
}
public Date getDate() {
return date;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(url);
dest.writeString(explanation);
dest.writeString(title);
dest.writeLong(date.getTime());
}
public static class Builder {
private final APOD instance;
public Builder() {
instance = new APOD();
}
public Builder url(String url) {
instance.url = url;
return this;
}
public Builder explanation(String explanation) {
instance.explanation = explanation;
return this;
}
public Builder title(String title) {
instance.title = title;
return this;
}
public Builder date(Date date) {
instance.date = date;
return this;
}
public APOD build() {
return instance;
}
}
}