Class FilterCommand

java.lang.Object
org.eclipse.jgit.attributes.FilterCommand
Direct Known Subclasses:
CleanFilter, SmudgeFilter

public abstract class FilterCommand extends Object
An abstraction for JGit's builtin implementations for hooks and filters. Instead of spawning an external processes to start a filter/hook and to pump data from/to stdin/stdout these builtin commmands may be used. They are constructed by FilterCommandFactory.
Since:
4.6
  • Field Details

  • Constructor Details

    • FilterCommand

      public FilterCommand(InputStream in, OutputStream out)
      Constructor for FilterCommand

      FilterCommand implementors are required to manage the in and out streams (close on success and/or exception).

      Parameters:
      in - The InputStream this command should read from
      out - The OutputStream this command should write to
  • Method Details

    • run

      public abstract int run() throws IOException
      Execute the command. The command is supposed to read data from in and to write the result to out. It returns the number of bytes it read from in. It should be called in a loop until it returns -1 signaling that the InputStream is completely processed.

      On successful completion (return -1) or on Exception, the streams in and out are closed by the implementation.

      Returns:
      the number of bytes read from the InputStream or -1. -1 means that the InputStream is completely processed.
      Throws:
      IOException - when IOException occurred while reading from in or writing to out