(* This is the time object which defines what time is for the scheduler program *)

module Time;
    
    export all;

	object TimePeriod is
		components: dp: DayPattern and h: Hour and m: Minute and s: Second;
 	 	description:(*a time period is a set number of seconds minutes and hoursr*);
	end TimePeriod;

	object DayPattern is
	    components: d: Day*;
	    description: (* Days that a class is on *);
	end DayPattern;

	object Day is
	    components: Sunday or Monday or Tuesday or Wednesday or Thursday or Friday or Saturday;
	    description: (* A day of the week *);
	end Day;
	
	object Hour is
		components: i: integer;
	  	description:(*a time period is an hour*);
	end Hour;
	
	object Minute is
      	components: i: integer;
	      description: (* A minute is an integer*);
	end Minute;

	object Second is
		components: i: integer;
	      description: (* A second is an integer value*);
	end Second;

	object Sunday is
	    description: (* Enumeration for Sunday *);
	end Sunday;

	object Monday is
	    description: (* Enumeration for Monday *);
	end Monday;

	object Tuesday is
	    description: (* Enumeration for Tuesday *);
	end Tuesday;

	object Wednesday is
	    description: (* Enumeration for Wednesday *);
	end Wednesday;

	object Thursday is
	    description: (* Enumeration for Thursday *);
	end Thursday;

	object Friday is
	    description: (* Enumeration for Friday *);
	end Friday;

	object Saturday is
	    description: (* Enumeration for Saturday *);
	end Saturday;


end Time;