Package gov.usgs.util

Class TimeoutProcessBuilder

java.lang.Object
gov.usgs.util.TimeoutProcessBuilder

public class TimeoutProcessBuilder extends Object
The TimeoutProcessBuilder wraps a ProcessBuilder, adding support for a command time out. This class does not support a full command String complete with arguments. You can use the StringUtils.split method to get around this.
See Also:
  • Constructor Details

    • TimeoutProcessBuilder

      public TimeoutProcessBuilder(long timeout, String... command)
      Create a new TimeoutProcessBuilder with a timeout and an array of strings.
      Parameters:
      timeout - timeout in milliseconds for process, or <= 0 for no timeout.
      command - array of strings that represent command. The first element must be the full path to the executable, without arguments.
    • TimeoutProcessBuilder

      public TimeoutProcessBuilder(long timeout, List<String> command)
      Create a new TimeoutProcessBuilder with a timeout and an array of strings.
      Parameters:
      timeout - timeout in milliseconds for process, or <= 0 for no timeout.
      command - list of strings that represent command.
    • TimeoutProcessBuilder

      @Deprecated public TimeoutProcessBuilder(List<String> command, long timeout)
      Deprecated.
      This signature is preserved, but calls the alternate constructor with argument order swapped.
      Parameters:
      command - list of strings that represent command.
      timeout - timeout in milliseconds for process, or <= 0 for no timeout.
  • Method Details

    • command

      public List<String> command()
      Returns:
      list of builder commands
    • command

      public TimeoutProcessBuilder command(List<String> command)
      Parameters:
      command - give builder a list of commands
      Returns:
      TimeoutProcessBuilder
    • command

      public TimeoutProcessBuilder command(String command)
      Parameters:
      command - give builder a single command
      Returns:
      TimeoutProcessBuilder
    • directory

      public File directory()
      Returns:
      builder directory
    • directory

      public TimeoutProcessBuilder directory(File directory)
      Parameters:
      directory - to set
      Returns:
      TimeoutProcessBuilder
    • environment

      public Map<String,String> environment()
      Returns:
      builder environment
    • redirectErrorStream

      public boolean redirectErrorStream()
      Returns:
      boolean redirectErrorStream
    • redirectErrorStream

      public TimeoutProcessBuilder redirectErrorStream(boolean redirectErrorStream)
      Parameters:
      redirectErrorStream - to set
      Returns:
      TimeoutProcessBuilder
    • start

      public TimeoutProcess start() throws IOException
      Returns:
      a TimeoutProcess
      Throws:
      IOException - if IO error occurs
    • getTimeout

      public long getTimeout()
      Returns:
      timeout
    • setTimeout

      public void setTimeout(long timeout)
      Parameters:
      timeout - to set