package com.github.tibolte.agendacalendarview.models; import com.github.tibolte.agendacalendarview.CalendarManager; import com.github.tibolte.agendacalendarview.utils.DateHelper; import java.util.Calendar; import java.util.Date; /** * Day model class. */ public class DayItem implements IDayItem { private Date mDate; private int mValue; private int mDayOfTheWeek; private boolean mToday; private boolean mFirstDayOfTheMonth; private boolean mSelected; private String mMonth; // region Constructor public DayItem(Date date, int value, boolean today, String month) { this.mDate = date; this.mValue = value; this.mToday = today; this.mMonth = month; } // only for cleanDay public DayItem() { } public DayItem(DayItem original) { this.mDate = original.getDate(); this.mValue = original.getValue(); this.mToday = original.isToday(); this.mDayOfTheWeek = original.getDayOftheWeek(); this.mFirstDayOfTheMonth = original.isFirstDayOfTheMonth(); this.mSelected = original.isSelected(); this.mMonth = original.getMonth(); } // endregion // region Getters/Setters public Date getDate() { return mDate; } public void setDate(Date date) { this.mDate = date; } public int getValue() { return mValue; } public void setValue(int value) { this.mValue = value; } public boolean isToday() { return mToday; } public void setToday(boolean today) { this.mToday = today; } public boolean isSelected() { return mSelected; } public void setSelected(boolean selected) { this.mSelected = selected; } public boolean isFirstDayOfTheMonth() { return mFirstDayOfTheMonth; } public void setFirstDayOfTheMonth(boolean firstDayOfTheMonth) { this.mFirstDayOfTheMonth = firstDayOfTheMonth; } public String getMonth() { return mMonth; } public void setMonth(String month) { this.mMonth = month; } public int getDayOftheWeek() { return mDayOfTheWeek; } public void setDayOftheWeek(int mDayOftheWeek) { this.mDayOfTheWeek = mDayOftheWeek; } // region Public methods public void buildDayItemFromCal(Calendar calendar) { Date date = calendar.getTime(); this.mDate = date; this.mValue = calendar.get(Calendar.DAY_OF_MONTH); this.mToday = DateHelper.sameDate(calendar, CalendarManager.getInstance().getToday()); this.mMonth = CalendarManager.getInstance().getMonthHalfNameFormat().format(date); if (this.mValue == 1) { this.mFirstDayOfTheMonth = true; } } // endregion @Override public String toString() { return "DayItem{" + "Date='" + mDate.toString() + ", value=" + mValue + '}'; } @Override public IDayItem copy() { return new DayItem(this); } // endregion }