Interface FileContentCallback

All Known Implementing Classes:
AbstractFileContentCallback

public interface FileContentCallback
A callback for the contents of a file

Note: Implementors are strongly encouraged to extend from AbstractFileContentCallback. This interface will change, over time, and any class implementing it directly will be broken by such changes. Extending from the abstract class will help prevent such breakages.

See Also:
  • Method Details

    • offerBlame

      void offerBlame(@Nonnull Page<Blame> blames) throws IOException
      If annotations were requested and at least one line was streamed, this method will be called before onEnd(FileSummary) to provide blame for the streamed lines.
      Parameters:
      blames - blame for the streamed lines
      Throws:
      IOException - may be thrown by implementations which perform I/O.
      Since:
      5.0
    • onBinary

      void onBinary() throws IOException
      Called once if the file is binary. None of the other methods will be called.
      Throws:
      IOException - if the callback fails
    • onEnd

      void onEnd(@Nonnull FileSummary summary) throws IOException
      Called after the final line, and blame if requested, has been streamed.

      Note: If there were no lines, this method may be called immediately after onStart(FileContext) without any calls to onLine(int, String, boolean).

      Parameters:
      summary - summarizes the file request and the streamed lines
      Throws:
      IOException - may be thrown by implementations which perform I/O.
    • onLine

      boolean onLine(int lineNumber, String line, boolean truncated) throws IOException
      Called once for each line in the file. onStart(FileContext) is called before any invocation of this method. onEnd(FileSummary) is called after all invocations of this method.
      Parameters:
      lineNumber - the line number of the line in the file
      line - a truncated line of code. The line character limit can be set at a system level via a system property
      truncated - where the received line was truncated
      Returns:
      true if additional lines should be provided; otherwise, false if sufficient lines have been processed
      Throws:
      IOException - if the callback fails
    • onStart

      void onStart(@Nonnull FileContext context) throws IOException
      Called before the first onLine(int, String, boolean).
      Parameters:
      context - provides details about the file request for which lines are being streamed
      Throws:
      IOException - may be thrown by implementations which perform I/O.