Packages

trait Prox extends ProxRuntime with CommonModule with ProcessModule with ProcessGroupModule with RedirectionModule with ProcessRunnerModule with SyntaxModule

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Prox
  2. SyntaxModule
  3. ProcessRunnerModule
  4. RedirectionModule
  5. ProcessGroupModule
  6. ProcessModule
  7. CommonModule
  8. ProxRuntime
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. trait ProcessLikeConfiguration extends AnyRef
    Definition Classes
    CommonModule
  2. trait ProcessGroup[O, E] extends ProcessLike with Prox.ProcessGroupConfiguration[O, E]

    Process group is two or more processes attached to each other

    Process group is two or more processes attached to each other

    This implements a pipeline of processes. The input of the first process and the output of the last process is redirectable with the RedirectableInput and RedirectableOutput traits. The processes are attached to each other's input/output streams, the pipe between them is customizable.

    The error streams are also redirectable with the RedirectableErrors trait.

    O

    Output type

    E

    Error output type

    Definition Classes
    ProcessGroupModule
  3. trait ProcessGroupConfiguration[O, E] extends Prox.ProcessLikeConfiguration
    Definition Classes
    ProcessGroupModule
  4. trait ProcessGroupResult[+O, +E] extends AnyRef

    Result of an executed process group

    Result of an executed process group

    O

    Output type

    E

    Error output type

    Definition Classes
    ProcessGroupModule
  5. trait RunningProcessGroup[O, E, +Info] extends AnyRef

    Representation of a running process group

    Representation of a running process group

    O

    Output type

    E

    Error output type

    Info

    Runner-specific per-process information type

    Definition Classes
    ProcessGroupModule
  6. case class SimpleProcessGroupResult[+O, +E](exitCodes: Map[Prox.Process[Unit, Unit], Prox.ProxExitCode], output: O, errors: Map[Prox.Process[Unit, Unit], E]) extends Prox.ProcessGroupResult[O, E] with Product with Serializable

    Default implementation of ProcessGroupResult

    Default implementation of ProcessGroupResult

    Definition Classes
    ProcessGroupModule
  7. trait Process[O, E] extends ProcessLike with Prox.ProcessConfiguration

    Describes a system process to be executed

    Describes a system process to be executed

    This base trait is always extended with redirection and configuration capabilities represented by the traits ProcessConfiguration, RedirectableInput, RedirectableOutput and RedirectableError.

    To create a process use the constructor in the companion object Process.apply.

    The process specification not only encodes the process to be started but also how its input, output and error streams are redirected and executed. For this reason the effect type is also bound by the process, not just at execution time.

    O

    Output type

    E

    Error output type

    Definition Classes
    ProcessModule
  8. trait ProcessConfiguration extends Prox.ProcessLikeConfiguration

    The capability to configure process execution details

    The capability to configure process execution details

    Definition Classes
    ProcessModule
  9. trait ProcessResult[+O, +E] extends AnyRef

    Result of a finished process

    Result of a finished process

    O

    Output type

    E

    Error output type

    Definition Classes
    ProcessModule
  10. trait RunningProcess[O, E, +Info] extends AnyRef

    Representation of a running process

    Representation of a running process

    O

    Output type

    E

    Error output type

    Info

    Runner-specific process information

    Definition Classes
    ProcessModule
  11. case class SimpleProcessResult[+O, +E](exitCode: Prox.ProxExitCode, output: O, error: E) extends Prox.ProcessResult[O, E] with Product with Serializable

    Default implementation of ProcessResult

    Default implementation of ProcessResult

    Definition Classes
    ProcessModule
  12. class JVMProcessInfo extends AnyRef
    Definition Classes
    ProcessRunnerModule
  13. class JVMProcessRunner extends Prox.JVMProcessRunnerBase[Prox.JVMProcessInfo]
    Definition Classes
    ProcessRunnerModule
  14. abstract class JVMProcessRunnerBase[Info <: Prox.JVMProcessInfo] extends Prox.ProcessRunner[Info]

    Default implementation of ProcessRunner using the Java process API

    Default implementation of ProcessRunner using the Java process API

    Definition Classes
    ProcessRunnerModule
  15. class JVMRunningProcess[O, E, +Info <: Prox.JVMProcessInfo] extends Prox.RunningProcess[O, E, Info]

    Default implementation of RunningProcess using the Java process API

    Default implementation of RunningProcess using the Java process API

    Definition Classes
    ProcessRunnerModule
  16. class JVMRunningProcessGroup[O, E, +Info <: Prox.JVMProcessInfo] extends Prox.RunningProcessGroup[O, E, Info]

    Default implementation of RunningProcessGroup using the Java process API

    Default implementation of RunningProcessGroup using the Java process API

    Definition Classes
    ProcessRunnerModule
  17. trait ProcessRunner[Info] extends AnyRef

    Interface for running processes and process groups

    Interface for running processes and process groups

    The default implementation is JVMProcessRunner

    Info

    The type of information provided for a started process

    Definition Classes
    ProcessRunnerModule
  18. abstract type ProxExitCode
    Definition Classes
    ProxRuntime
  19. abstract type ProxFiber[_]
    Definition Classes
    ProxRuntime
  20. abstract type ProxIO[_]
    Definition Classes
    ProxRuntime
  21. abstract type ProxMonoid[_]
    Definition Classes
    ProxRuntime
  22. abstract type ProxPipe[_, _]
    Definition Classes
    ProxRuntime
  23. abstract type ProxResource[_]
    Definition Classes
    ProxRuntime
  24. abstract type ProxSink[_]
    Definition Classes
    ProxRuntime
  25. abstract type ProxStream[_]
    Definition Classes
    ProxRuntime
  26. implicit class FiberOps[A] extends AnyRef
    Attributes
    protected
    Definition Classes
    ProxRuntime
  27. implicit class IOOps[A] extends AnyRef
    Attributes
    protected
    Definition Classes
    ProxRuntime
  28. implicit class ListProxErrorOps extends AnyRef
    Attributes
    protected
    Definition Classes
    ProxRuntime
  29. implicit class MonoidStreamOps[A] extends AnyRef
    Attributes
    protected
    Definition Classes
    ProxRuntime
  30. implicit class ResourceOps[A] extends AnyRef
    Attributes
    protected
    Definition Classes
    ProxRuntime
  31. implicit class StreamOps[A] extends AnyRef
    Attributes
    protected
    Definition Classes
    ProxRuntime
  32. case class AllCapturedThroughPipe[O, OR](pipeFn: (Prox.Process[_, _]) => Prox.ProxPipe[Byte, O], runner: (Prox.ProxStream[O]) => Prox.ProxIO[OR], chunkSize: Int = 8192) extends Prox.GroupErrorRedirection with Product with Serializable
    Definition Classes
    RedirectionModule
  33. case class AllCapturedToSink(sinkFn: (Prox.Process[_, _]) => Prox.ProxSink[Byte], chunkSize: Int = 8192) extends Prox.GroupErrorRedirection with Product with Serializable
    Definition Classes
    RedirectionModule
  34. case class AllToFile(pathFn: (Prox.Process[_, _]) => Path, append: Boolean) extends Prox.GroupErrorRedirection with Product with Serializable
    Definition Classes
    RedirectionModule
  35. case class AllToStdErr() extends Prox.GroupErrorRedirection with Product with Serializable
    Definition Classes
    RedirectionModule
  36. sealed trait GroupErrorRedirection extends AnyRef

    Supported process group error redirection types.

    Supported process group error redirection types. Should not be used directly, see the redirection traits instead.

    Definition Classes
    RedirectionModule
  37. trait GroupErrorRedirectionType[R] extends AnyRef

    Helper type class for process group error redirection dependent typing

    Helper type class for process group error redirection dependent typing

    Definition Classes
    RedirectionModule
  38. case class InputFile(path: Path) extends Prox.InputRedirection with Product with Serializable
    Definition Classes
    RedirectionModule
  39. sealed trait InputRedirection extends AnyRef

    Supported input redirection types.

    Supported input redirection types. Should not be used directly, see the redirection traits instead.

    Definition Classes
    RedirectionModule
  40. case class InputStream(stream: Prox.ProxStream[Byte], flushChunks: Boolean) extends Prox.InputRedirection with Product with Serializable
    Definition Classes
    RedirectionModule
  41. case class OutputFile(path: Path, append: Boolean) extends Prox.OutputRedirection with Product with Serializable
    Definition Classes
    RedirectionModule
  42. sealed trait OutputRedirection extends AnyRef

    Supported output redirection types.

    Supported output redirection types. Should not be used directly, see the redirection traits instead.

    Definition Classes
    RedirectionModule
  43. trait OutputRedirectionType[R] extends AnyRef

    Helper type class for output and error redirection dependent typing

    Helper type class for output and error redirection dependent typing

    Definition Classes
    RedirectionModule
  44. case class OutputStreamThroughPipe[O, OR](pipe: Prox.ProxPipe[Byte, O], runner: (Prox.ProxStream[O]) => Prox.ProxIO[OR], chunkSize: Int = 8192) extends Prox.OutputRedirection with Product with Serializable
    Definition Classes
    RedirectionModule
  45. case class OutputStreamToSink(sink: Prox.ProxSink[Byte], chunkSize: Int = 8192) extends Prox.OutputRedirection with Product with Serializable
    Definition Classes
    RedirectionModule
  46. trait RedirectableError[+P[_] <: Prox.Process[_, _]] extends AnyRef

    The capability to redirect the error output of a process

    The capability to redirect the error output of a process

    P

    Self type without the RedirectableError capability

    Definition Classes
    RedirectionModule
  47. trait RedirectableErrors[+P[_] <: Prox.ProcessGroup[_, _]] extends AnyRef

    The capability to redirect all the error outputs simultaneously of a process group

    The capability to redirect all the error outputs simultaneously of a process group

    P

    Self type without the RedirectableErrors capability

    Definition Classes
    RedirectionModule
  48. trait RedirectableInput[+P <: ProcessLike] extends AnyRef

    The capability to redirect the input of a process or process group

    The capability to redirect the input of a process or process group

    Definition Classes
    RedirectionModule
  49. trait RedirectableOutput[+P[_] <: ProcessLike] extends AnyRef

    The capability to redirect the output of a process or a process group

    The capability to redirect the output of a process or a process group

    P

    Self type without the RedirectableOutput capability

    Definition Classes
    RedirectionModule
  50. case class StdIn() extends Prox.InputRedirection with Product with Serializable
    Definition Classes
    RedirectionModule
  51. case class StdOut() extends Prox.OutputRedirection with Product with Serializable
    Definition Classes
    RedirectionModule
  52. trait PipeBuilder[P] extends AnyRef
    Definition Classes
    SyntaxModule
  53. class PipeBuilderSyntax[P] extends AnyRef
    Definition Classes
    SyntaxModule
  54. implicit class ProcessPiping extends AnyRef

    Extension methods for unbound processes enabling the creation of process groups

    Extension methods for unbound processes enabling the creation of process groups

    Definition Classes
    SyntaxModule
  55. implicit class ProcessStringContextIO extends AnyRef

    String interpolator for an alternative of Process.apply

    String interpolator for an alternative of Process.apply

    val process = proc"ls -hal $dir"
    Definition Classes
    SyntaxModule

Abstract Value Members

  1. abstract def blockingEffect[A](f: => A, wrapError: (Throwable) => ProxError): ProxIO[A]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  2. abstract def bracket[A, B](acquire: ProxIO[A])(use: (A) => ProxIO[B])(fin: (A, IOResult) => ProxIO[Unit]): ProxIO[B]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  3. abstract def cancelFiber[A](f: ProxFiber[A]): ProxIO[Unit]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  4. abstract def drainStream[A](s: ProxStream[A]): ProxIO[Unit]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  5. abstract def drainToJavaOutputStream(stream: ProxStream[Byte], output: OutputStream, flushChunks: Boolean): ProxIO[Unit]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  6. abstract def effect[A](f: => A, wrapError: (Throwable) => ProxError): ProxIO[A]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  7. abstract def exitCodeFromInt(value: Int): ProxExitCode
    Attributes
    protected
    Definition Classes
    ProxRuntime
  8. abstract def foldMonoidStream[A](s: ProxStream[A])(implicit arg0: ProxMonoid[A]): ProxIO[A]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  9. abstract def foldStream[A, B](s: ProxStream[A], init: B, f: (B, A) => B): ProxIO[B]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  10. abstract def fromJavaInputStream(input: java.io.InputStream, chunkSize: Int): ProxStream[Byte]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  11. abstract def identityPipe[A]: ProxPipe[A, A]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  12. abstract def ioFlatMap[A, B](io: ProxIO[A], f: (A) => ProxIO[B]): ProxIO[B]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  13. abstract def ioMap[A, B](io: ProxIO[A], f: (A) => B): ProxIO[B]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  14. abstract def joinFiber[A](f: ProxFiber[A]): ProxIO[A]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  15. abstract def makeResource[A](acquire: ProxIO[A], release: (A) => ProxIO[Unit]): ProxResource[A]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  16. abstract def pure[A](value: A): ProxIO[A]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  17. abstract def raiseError(error: ProxError): ProxIO[Unit]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  18. abstract def runStreamTo[A](s: ProxStream[A], sink: ProxSink[A]): ProxIO[Unit]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  19. abstract def startFiber[A](f: ProxIO[A]): ProxIO[ProxFiber[A]]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  20. abstract def streamThrough[A, B](s: ProxStream[A], pipe: ProxPipe[A, B]): ProxStream[B]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  21. abstract def streamToVector[A](s: ProxStream[A]): ProxIO[Vector[A]]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  22. abstract def traverse[A, B](list: List[A])(f: (A) => ProxIO[B]): ProxIO[List[B]]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  23. abstract def unit: ProxIO[Unit]
    Attributes
    protected
    Definition Classes
    ProxRuntime
  24. abstract def useResource[A, B](r: ProxResource[A], f: (A) => ProxIO[B]): ProxIO[B]
    Attributes
    protected
    Definition Classes
    ProxRuntime

Concrete Value Members

  1. object ProcessGroup
    Definition Classes
    ProcessGroupModule
  2. object Process
    Definition Classes
    ProcessModule
  3. object JVMProcessRunnerBase
    Definition Classes
    ProcessRunnerModule
  4. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def ##: Int
    Definition Classes
    AnyRef → Any
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @jdk.internal.HotSpotIntrinsicCandidate() @native()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @jdk.internal.HotSpotIntrinsicCandidate() @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @jdk.internal.HotSpotIntrinsicCandidate() @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @jdk.internal.HotSpotIntrinsicCandidate() @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @jdk.internal.HotSpotIntrinsicCandidate() @native()
  17. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  22. object GroupErrorRedirectionType
    Definition Classes
    RedirectionModule
  23. object OutputRedirectionType
    Definition Classes
    RedirectionModule
  24. object RedirectableErrors
    Definition Classes
    RedirectionModule

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from SyntaxModule

Inherited from ProcessRunnerModule

Inherited from RedirectionModule

Inherited from ProcessGroupModule

Inherited from ProcessModule

Inherited from CommonModule

Inherited from ProxRuntime

Inherited from AnyRef

Inherited from Any

Ungrouped