Class ReportSession
java.lang.Object
com.github._1c_syntax.bsl.languageserver.reporters.ReportSession
- All Implemented Interfaces:
AutoCloseable
Формирование отчётов активными репортёрами от начала анализа до его завершения.
Результаты передаются по одному через accept(FileInfo) и раздаются всем репортёрам.
Запись выполняется в отдельном потоке: вызывающий не ждёт ввода-вывода, а FileInfo
освобождается сразу после того, как его записали все репортёры.
Отчёты считаются полными только после commit(). Закрытие без фиксации — как и сбой
записи — прерывает отчёты: недописанные файлы не остаются на диске.
-
Method Summary
-
Method Details
-
accept
Передать результаты анализа файла всем репортёрам.Возврат из метода не означает, что данные записаны: вызов лишь ставит запись в очередь и не ждёт ни её выполнения, ни ввода-вывода.
- Parameters:
fileInfo- результаты анализа одного файла
-
commit
public void commit()Пометить анализ успешно завершённым. Без этого отчёты будут прерваны при закрытии. -
close
public void close()Дождаться записи всех переданных результатов и завершить отчёты.- Specified by:
closein interfaceAutoCloseable- Throws:
RuntimeException- если запись или завершение отчёта не удались
-