Class LocalFileResult

java.lang.Object
com.inet.taskplanner.server.api.result.LocalFileResult
All Implemented Interfaces:
FileResult, Result

public class LocalFileResult extends Object implements FileResult
A result that is based on a file.
Since:
taskplanner 3.0
  • Constructor Details

    • LocalFileResult

      public LocalFileResult(@Nonnull File file, boolean deleteOnCleanUp)
      Creates a new instance.
      Parameters:
      file - the underlying file. Cannot be a directory.
      deleteOnCleanUp - if true, the file will be deleted after processing all results (even if this result was not used)
      Throws:
      IllegalArgumentException - if the given file is a directory
      NullPointerException - if file is null
      Since:
      taskplanner 3.0
  • Method Details

    • getFlavors

      public @Nonnull List<ResultFlavor> getFlavors()
      Defines the types of data this result contains.
      Specified by:
      getFlavors in interface FileResult
      Specified by:
      getFlavors in interface Result
      Returns:
      the ResultFlavor values of this result
    • getFileName

      public @Nonnull String getFileName()
      Returns a human-readable name of this result, typically a file name.

      It depends on the Result-implementation and on the ResultAction whether and where this appears. For example, in an email, this can be used as the name of an attached file.

      Specified by:
      getFileName in interface FileResult
      Returns:
      a name for this result.
    • getFileSize

      public long getFileSize()
      Returns the size of this result in bytes.
      Specified by:
      getFileSize in interface FileResult
      Returns:
      the size in bytes
    • getFileContent

      public @Nonnull InputStream getFileContent() throws IOException
      Get a stream to access the data of this result.

      Note that this method is called multiple times when more than one action processes this result. Those calls come one after another: the first action has finished its work (and closed the stream) before the second calls this method.

      The caller will close the Stream.

      Specified by:
      getFileContent in interface FileResult
      Returns:
      an input stream that can transfer the data of this result
      Throws:
      IOException
    • cleanup

      public void cleanup()
      When result handling is finished, this method is called to release resources held by the result.

      This is also called if no appropriate ResultAction handled this result.

      Specified by:
      cleanup in interface Result
    • getFileContentType

      public String getFileContentType() throws IOException
      Get the MIME type this result has.
      Specified by:
      getFileContentType in interface FileResult
      Returns:
      the content type of this result. When null, 'application/octet-stream' is to be used.
      Throws:
      IOException