package com.marvinlabs.widget.floatinglabel.instantpicker; import android.os.Parcel; import android.os.Parcelable; import java.util.Calendar; import java.util.GregorianCalendar; /** * Represents a date in the gregorian calendar, with month index starting at 0 (January) and ending * at 11 (December) * <p/> * Created by Vincent Mimoun-Prat @ MarvinLabs, 01/09/2014. */ public class JavaDateInstant implements DateInstant { int year; int monthOfYear; // 0 based index unlike Calendar constants int dayOfMonth; // ============================================================================================= // Lifecycle // == public JavaDateInstant() { this(new GregorianCalendar()); } public JavaDateInstant(Calendar cal) { this(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH)-1, cal.get(Calendar.DAY_OF_MONTH)); } public JavaDateInstant(int year, int monthOfYear, int dayOfMonth) { this.year = year; this.monthOfYear = monthOfYear; this.dayOfMonth = dayOfMonth; } // ============================================================================================= // Parcelable implementation // == @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(this.year); dest.writeInt(this.monthOfYear); dest.writeInt(this.dayOfMonth); } private JavaDateInstant(Parcel in) { this.year = in.readInt(); this.monthOfYear = in.readInt(); this.dayOfMonth = in.readInt(); } public static final Parcelable.Creator<JavaDateInstant> CREATOR = new Parcelable.Creator<JavaDateInstant>() { public JavaDateInstant createFromParcel(Parcel source) { return new JavaDateInstant(source); } public JavaDateInstant[] newArray(int size) { return new JavaDateInstant[size]; } }; // ============================================================================================= // Other methods // == @Override public int getYear() { return year; } @Override public void setYear(int year) { this.year = year; } @Override public int getMonthOfYear() { return monthOfYear; } @Override public void setMonthOfYear(int monthOfYear) { this.monthOfYear = monthOfYear; } @Override public int getDayOfMonth() { return dayOfMonth; } @Override public void setDayOfMonth(int dayOfMonth) { this.dayOfMonth = dayOfMonth; } }