/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package cafetest; /** * * @author jcmtiernan */ public class PDay { private int day; private int year; private int month; private String monthName; private DayOfWeek dayOfWeek; public PDay(int day, int year, int month, int weekDay) { this.setDay(day); this.setYear(year); this.setMonth(month); this.setDayOfWeek(weekDay); } public PDay() { this.setDay(23); this.setYear(2014); this.setMonth(9); this.setDayOfWeek(2); } public int getDay() { return day; } public void setDay(int day) { this.day = day; } public int getYear() { return year; } public boolean setYear(int year) { // the cafe only exists after Jan 1, 2000 and until Dec 31, 2020 if ((year >= 2000) && (year <= 2020)) { this.year = year; return true; } else { // possible error handling // assign a default value this.year = 2014; // assume current date is default return false; // or print error message to user // or throw an exception } } public int getMonth() { return month; } public boolean setMonth(int month) { if ((1 <= month) &&(month <= 12)) { this.month = month; this.setMonthName(); return true; } else { this.month = 9; this.setMonthName(); return false; } } public String getMonthName() { return monthName; } public void setMonthName() { switch (getMonth()) { case 1 : monthName = new String("January"); break; case 2 : monthName = new String("February"); break; case 3 : monthName = new String("March"); break; case 4 : monthName = new String("April"); break; case 5 : monthName = new String("May"); break; case 6 : monthName = new String("June"); break; case 7 : monthName = new String("July"); break; case 8 : monthName = new String("August"); break; case 9 : monthName = new String("September"); break; case 10 : monthName = new String("October"); break; case 11 : monthName = new String("November"); break; case 12 : monthName = new String("December"); break; } return; } public DayOfWeek getDayOfWeek() { return dayOfWeek; } public boolean setDayOfWeek(int weekDay) { switch (weekDay) { case 1: dayOfWeek = DayOfWeek.MONDAY; break; case 2: dayOfWeek = DayOfWeek.TUESDAY; break; case 3: dayOfWeek = DayOfWeek.WEDNESDAY; break; case 4: dayOfWeek = DayOfWeek.THURSDAY; break; case 5: dayOfWeek = DayOfWeek.FRIDAY; break; case 6: dayOfWeek = DayOfWeek.SATURDAY; break; case 7: dayOfWeek = DayOfWeek.SUNDAY; break; default : dayOfWeek = DayOfWeek.TUESDAY; return false; } return true; } public String toFullString() { return String.format(dayOfWeek + ", " + monthName + " " +day + ", "+ year); } public String toString() { return String.format(month + "/" + day + "/" + year); } }