class interface UT_ERROR_HANDLER

creation
   make_standard
      --  Create a new error handler using the standard
      --  error file for error and warning reporting
      --  and the standard output file for messages.

      ensure
         error_file_set: error_file = std.error;
         warning_file_set: warning_file = std.error;
         message_file_set: message_file = std.output

   make_null
      --  Create a new error handler ignoring
      --  all errors, warnings and messages.

      ensure
         error_file_set: error_file = Void;
         warning_file_set: warning_file = Void;
         message_file_set: message_file = Void

feature(s) from KL_IMPORTED_OUTPUT_STREAM_ROUTINES
   --  Access

   OUTPUT_STREAM_: KL_OUTPUT_STREAM_ROUTINES
      --  Routines that ought to be in class OUTPUT_STREAM

      ensure
         output_stream_routines_not_void: Result /= Void

feature(s) from KL_IMPORTED_OUTPUT_STREAM_ROUTINES
   --  Type anchors

   OUTPUT_STREAM_TYPE: OUTPUT_STREAM

feature(s) from KL_SHARED_STANDARD_FILES
   --  Access

   std: KL_STANDARD_FILES
      --  Standard files

      ensure
         std_not_void: Result /= Void

feature(s) from UT_ERROR_HANDLER
   --  Reporting

   report_error (an_error: UT_ERROR)
      --  Report an_error.

      require
         an_error_not_void: an_error /= Void

   report_warning (a_warning: UT_ERROR)
      --  Report a_warning.

      require
         a_warning_not_void: a_warning /= Void

   report_message (a_message: UT_ERROR)
      --  Report a_message.

      require
         a_message_not_void: a_message /= Void

feature(s) from UT_ERROR_HANDLER
   --  Access

   error_file: like OUTPUT_STREAM_TYPE
      --  File where errors are logged


   warning_file: like OUTPUT_STREAM_TYPE
      --  File where warnings are logged


   message_file: like OUTPUT_STREAM_TYPE
      --  File where messages are logged


feature(s) from UT_ERROR_HANDLER
   --  Setting

   set_error_file (a_file: like error_file)
      --  Set error_file to a_file.

      ensure
         error_file_set: error_file = a_file

   set_warning_file (a_file: like error_file)
      --  Set warning_file to a_file.

      ensure
         warning_file_set: warning_file = a_file

   set_message_file (a_file: like message_file)
      --  Set message_file to a_file.

      ensure
         message_file_set: message_file = a_file


end of UT_ERROR_HANDLER