/**
  * Outputs the object as plain text.
  * @param EXCEPTION_SIGNATURE $obj
  * @access private
  * @abstract
  */
 protected function _display_as_plain_text($obj)
 {
     $page_name = $obj->page_name;
     $dynamic_class_name = $obj->dynamic_class_name;
     $class_name = $obj->class_name;
     $application_description = $obj->application_description;
     $routine_name = $obj->routine_name;
     $error_message = $obj->message;
     $browser = $this->env->browser();
     echo $this->par($error_message);
     echo $this->sep();
     $table = new TEXT_TABLE_RENDERER($this);
     $table->add_item('Page', $page_name);
     if ($application_description) {
         $table->add_item('Application', $application_description);
     }
     if ($routine_name) {
         if ($dynamic_class_name) {
             if ($dynamic_class_name != $class_name) {
                 $table->add_item('Class', "{$dynamic_class_name} ({$class_name})");
             } else {
                 $table->add_item('Class', $class_name);
             }
         } else {
             $table->add_item('Class', $class_name);
         }
         if ($class_name == $routine_name) {
             $table->add_item('Routine', '<constructor>');
         } else {
             $table->add_item('Routine', $routine_name);
         }
     } else {
         $table->add_item('Scope', 'global');
     }
     $table->add_separator();
     $table->add_item('Server', $this->env->server_info());
     $table->add_item('Library', 'WebCore ' . $this->env->version);
     /** @var $options EXCEPTION_RENDERER_OPTIONS */
     $options = $this->_options;
     if ($options->include_browser_info) {
         $table->add_separator();
         $table->add_item('Browser', $browser->description_as_plain_text());
         $table->add_item('OS', $browser->system_id());
         $table->add_item('User agent', $browser->user_agent_string);
     }
     $table->display();
     echo $this->line();
     if ($options->include_page_data) {
         $this->_show_array_as_text('Post', $obj->variables_for(Var_type_post));
         $this->_show_array_as_text('URL', $obj->variables_for(Var_type_get));
         $this->_show_array_as_text('Cookie', $obj->variables_for(Var_type_cookie));
         $this->_show_array_as_text('Uploads', $obj->variables_for(Var_type_upload));
     }
 }