package br.com.dgimenes.nasapic.model; import android.os.Parcel; import android.os.Parcelable; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import br.com.dgimenes.nasapic.model.api.SpacePicDTO; public class SpacePic implements Parcelable { private String hdImageUrl; private String previewImageUrl; private Date originallyPublishedAt; private String description; private String title; private Date publishedAt; private String source; public SpacePic(String hdImageUrl, String previewImageUrl, Date originallyPublishedAt, String description, String title, Date publishedAt, String source) { this.hdImageUrl = hdImageUrl; this.previewImageUrl = previewImageUrl; this.originallyPublishedAt = originallyPublishedAt; this.description = description; this.title = title; this.publishedAt = publishedAt; this.source = source; } public SpacePic(SpacePicDTO dto) { this.hdImageUrl = dto.getHdImageUrl(); this.previewImageUrl = dto.getPreviewImageUrl(); this.originallyPublishedAt = dto.getOriginallyPublishedAt(); this.description = dto.getDescription(); this.title = dto.getTitle(); this.publishedAt = dto.getPublishedAt(); this.source = dto.getSource(); } public SpacePic() {} private static final java.lang.String DATEFORMAT = "yyyy-MM-dd"; protected SpacePic(Parcel in) { this.hdImageUrl = in.readString(); this.previewImageUrl = in.readString(); try { SimpleDateFormat dateFormat = new SimpleDateFormat(DATEFORMAT); this.originallyPublishedAt = dateFormat.parse(in.readString()); this.publishedAt = dateFormat.parse(in.readString()); } catch (ParseException e) { e.printStackTrace(); } this.description = in.readString(); this.title = in.readString(); this.source = in.readString(); } public static final Parcelable.Creator<SpacePic> CREATOR = new Parcelable.Creator<SpacePic>() { @Override public SpacePic createFromParcel(Parcel in) { return new SpacePic(in); } @Override public SpacePic[] newArray(int size) { return new SpacePic[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { SimpleDateFormat dateFormat = new SimpleDateFormat(DATEFORMAT); dest.writeString(this.hdImageUrl); dest.writeString(this.previewImageUrl); dest.writeString(dateFormat.format(this.originallyPublishedAt)); dest.writeString(dateFormat.format(this.publishedAt)); dest.writeString(this.description); dest.writeString(this.title); dest.writeString(this.source); } public String getHdImageUrl() { return hdImageUrl; } public void setHdImageUrl(String hdImageUrl) { this.hdImageUrl = hdImageUrl; } public String getPreviewImageUrl() { return previewImageUrl; } public void setPreviewImageUrl(String previewImageUrl) { this.previewImageUrl = previewImageUrl; } public Date getOriginallyPublishedAt() { return originallyPublishedAt; } public void setOriginallyPublishedAt(Date originallyPublishedAt) { this.originallyPublishedAt = originallyPublishedAt; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public Date getPublishedAt() { return publishedAt; } public void setPublishedAt(Date publishedAt) { this.publishedAt = publishedAt; } public String getSource() { return source; } public void setSource(String source) { this.source = source; } public static String getDATEFORMAT() { return DATEFORMAT; } public static Creator<SpacePic> getCREATOR() { return CREATOR; } }