sealed abstract class Attempt[+A] extends Product with Serializable
Right biased Either[Err, A]
.
An Attempt
is either an Attempt.Successful
or an Attempt.Failure
. Attempts can be created
by calling Attempt.successful
or Attempt.failure
, as well as converting from an Option
via
fromOption
.
- Source
- Attempt.scala
- Grouped
- Alphabetic
- By Inheritance
- Attempt
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- by TransformSyntax
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
canEqual(that: Any): Boolean
- Definition Classes
- Equals
-
abstract
def
flatMap[B](f: (A) ⇒ Attempt[B]): Attempt[B]
Maps the supplied function over the successful value, if present.
-
abstract
def
flatten[B](implicit ev: <:<[A, Attempt[B]]): Attempt[B]
Converts an
Attempt[Attempt[X]]
in to anAttempt[X]
. -
abstract
def
fold[B](ifFailure: (Err) ⇒ B, ifSuccessful: (A) ⇒ B): B
Transforms this attempt to a value of type
B
using the supplied functions. -
abstract
def
getOrElse[B >: A](default: ⇒ B): B
Returns the sucessful value if successful, otherwise the supplied default.
-
abstract
def
isSuccessful: Boolean
True if attempt was successful.
-
abstract
def
map[B](f: (A) ⇒ B): Attempt[B]
Maps the supplied function over the successful value, if present.
-
abstract
def
mapErr(f: (Err) ⇒ Err): Attempt[A]
Maps the supplied function over the failure error, if present.
-
abstract
def
orElse[B >: A](fallback: ⇒ Attempt[B]): Attempt[B]
Returns this attempt if successful, otherwise the fallback attempt.
-
abstract
def
productArity: Int
- Definition Classes
- Product
-
abstract
def
productElement(n: Int): Any
- Definition Classes
- Product
-
abstract
def
recover[B >: A](f: PartialFunction[Err, B]): Attempt[B]
If this attempt is a failure, and the supplied partial function is defined for the cause of the failure, a successful attempt is returned.
If this attempt is a failure, and the supplied partial function is defined for the cause of the failure, a successful attempt is returned. If this attempt is successful or the supplied function is not defined for the cause of the failure, this attempt is returned unmodified.
-
abstract
def
recoverWith[B >: A](f: PartialFunction[Err, Attempt[B]]): Attempt[B]
If this attempt is a failure, and the supplied partial function is defined for the cause of the failure, the result of applying that function is returned.
If this attempt is a failure, and the supplied partial function is defined for the cause of the failure, the result of applying that function is returned. If this attempt is successful or the supplied function is not defined for the cause of the failure, this attempt is returned unmodified.
-
abstract
def
require: A
Returns the successful value if present; otherwise throws an
IllegalArgumentException
. -
abstract
def
toEither: Either[Err, A]
Converts to an either.
-
abstract
def
toOption: Option[A]
Converts to an option, discarding the error value.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Attempt[A], B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
as[B](implicit as: Transformer[A, B]): Attempt[B]
Transforms using implicitly available evidence that such a transformation is possible.
Transforms using implicitly available evidence that such a transformation is possible.
Typical transformations include converting:
- an
F[L]
for someL <: HList
to/from anF[CC]
for some case classCC
, where the types in the case class are aligned with the types inL
- an
F[C]
for someC <: Coproduct
to/from anF[SC]
for some sealed classSC
, where the component types in the coproduct are the leaf subtypes of the sealed class.
- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
- an
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def ensuring(cond: (Attempt[A]) ⇒ Boolean, msg: ⇒ Any): Attempt[A]
- def ensuring(cond: (Attempt[A]) ⇒ Boolean): Attempt[A]
- def ensuring(cond: Boolean, msg: ⇒ Any): Attempt[A]
- def ensuring(cond: Boolean): Attempt[A]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
exmap[B](f: (A) ⇒ Attempt[B], g: (B) ⇒ Attempt[A]): Attempt[B]
Transforms using two functions,
A => Attempt[B]
andB => Attempt[A]
.Transforms using two functions,
A => Attempt[B]
andB => Attempt[A]
.- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
-
def
exmapc[B](f: (A) ⇒ Attempt[B])(g: (B) ⇒ Attempt[A]): Attempt[B]
Curried version of
exmap
.Curried version of
exmap
.- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
isFailure: Boolean
True if attempt was not successful.
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
narrow[B](f: (A) ⇒ Attempt[B], g: (B) ⇒ A): Attempt[B]
Transforms using two functions,
A => Attempt[B]
andB => A
.Transforms using two functions,
A => Attempt[B]
andB => A
.The supplied functions form an injection from
B
toA
. Hence, this method converts from a larger to a smaller type. Hence, the namenarrow
.- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
-
def
narrowc[B](f: (A) ⇒ Attempt[B])(g: (B) ⇒ A): Attempt[B]
Curried version of
narrow
.Curried version of
narrow
.- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
productIterator: Iterator[Any]
- Definition Classes
- Product
-
def
productPrefix: String
- Definition Classes
- Product
-
val
self: Attempt[A]
Supports TransformSyntax.
Supports TransformSyntax.
- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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( ... )
-
def
widen[B](f: (A) ⇒ B, g: (B) ⇒ Attempt[A]): Attempt[B]
Transforms using two functions,
A => B
andB => Attempt[A]
.Transforms using two functions,
A => B
andB => Attempt[A]
.The supplied functions form an injection from
A
toB
. Hence, this method converts from a smaller to a larger type. Hence, the namewiden
.- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
-
def
widenOpt[B](f: (A) ⇒ B, g: (B) ⇒ Option[A]): Attempt[B]
Transforms using two functions,
A => B
andB => Option[A]
.Transforms using two functions,
A => B
andB => Option[A]
.Particularly useful when combined with case class apply/unapply. E.g.,
widenOpt(fa, Foo.apply, Foo.unapply)
.- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
-
def
widenOptc[B](f: (A) ⇒ B)(g: (B) ⇒ Option[A]): Attempt[B]
Curried version of
widenOpt
.Curried version of
widenOpt
.- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
-
def
widenc[B](f: (A) ⇒ B)(g: (B) ⇒ Attempt[A]): Attempt[B]
Curried version of
widen
.Curried version of
widen
.- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
-
def
xmap[B](f: (A) ⇒ B, g: (B) ⇒ A): Attempt[B]
Transforms using the isomorphism described by two functions,
A => B
andB => A
.Transforms using the isomorphism described by two functions,
A => B
andB => A
.- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
-
def
xmapc[B](f: (A) ⇒ B)(g: (B) ⇒ A): Attempt[B]
Curried version of
xmap
.Curried version of
xmap
.- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
- def →[B](y: B): (Attempt[A], B)
Deprecated Value Members
-
def
pxmap[B](f: (A) ⇒ B, g: (B) ⇒ Option[A]): Attempt[B]
Transforms using two functions,
A => B
andB => Option[A]
.Transforms using two functions,
A => B
andB => Option[A]
.Particularly useful when combined with case class apply/unapply. E.g.,
pxmap(fa, Foo.apply, Foo.unapply)
.- Implicit
- This member is added by an implicit conversion from Attempt[A] to TransformSyntax[Attempt, A] performed by method TransformSyntax in scodec. This conversion will take place only if an implicit value of type Transform[Attempt] is in scope.
- Definition Classes
- TransformSyntax
- Annotations
- @deprecated
- Deprecated
(Since version 1.7.0) Use widenOpt instead