Spec-Zone.ru › Scala 2.13 Library

Трейт scala.sys.process.ProcessBuilder

Компаньон объект ProcessBuilder

трейт ProcessBuilder extends Source with Sink

Представляет последовательность одного или нескольких внешних процессов, которые могут быть выполнены. ProcessBuilder может быть единственным внешним процессом или комбинацией других ProcessBuilder. Можно контролировать, куда будет направлен вывод внешнего процесса и откуда будет поступать входной данные, или предоставить это решение тому, кто его запускает.

Создать ProcessBuilder можно через фабрики, предоставленные в scala.sys.process.Process's компаньон-объекте, или неявные преобразования на основе этих фабрик, доступных в пакете scala.sys.process. Вот несколько примеров:

import scala.sys.process._

// Executes "ls" and sends output to stdout
"ls".!

// Execute "ls" and assign a `LazyList[String]` of its output to "contents".
val contents = Process("ls").lazyLines

// Here we use a `Seq` to make the parameter whitespace-safe
def contentsOf(dir: String): String = Seq("ls", dir).!!

Методы ProcessBuilder разделены на три категории: те, которые объединяют два ProcessBuilder для создания третьего, те, которые перенаправляют вход или выход ProcessBuilder, и те, которые выполняют связанные с ним внешние процессы.

Объединение ProcessBuilder

Два существующих ProcessBuilder могут быть объединены следующим образом:

  • Они могут быть выполнены параллельно, при этом вывод первого будет подан на вход второго, подобно конвейеру Unix. Это достигается методом #|.
  • Они могут быть выполнены последовательно, при этом второй процесс начнется сразу после завершения первого. Это делается методом ###.
  • Выполнение второго процесса может быть обусловлено кодом возврата (статусом выхода) первого, либо только когда он равен нулю, либо только когда он не равен нулю. Методы #&& и #|| выполняют эти задачи.

Перенаправление Вход/Выход

Хотя управление входом и выходом можно выполнить при выполнении процесса, есть несколько методов, которые создают новый ProcessBuilder с предварительно настроенным входом или выходом. Это #<, #> и #>>, и они могут принимать на вход другой ProcessBuilder (например, конвейер, описанный выше), или что-то другое, например, java.io.File или java.io.InputStream. Например:

new URL("http://databinder.net/dispatch/About") #> "grep JSON" #>> new File("About_JSON") !

Запуск процессов

Для выполнения всех внешних команд, связанных с ProcessBuilder, можно использовать одну из четырех групп методов. Каждый из этих методов имеет различные перегрузки и вариации, чтобы обеспечить дополнительный контроль над вводом/выводом. Эти методы:

  • run: самый общий метод, он возвращает scala.sys.process.Process немедленно, и внешняя команда выполняется асинхронно.
  • !: блокируется до тех пор, пока все внешние команды не завершатся, и возвращает код выхода последней из цепочки выполнения.
  • !!: блокируется до тех пор, пока все внешние команды не завершатся, и возвращает String с сгенерированным выводом.
  • lazyLines: возвращается немедленно, как run, и генерируемый вывод предоставляется через LazyList[String]. Получение следующего элемента этого LazyList может блокироваться до тех пор, пока он не станет доступным. Этот метод выбросит исключение, если код возврата отличается от нуля — если этого не нужно, используйте метод lazyLines_!.

Обработка ввода и вывода

Если не указано иное, вход внешних команд, выполняемых с помощью run или !, не будет связан ни с чем, а вывод будет перенаправлен в стандартный вывод (stdout) и стандартную ошибку (stderr) процесса Scala. Для методов !! и lazyLines вход не будет предоставлен, а вывод будет направлен в соответствии с семантикой этих методов.

Некоторые методы будут использовать стандартный ввод (stdin) в качестве входных данных. Вывод можно контролировать с помощью scala.sys.process.ProcessLogger — !! и lazyLines будут перенаправлять только вывод ошибок, если передать ProcessLogger. Если требуется полный контроль над вводом и выводом, то можно использовать scala.sys.process.ProcessIO с run.

Например, можно отключить вывод ошибок из lazyLines_! следующим образом:

val etcFiles = "find /etc" lazyLines_! ProcessLogger(line => ())

Расширенный пример

Давайте подробно рассмотрим один пример использования:

import scala.sys.process._
"find src -name *.scala -exec grep null {} ;"  #|  "xargs test -z"  #&&  "echo null-free"  #||  "echo null detected"  !

Обратите внимание, что каждый String неявным образом преобразуется в ProcessBuilder через неявные преобразования, импортированные из scala.sys.process. Эти ProcessBuilder затем объединяются тремя различными способами.

  1. #| перенаправляет вывод первой команды на вход второй команды. Это отражает конвейер оболочки (|).
  2. #&& условно выполняет вторую команду, если предыдущая завершилась с кодом выхода 0. Это отражает условное выполнение оболочки (&&).
  3. #|| условно выполняет третью команду, если код выхода предыдущей команды отличается от нуля. Это отражает условное выполнение оболочки (||).

Наконец, ! в конце выполняет команды и возвращает код выхода. Всё, что будет выведено, будет отправлено в стандартный вывод процесса Scala. Если бы мы хотели это захватить, мы могли бы запустить это с помощью !! вместо этого.

Примечание: хотя это не показано выше, эквивалентом конвейера оболочки было бы ;.

Источник
ProcessBuilder.scala
Линейные надтипы
Sink, Source, AnyRef, Any

Абстрактные члены-значения

абстрактный def !(log: ProcessLogger): Int

Запускает процесс, представленный этим билдером, ожидает его завершения и возвращает код выхода. Стандартный вывод и ошибка отправляются в указанный ProcessLogger.

абстрактный def !: Int

Запускает процесс, представленный этим билдером, ожидает его завершения и возвращает код выхода. Стандартный вывод и ошибка отправляются в консоль.

абстрактный def !!(log: ProcessLogger): String

Запускает процесс, представленный этим билдером, ожидает его завершения и возвращает вывод в виде строки. Стандартная ошибка отправляется в предоставленный ProcessLogger. Если код выхода не равен нулю, выбрасывается исключение.

абстрактный def !!: String

Запускает процесс, представленный этим билдером, ожидает его завершения и возвращает вывод в виде строки. Стандартная ошибка отправляется в консоль. Если код выхода не равен нулю, выбрасывается исключение.

абстрактный def !!<(log: ProcessLogger): String

Запускает процесс, представленный этим билдером, ожидает его завершения и возвращает вывод в виде строки. Стандартная ошибка отправляется в предоставленный ProcessLogger. Если код выхода не равен нулю, выбрасывается исключение. Новый запущенный процесс читает из стандартного ввода текущего процесса.

абстрактный def !!<: String

Запускает процесс, представленный этим билдером, ожидает его завершения и возвращает вывод в виде строки. Стандартная ошибка отправляется в консоль. Если код выхода не равен нулю, выбрасывается исключение. Новый запущенный процесс читает из стандартного ввода текущего процесса.

абстрактный def !<(log: ProcessLogger): Int

Запускает процесс, представленный этим билдером, ожидает его завершения и возвращает код выхода. Стандартный вывод и ошибка отправляются в указанный ProcessLogger. Новый запущенный процесс читает из стандартного ввода текущего процесса.

абстрактный def !<: Int

Запускает процесс, представленный этим билдером, ожидает его завершения и возвращает код выхода. Стандартный вывод и ошибка отправляются в консоль. Новый запущенный процесс читает из стандартного ввода текущего процесса.

абстрактный def ###(other: ProcessBuilder): ProcessBuilder

Создает команду, которая выполнит эту команду, а затем other. Код выхода будет кодом выхода other.

абстрактный def #&&(other: ProcessBuilder): ProcessBuilder

абстрактный def #|(other: ProcessBuilder): ProcessBuilder

Создает команду, которая выполнит эту команду и перенаправит вывод в other. other должна быть простой командой.

абстрактный def #||(other: ProcessBuilder): ProcessBuilder

абстрактный def canPipeTo: Boolean

абстрактный def hasExitValue: Boolean

Истина, если у этой команды есть код выхода, который должен быть передан пользователю. При наличии соединения между A и B, если B.hasExitValue истинно, то код выхода будет кодом выхода B; если ложно, то кодом выхода A. Это необходимо для предотвращения маскировки полезных кодов ошибок процесса при перенаправлении вывода (реализованном как соединение).

абстрактный def lazyLines(log: ProcessLogger, capacity: Integer): LazyList[String]

Запускает процесс, представленный этим билдером. Вывод возвращается как LazyList, который блокируется, когда строки недоступны, но процесс еще не завершен. Производительский процесс будет блокироваться, если указанная емкость строк заполнится без потребления из LazyList. Стандартная ошибка отправляется в предоставленный ProcessLogger. Если процесс завершается с ненулевым значением, LazyList предоставит все строки до завершения, а затем сгенерирует исключение.

абстрактный def lazyLines(log: ProcessLogger): LazyList[String]

Запускает процесс, представленный этим билдером. Результат возвращается как LazyList, который блокируется, когда строки недоступны, но процесс ещё не завершён. Стандартная ошибка отправляется в предоставленный ProcessLogger. Если процесс завершается с ненулевым значением, LazyList предоставит все строки до завершения, а затем сгенерирует исключение.

abstract def lazyLines(capacity: Integer): LazyList[String]

Запускает процесс, представленный этим билдером. Результат возвращается как LazyList, который блокируется, когда строки недоступны, но процесс ещё не завершён. Производящий процесс будет блокироваться, если заданная ёмкость строк заполнится, не будучи потреблённой из LazyList. Стандартная ошибка отправляется в консоль. Если процесс завершается с ненулевым значением, LazyList предоставит все строки до завершения, а затем сгенерирует исключение.

abstract def lazyLines: LazyList[String]

Запускает процесс, представленный этим билдером. Результат возвращается как LazyList, который блокируется, когда строки недоступны, но процесс ещё не завершён. Стандартная ошибка отправляется в консоль. Если процесс завершается с ненулевым значением, LazyList предоставит все строки до завершения, а затем сгенерирует исключение.

abstract def lazyLines_!(log: ProcessLogger, capacity: Integer): LazyList[String]

Запускает процесс, представленный этим билдером. Результат возвращается как LazyList, который блокируется, когда строки недоступны, но процесс ещё не завершён. Производящий процесс будет блокироваться, если заданная ёмкость строк заполнится, не будучи потреблённой из потока. Стандартная ошибка отправляется в предоставленный ProcessLogger. Если процесс завершается с ненулевым значением, LazyList предоставит все строки до завершения, но не сгенерирует исключение.

abstract def lazyLines_!(log: ProcessLogger): LazyList[String]

Запускает процесс, представленный этим билдером. Результат возвращается как LazyList, который блокируется, когда строки недоступны, но процесс ещё не завершён. Стандартная ошибка отправляется в предоставленный ProcessLogger. Если процесс завершается с ненулевым значением, LazyList предоставит все строки до завершения, но не сгенерирует исключение.

abstract def lazyLines_!(capacity: Integer): LazyList[String]

Запускает процесс, представленный этим билдером. Результат возвращается как LazyList, который блокируется, когда строки недоступны, но процесс ещё не завершён. Производящий процесс будет блокироваться, если заданная ёмкость строк заполнится, не будучи потреблённой из потока. Стандартная ошибка отправляется в консоль. Если процесс завершается с ненулевым значением, LazyList предоставит все строки до завершения, но не сгенерирует исключение.

abstract def lazyLines_!: LazyList[String]

Запускает процесс, представленный этим билдером. Результат возвращается как LazyList, который блокируется, когда строки недоступны, но процесс ещё не завершён. Стандартная ошибка отправляется в консоль. Если процесс завершается с ненулевым значением, LazyList предоставит все строки до завершения, но не сгенерирует исключение.

abstract def run(log: ProcessLogger, connectInput: Boolean): Process

Запускает процесс, представленный этим билдером. Стандартный вывод и ошибка отправляются в предоставленный ProcessLogger. Новый запущенный процесс читает из стандартного ввода текущего процесса, если connectInput равно true.

abstract def run(connectInput: Boolean): Process

Запускает процесс, представленный этим билдером. Стандартный вывод и ошибка отправляются в консоль. Новый запущенный процесс читает из стандартного ввода текущего процесса, если connectInput равно true.

abstract def run(io: ProcessIO): Process

Запускает процесс, представленный этим билдером. Ввод/вывод обрабатывается экземпляром ProcessIO.

abstract def run(log: ProcessLogger): Process

Запускает процесс, представленный этим билдером. Стандартный вывод и ошибка отправляются в предоставленный ProcessLogger.

abstract def run(): Process

Запускает процесс, представленный этим билдером. Стандартный вывод и ошибка отправляются в консоль.

abstract def toSink: ProcessBuilder

Attributes
protected
Definition Classes
Sink

abstract def toSource: ProcessBuilder

Атрибуты
protected
Определяющие классы
Source

abstract def lineStream(log: ProcessLogger, capacity: Integer): Stream[String]

Запускает процесс, представленный этим билдером. Вывод возвращается как поток, который блокируется, когда строки недоступны, но процесс не завершен. Процесс-производитель будет блокироваться, если заданная емкость строк заполнена без потребления из потока. Стандартный поток ошибок отправляется в предоставленный ProcessLogger. Если процесс завершается с ненулевым значением, поток предоставит все строки до завершения, а затем выбросит исключение.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.13.0) использовать lazyLines

abstract def lineStream(log: ProcessLogger): Stream[String]

Запускает процесс, представленный этим билдером. Вывод возвращается как поток, который блокируется, когда строки недоступны, но процесс не завершен. Стандартный поток ошибок отправляется в предоставленный ProcessLogger. Если процесс завершается с ненулевым значением, поток предоставит все строки до завершения, а затем выбросит исключение.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.13.0) использовать lazyLines

abstract def lineStream(capacity: Integer): Stream[String]

Запускает процесс, представленный этим билдером. Вывод возвращается как поток, который блокируется, когда строки недоступны, но процесс не завершен. Процесс-производитель будет блокироваться, если заданная емкость строк заполнена без потребления из потока. Стандартный поток ошибок отправляется на консоль. Если процесс завершается с ненулевым значением, поток предоставит все строки до завершения, а затем выбросит исключение.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.13.0) использовать lazyLines

abstract def lineStream: Stream[String]

Запускает процесс, представленный этим билдером. Вывод возвращается как поток, который блокируется, когда строки недоступны, но процесс не завершен. Стандартный поток ошибок отправляется на консоль. Если процесс завершается с ненулевым значением, поток предоставит все строки до завершения, а затем выбросит исключение.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.13.0) использовать lazyLines

abstract def lineStream_!(log: ProcessLogger, capacity: Integer): Stream[String]

Запускает процесс, представленный этим билдером. Вывод возвращается как поток, который блокируется, когда строки недоступны, но процесс не завершен. Процесс-производитель будет блокироваться, если заданная емкость строк заполнена без потребления из потока. Стандартный поток ошибок отправляется в предоставленный ProcessLogger. Если процесс завершается с ненулевым значением, поток предоставит все строки до завершения, но не будет выбрасывать исключение.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.13.0) использовать lazyLines_!

abstract def lineStream_!(log: ProcessLogger): Stream[String]

Запускает процесс, представленный этим билдером. Вывод возвращается как поток, который блокируется, когда строки недоступны, но процесс не завершен. Стандартный поток ошибок отправляется в предоставленный ProcessLogger. Если процесс завершается с ненулевым значением, поток предоставит все строки до завершения, но не будет выбрасывать исключение.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.13.0) использовать lazyLines_!

abstract def lineStream_!(capacity: Integer): Stream[String]

Запускает процесс, представленный этим билдером. Вывод возвращается как поток, который блокируется, когда строки недоступны, но процесс не завершен. Процесс-производитель будет блокироваться, если заданная емкость строк заполнена без потребления из потока. Стандартный поток ошибок отправляется на консоль. Если процесс завершается с ненулевым значением, поток предоставит все строки до завершения, но не будет выбрасывать исключение.

Аннотации
@deprecated
Устарело

(Начиная с версии 2.13.0) использовать lazyLines_!

abstract def lineStream_!: Stream[String]

Запускает процесс, представленный этим билдером. Результат возвращается как поток, который блокируется, когда строки недоступны, но процесс еще не завершен. Стандартная ошибка отправляется в консоль. Если процесс завершается с ненулевым значением, поток предоставит все строки до завершения, но не выбросит исключение.

Аннотации
@deprecated
Устарело

(С версии 2.13.0) используйте lazyLines_!

Конкретные члены значения

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

returns

true if !(this == that), false otherwise.

Определяющие классы
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением числовых типов в коробках и null. Для чисел возвращает хэш-значение, которое согласуется с равенством значений: если два экземпляра типа значения сравниваются как true, то ## будет генерировать одно и то же хэш-значение для каждого из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.

returns

хэш-значение, согласованное с ==

Определяющие классы
AnyRef → Any

def #<(b: ProcessBuilder): ProcessBuilder

Считывает вывод scala.sys.process.ProcessBuilder в входной поток этого процесса.

Определяющие классы
Sink

def #<(in: => InputStream): ProcessBuilder

Считывает заданный InputStream во входной поток этого процесса. Аргумент передаётся по имени, поэтому поток пересоздаётся, считывается и закрывается каждый раз при выполнении этого процесса.

Определяющие классы
Sink

def #<(f: URL): ProcessBuilder

Считывает заданный URL во входной поток этого процесса.

Определяющие классы
Sink

def #<(f: File): ProcessBuilder

Считывает заданный файл во входной поток этого процесса.

Определяющие классы
Sink

def #>(b: ProcessBuilder): ProcessBuilder

Записывает выходной поток этого процесса в scala.sys.process.ProcessBuilder.

Определяющие классы
Source

def #>(out: => OutputStream): ProcessBuilder

Записывает выходной поток этого процесса в заданный OutputStream. Аргумент передаётся по имени, поэтому поток пересоздаётся, записывается и закрывается каждый раз при выполнении этого процесса.

Определяющие классы
Source

def #>(f: File): ProcessBuilder

Записывает выходной поток этого процесса в заданный файл.

Определяющие классы
Source

def #>>(f: File): ProcessBuilder

Добавляет выходной поток этого процесса к заданному файлу.

Определяющие классы
Source

def +(other: String): String

Неявное
Этот член добавляется неявным преобразованием из ProcessBuilder в any2stringadd[ProcessBuilder], выполняемым методом any2stringadd в scala.Predef.
Определяющие классы
any2stringadd

def ->[B](y: B): (ProcessBuilder, B)

Неявный
Этот член добавлен неявным преобразованием из ProcessBuilder вArrowAssoc[ProcessBuilder] с помощью метода ArrowAssoc в scala.Predef.
Классы определений
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true , если объект-получатель эквивалентен аргументу; false в противном случае.

Классы определений
AnyRef → Any

final def asInstanceOf[T0]: T0

Привести объект-получатель к типу T0.

Обратите внимание, что успех приведения типов во время выполнения определяется семантикой стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли элементы списка нужному типу.

возвращает

объект-получатель.

Классы определений
Any
Исключения

ClassCastException , если объект-получатель не является экземпляром стираемого типа T0.

def cat: ProcessBuilder

Возвращает scala.sys.process.ProcessBuilder , представляющий этот Source.

Классы определений
Source

def clone(): AnyRef

Создаёт копию объекта-получателя.

По умолчанию реализация метода clone зависит от платформы.

возвращает

копию объекта-получателя.

Атрибуты
protected[java.lang]
Классы определений
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не указано SLS как член AnyRef

def ensuring(cond: (ProcessBuilder) => Boolean, msg: => Any): ProcessBuilder

Неявный
Этот член добавлен неявным преобразованием из ProcessBuilder вEnsuring[ProcessBuilder] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: (ProcessBuilder) => Boolean): ProcessBuilder

Неявный
Этот член добавлен неявным преобразованием из ProcessBuilder вEnsuring[ProcessBuilder] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: Boolean, msg: => Any): ProcessBuilder

Неявный
Этот член добавлен неявным преобразованием из ProcessBuilder вEnsuring[ProcessBuilder] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: Boolean): ProcessBuilder

Неявный
Этот член добавлен неявным преобразованием из ProcessBuilder вEnsuring[ProcessBuilder] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на не-null экземплярах AnyRef, и имеет три дополнительных свойства:

    Он согласован: для любых не-null экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого не-null экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно гарантировать, что их поведение согласуется с равенством ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковое значение хэш-кода (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Классы определения
AnyRef

def equals(arg0: AnyRef): Boolean

Метод равенства для ссылочных типов. Реализация по умолчанию делегирует вызов eq.

См. также equals в scala.Any.

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Классы определения
AnyRef → Any

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда на объект больше нет ссылок.

Подробности о том, когда и если вызывается метод finalize, а также взаимодействие finalize с нелокальными возвратами и исключениями, зависят от платформы.

Атрибуты
protected[java.lang]
Классы определения
AnyRef
Аннотации
@throws(classOf[java.lang.Throwable])
Примечание

не указан SLS в качестве члена AnyRef

def formatted(fmtstr: String): String

Возвращает строку, отформатированную согласно заданной строке format. Формат строк соответствует String.format (@see java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из ProcessBuilder в StringFormat[ProcessBuilder] посредством метода StringFormat в scala.Predef.
Классы определения
StringFormat
Аннотации
@inline()

final def getClass(): Class[_ <: AnyRef]

Возвращает представление класса объекта во время выполнения.

возвращает

объект класса, соответствующий типу во время выполнения получателя.

Классы определения
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

возвращает

значение хэш-кода для этого объекта.

Классы определения
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

Проверка, является ли динамический тип объекта-получателя T0.

Обратите внимание, что результат проверки модулируется семантикой стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, из-за стирания аргумента типа во время компиляции, невозможно проверить, содержат ли элементы списка указанный тип.

возвращает

true если объект-получатель является экземпляром стираемого типа T0; false в противном случае.

Классы определения
Any

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

возвращает

true если аргумент не является ссылкой на объект-получатель; false в противном случае.

Классы определения
AnyRef

final def notify(): Unit

Разбуждает один поток, ожидающий монитор объекта-получателя.

Классы определения
AnyRef
Аннотации
@native()
Примечание

не указан SLS в качестве члена AnyRef

final def notifyAll(): Unit

Разбуждает все потоки, ожидающие монитор объекта-получателя.

Классы определения
AnyRef
Аннотации
@native()
Примечание

не указан SLS в качестве члена AnyRef

final def synchronized[T0](arg0: => T0): T0

Definition Classes
AnyRef

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

returns

строковое представление объекта.

Definition Classes
AnyRef → Any

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/sys/process/ProcessBuilder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API