Spec-Zone.ru › Scala 2.12 Library

Класс scala.util.Success

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

Источник
Try.scala
Линейные супертипы

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

new Success(value: T)

Типовые члены

class WithFilter extends AnyRef

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

Определяющие классы
Try
Аннотации
@deprecatedInheritance( message = ... , since = "2.12.0" )

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

final def !=(arg0: Any): Boolean

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

returns

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

Definition Classes
AnyRef → Any

final def ##(): Int

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

returns

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

Definition Classes
AnyRef → Any

def +(other: String): String

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

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

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

final def ==(arg0: Any): Boolean

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

returns

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

Definition Classes
AnyRef → Any

final def asInstanceOf[T0]: T0

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

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

returns

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

Definition Classes
Any
Исключения

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

def clone(): AnyRef

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

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

returns

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

Атрибуты
protected[lang]
Definition Classes
AnyRef
Аннотации
@throws( ... ) @native()
Примечание

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

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

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

Definition Classes
Success → Try

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

Неявный
Этот член добавлен неявным преобразованием из Success[T] в Ensuring[Success[T]] выполненным методом Ensuring в scala.Predef.
Definition Classes
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).

returns

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[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[Throwable, 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 → 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 в противном случае.

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

final def notify(): Unit

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

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

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

final def notifyAll(): Unit

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

Definition Classes
AnyRef
Annotations
@native()
Note

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

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

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

Definition Classes
Success → Try

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

Definition Classes
AnyRef
Annotations
@throws( ... )

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

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... ) @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.

Definition Classes
Try
Annotations
@inline()

def →[B](y: B): (Success[T], B)

Implicit
Этот член добавлен неявным преобразованием из Success[T] в ArrowAssoc[Success[T]], выполненным методом ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/util/Success.html

Spec-Zone.ru

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