Packages

c

io.github.vigoo.prox.Process

ProcessImplOE

case class ProcessImplOE[F[_], O, E](command: String, arguments: List[String], workingDirectory: Option[Path], environmentVariables: Map[String, String], removedEnvironmentVariables: Set[String], outputRedirection: OutputRedirection[F], runOutputStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[O], errorRedirection: OutputRedirection[F], runErrorStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[E], inputRedirection: InputRedirection[F])(implicit concurrent: Concurrent[F]) extends Process[F, O, E] with RedirectableInput[F, ProcessImplIOE[F, O, E]] with Product with Serializable

Process with bound output and error streams

Linear Supertypes
Serializable, Product, Equals, RedirectableInput[F, ProcessImplIOE[F, O, E]], Process[F, O, E], ProcessConfiguration[F], ProcessLikeConfiguration[F], ProcessLike[F], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProcessImplOE
  2. Serializable
  3. Product
  4. Equals
  5. RedirectableInput
  6. Process
  7. ProcessConfiguration
  8. ProcessLikeConfiguration
  9. ProcessLike
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ProcessImplOE(command: String, arguments: List[String], workingDirectory: Option[Path], environmentVariables: Map[String, String], removedEnvironmentVariables: Set[String], outputRedirection: OutputRedirection[F], runOutputStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[O], errorRedirection: OutputRedirection[F], runErrorStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[E], inputRedirection: InputRedirection[F])(implicit concurrent: Concurrent[F])

Type Members

  1. type Self = ProcessImplOE[F, O, E]

Value Members

  1. def !<(stream: Stream[F, Byte]): ProcessImplIOE[F, O, E]

    Feed the process input from a byte stream with flushing per chunks enabled.

    Feed the process input from a byte stream with flushing per chunks enabled.

    An alias for fromStream.

    stream

    Input stream

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    RedirectableInput
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  3. final def ##: Int
    Definition Classes
    AnyRef → Any
  4. def <(stream: Stream[F, Byte]): ProcessImplIOE[F, O, E]

    Feed the process input from a byte stream.

    Feed the process input from a byte stream.

    An alias for fromStream.

    stream

    Input stream

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    RedirectableInput
  5. def <(path: Path): ProcessImplIOE[F, O, E]

    Feed the process input from a file natively.

    Feed the process input from a file natively.

    An alias for fromFile.

    path

    Path to the file

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    RedirectableInput
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. def applyConfiguration(workingDirectory: Option[Path], environmentVariables: Map[String, String], removedEnvironmentVariables: Set[String]): Self
    Attributes
    protected
    Definition Classes
    ProcessConfigurationProcessLikeConfiguration
  8. val arguments: List[String]
    Definition Classes
    ProcessImplOEProcess
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  11. val command: String
    Definition Classes
    ProcessImplOEProcess
  12. implicit val concurrent: Concurrent[F]
    Definition Classes
    ProcessImplOEProcess
  13. def connectInput(source: InputRedirection[F]): ProcessImplIOE[F, O, E]

    The low level method to attach an input to a process or process group.

    The low level method to attach an input to a process or process group.

    Use the other methods in this trait for convenience.

    source

    Redirection source

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    ProcessImplOERedirectableInput
  14. val environmentVariables: Map[String, String]
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. val errorRedirection: OutputRedirection[F]
    Definition Classes
    ProcessImplOEProcess
  17. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  18. def fromFile(path: Path): ProcessImplIOE[F, O, E]

    Feed the process input from a file natively.

    Feed the process input from a file natively.

    An alias for <.

    path

    Path to the file

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    RedirectableInput
  19. def fromStream(stream: Stream[F, Byte], flushChunks: Boolean): ProcessImplIOE[F, O, E]

    Feed the process input from a byte stream.

    Feed the process input from a byte stream.

    An alias for < and !<.

    stream

    Input stream

    flushChunks

    Flush the process input stream after each chunk

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    RedirectableInput
  20. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  21. def in(workingDirectory: Path): Self

    Changes the working directory of the process

    Changes the working directory of the process

    workingDirectory

    the working directory

    returns

    a new process with the working directory set

    Definition Classes
    ProcessLikeConfiguration
  22. def inInheritedWorkingDirectory(): Self

    Use the inherited working directory of the process instead of an explicit one

    Use the inherited working directory of the process instead of an explicit one

    returns

    a new process with the working directory cleared

    Definition Classes
    ProcessLikeConfiguration
  23. val inputRedirection: InputRedirection[F]
    Definition Classes
    ProcessImplOEProcess
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. val outputRedirection: OutputRedirection[F]
    Definition Classes
    ProcessImplOEProcess
  29. def productElementNames: Iterator[String]
    Definition Classes
    Product
  30. val removedEnvironmentVariables: Set[String]
  31. def run(blocker: Blocker)(implicit runner: ProcessRunner[F]): F[ProcessResult[O, E]]

    Starts the process asynchronously and blocks the execution until it is finished

    Starts the process asynchronously and blocks the execution until it is finished

    blocker

    Execution context for blocking operations

    runner

    The process runner to be used

    returns

    the result of the finished process

    Definition Classes
    Process
  32. val runErrorStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[E]
    Definition Classes
    ProcessImplOEProcess
  33. val runOutputStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[O]
    Definition Classes
    ProcessImplOEProcess
  34. def selfCopy(command: String, arguments: List[String], workingDirectory: Option[Path], environmentVariables: Map[String, String], removedEnvironmentVariables: Set[String]): ProcessImplOE[F, O, E]
    Attributes
    protected
    Definition Classes
    ProcessImplOEProcessConfiguration
  35. def start(blocker: Blocker)(implicit runner: ProcessRunner[F]): Resource[F, Fiber[F, ProcessResult[O, E]]]

    Starts the process asynchronously and returns a closeable fiber representing it

    Starts the process asynchronously and returns a closeable fiber representing it

    Joining the fiber waits for the process to be terminated. Canceling the fiber terminates the process normally (with SIGTERM).

    blocker

    Execution context for blocking operations

    runner

    The process runner to be used

    returns

    a managed fiber representing the running process

    Definition Classes
    Process
  36. def startProcess(blocker: Blocker)(implicit runner: ProcessRunner[F]): F[RunningProcess[F, O, E]]

    Starts the process asynchronously and returns the RunningProcess interface for it

    Starts the process asynchronously and returns the RunningProcess interface for it

    This is the most advanced way to start processes. See start and run as alternatives.

    blocker

    Execution context for blocking operations

    runner

    The process runner to be used

    returns

    interface for handling the running process

    Definition Classes
    Process
  37. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  40. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  41. def with(nameValuePair: (String, String)): Self

    Adds an environment variable to the process

    Adds an environment variable to the process

    nameValuePair

    A pair of name and value

    returns

    a new process with the working directory set

    Definition Classes
    ProcessLikeConfiguration
  42. def withArguments(newArguments: List[String]): Self

    Replaces the arguments

    Replaces the arguments

    newArguments

    new list of arguments

    returns

    returns a new process specification

    Definition Classes
    ProcessConfiguration
  43. def withCommand(newCommand: String): Self

    Replaces the command

    Replaces the command

    newCommand

    new value for the command to be executed

    returns

    returns a new process specification

    Definition Classes
    ProcessConfiguration
  44. def without(name: String): Self

    Removes an environment variable from the process

    Removes an environment variable from the process

    Usable to remove variables inherited from the parent process.

    name

    Name of the environment variable

    returns

    a new process with the working directory set

    Definition Classes
    ProcessLikeConfiguration
  45. val workingDirectory: Option[Path]

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from RedirectableInput[F, ProcessImplIOE[F, O, E]]

Inherited from Process[F, O, E]

Inherited from ProcessConfiguration[F]

Inherited from ProcessLikeConfiguration[F]

Inherited from ProcessLike[F]

Inherited from AnyRef

Inherited from Any

Ungrouped