indexing
	description: "Facility routines to check the validity of DATE_TIMEs"
	status: "See note at end of class"
	date: "$Date$"
	revision: "$Revision$"

class interface
	DATE_TIME_VALIDITY_CHECKER

feature -- Preconditions

	date_time_valid (s: STRING; code_string: STRING): BOOLEAN
			-- Is the code_string enough precise
			-- To create an instance of type DATE_TIME
			-- And does the string s correspond to code_string?
		require
			s_exists: s /= void
			code_exists: code_string /= void

	date_time_valid_with_base (s: STRING; code_string: STRING; base: INTEGER): BOOLEAN
			-- Is the code_string enough precise
			-- To create an instance of type DATE_TIME
			-- And does the string s correspond to code_string?
			-- Use base century base.
		require
			s_exists: s /= void
			code_exists: code_string /= void
			base_valid: base > 0 and (base \\ 100 = 0)

	is_correct_date_time (y, mo, d, h, mi: INTEGER; s: DOUBLE; twelve_hour_scale: BOOLEAN): BOOLEAN
			-- Is date-time specified by y, mo, d, h, mi, s
			-- correct?
			-- twelve_hour_scale specifies if the hour range is 1 - 12
			-- (if True) or 0 - 23 (if False).
	
invariant

		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)

end -- class DATE_TIME_VALIDITY_CHECKER