/** * Check in an attendee to their appropriate party based on the party leader which is simply * either the team lead or manager. */ private void checkIn(AbstractWorker attendee, AbstractWorker partyLeader) { System.out.printf("%s %s", driver.getTime().toString(), attendee.checkInToConfRoom()); Party party = getParty(partyLeader); if (party == null) { if (partyLeader.equals(attendee) && (partyLeader instanceof Employee)) { // only party leader can create party party = this.new Party(partyLeader, this); reservationList.add(party); } else if ((partyLeader instanceof Manager)) { party = this.new Party(partyLeader, this); reservationList.add(party); } } party.addAttendee(attendee); }
/** Called when the party that previously occupied the Conference Room leaves. */ private void partyLeavesRoom(Party party) { System.out.printf( "%s Meeting led by %s is now over. Conference room is free. %n", driver.getTime(), party.getPartyLeader().getName()); }
/** Called when the party that gets a lock to the room occupies the room for their meeting. */ private void partyEntersRoom(Party party) { System.out.printf( "%s Meeting led by %s is now starting. Conference room is taken. %n", driver.getTime(), party.getPartyLeader().getName()); }
/** * Allows an Employee to see if they can check-in to the Proj Mgr Meeting. An Employee can check * into the Proj Mgr if: - The time is 4:00-4:15 PM. Requiring Employee ensures a Manager never * calls this method. */ public boolean canCheckInToProjMngrMtg(AbstractWorker attendee) { // TODO use SimulationTime compare To method Calendar startTime = Calendar.getInstance(); startTime.set(0, 0, 0, 4 + 12, 0, 0); return driver.getTime().eventDue(startTime); }