Spec-Zone.ru › Scala 2.13 Library

Класс scala.util.Success

final case class Success[+T](value: T) extends Try[T] with Product with Serializable

Источник
Try.scala
Линейные надтипы
Try[T], java.io.Serializable, Product, Equals, AnyRef, Any

Конструкторы экземпляров

new Success(value: T)

Члены типов

final class WithFilter extends AnyRef

Нужен весь класс WithFilter, чтобы соблюсти контракт "не создает новую коллекцию", даже если это маловероятно, в коллекции с максимальным размером 1.

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

Члены-значения

final def !=(arg0: Any): Boolean

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

возвращает

true если !(this == that), в противном случае false.

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

final def ##(): Int

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

возвращает

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

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

def +(other: String): String

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

def ->[B](y: B): (Success[T], B)

Неявный
Этот член добавлен неявным преобразованием из Success[T] в ArrowAssoc[Success[T]], выполненное методом 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 clone(): AnyRef

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

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

возвращает

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

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

не определено SLS как член AnyRef

def collect[U](pf: PartialFunction[T, U]): Try[U]

Применяет данную частичную функцию к значению из этого Success или возвращает это значение, если это Failure.

Определяющие классы
Success → Try

def ensuring(cond: (Success[T]) => Boolean, msg: => Any): Success[T]

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

def ensuring(cond: (Success[T]) => Boolean): Success[T]

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

def ensuring(cond: Boolean, msg: => Any): Success[T]

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

def ensuring(cond: Boolean): Success[T]

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

final def eq(arg0: AnyRef): Boolean

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

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

    Он согласован: для любых непустых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого непустого экземпляра 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 failed: Try[Throwable]

Инвертирует этот Try. Если это Failure, возвращает его исключение, заключенное в Success. Если это Success, возвращает Failure, содержащий UnsupportedOperationException.

Определяющие классы
Success → Try

def filter(p: (T) => Boolean): Try[T]

Преобразует это в Failure если предикат не выполняется.

Определяющие классы
Success → Try

def finalize(): Unit

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

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

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

не определен SLS как член AnyRef

def flatMap[U](f: (T) => Try[U]): Try[U]

Возвращает результат применения заданной функции к значению из этого Success или возвращает это, если это Failure.

Определяющие классы
Success → Try

def flatten[U](implicit ev: <:<[T, Try[U]]): Try[U]

Преобразует вложенный Try, т.е. Try типа Try[Try[T]], в невложенный Try, т.е. Try типа Try[T].

Классы-определения
Success → Try

def fold[U](fa: (Throwable) => U, fb: (T) => U): U

Применяет fa если это Failure или fb если это Success. Если fb изначально применяется и выбрасывает исключение, тогда fa применяется с этим исключением.

fa

функция, которую нужно применить, если это Failure

fb

функция, которую нужно применить, если это Success

возвращает

результаты применения функции

Классы-определения
Success → Try
Пример:
    val result: Try[Int] = Try { string.toInt }
    log(result.fold(
      ex => "Operation failed with " + ex,
      v => "Operation produced value: " + v
    ))

def foreach[U](f: (T) => U): Unit

Применяет данную функцию f если это Success, в противном случае возвращает Unit если это Failure.

Примечание: Если f выбрасывает исключение, то этот метод может выбросить исключение.

Классы-определения
Success → Try

def formatted(fmtstr: String): String

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

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

def get: T

Возвращает значение из этого Success или выбрасывает исключение, если это Failure.

Классы-определения
Success → Try

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

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

возвращает

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

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

def getOrElse[U >: T](default: => U): U

Возвращает значение из этого Success или заданное default значение, если это Failure.

Примечание: Это вызовет исключение, если это не успех, а default выбросит исключение.

Классы-определения
Success → Try

def isFailure: Boolean

Возвращает true если Try является Failure, false в противном случае.

Классы-определения
Success → Try

final def isInstanceOf[T0]: Boolean

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

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

возвращает

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

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

def isSuccess: Boolean

Возвращает true если Try является Success, false в противном случае.

Классы-определения
Success → Try

def map[U](f: (T) => U): Try[U]

Применяет данную функцию к значению из этого Success или возвращает это значение, если это Failure.

Классы-определения
Success → Try

final def ne(arg0: AnyRef): Boolean

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

возвращает

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

Definition Classes
AnyRef

final def notify(): Unit

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

Definition Classes
AnyRef
Аннотации
@native()
Примечание

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

final def notifyAll(): Unit

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

Definition Classes
AnyRef
Аннотации
@native()
Примечание

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

def orElse[U >: T](default: => Try[U]): Try[U]

Возвращает этот Try если это Success или указанный default аргумент, если это Failure.

Definition Classes
Success → Try

def productElementNames: Iterator[String]

Итератор по именам всех элементов этого произведения.

Definition Classes
Product

def recover[U >: T](pf: PartialFunction[Throwable, U]): Try[U]

Применяет указанную функцию f если это Failure, иначе возвращает это, если это Success. Это как map для исключения.

Definition Classes
Success → Try

def recoverWith[U >: T](pf: PartialFunction[Throwable, Try[U]]): Try[U]

Применяет указанную функцию f если это Failure, иначе возвращает это, если это Success. Это как flatMap для исключения.

Definition Classes
Success → Try

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

Definition Classes
AnyRef

def toEither: Either[Throwable, T]

Возвращает Left с Throwable если это Failure, иначе возвращает Right с Success значением.

Definition Classes
Success → Try

def toOption: Option[T]

Возвращает None если это Failure или Some содержащий значение, если это Success.

Definition Classes
Success → Try

def transform[U](s: (T) => Try[U], f: (Throwable) => Try[U]): Try[U]

Завершает эту Try путём применения функции f к этому, если это типа Failure, или наоборот, путём применения s если это Success.

Definition Classes
Success → Try

val value: T

final def wait(): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

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

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Классы-определения
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException]) @native()

final def withFilter(p: (T) => Boolean): WithFilter

Создаёт нестрогий фильтр, который в конечном итоге преобразует этот объект в Failure , если предикат не выполняется.

Примечание: в отличие от filter, withFilter не создаёт новую Try. Вместо этого он ограничивает область применения последующих map, flatMap, foreach, и withFilter операций.

Так как Try является коллекцией из одного элемента, это может быть немного излишне, но это согласуется с withFilter для Option и другими коллекциями.

p

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

returns

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этой Try, которые удовлетворяют предикату p.

Классы-определения
Try
Аннотации
@inline()

© 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/util/Success.html

Spec-Zone.ru

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