final class _Class[+A] extends AnyVal with Util.Able.Void
- Alphabetic
- Opt
- Util.Able.Void
- scala.AnyVal
- scala.Any
- Hide All
- Show All
- Public
- All
Method
-
def
all: ~[A]
As Stream
As Stream
Returns Stream with single value or empty
- Definition Classes
- _libraryExtension
-
def
apply(f: (A) ⇒ Any, p: ⇒ Any = ()): Opt[A]
Process option, both: value or no value
Process option, both: value or no value
Takes two functions, one to process value, another - no value case
- Definition Classes
- _Class
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
collect[B](f: PartialFunction[A, B]): Opt[B]
Filter and converter
Filter and converter
Discards value if given partial function is not defined
Otherwise value is converted to the function result
val o: Opt[String] = "foo" println(o.collect { case v if v.startsWith("a") => "bar" }) // Prints: Opt.Void println(o.collect { case v if v.startsWith("f") => "bar" }) // Prints: Opt(bar)
Note: If this is empty, it is returned as is
Note:
collect
is similar toletMap
, but is less efficient, because PartialFunction has to be evaluated twice- Definition Classes
- _Class
-
def
contains(parameter: Any): Boolean
Check contains
Check contains
Returns 'true' only if there is value and it is equal to the given
parameter
'false' - otherwise
val o : Opt[String] = "foo" println(o.contains("foo")) // Prints: true println(o.contains("bar")) // Prints: false
- Definition Classes
- _Class
-
def
default(v: ⇒ A): Opt[A]
Default value
Default value
Only if there is no value, creates new option with
default
valuevar o : Opt[String] = "foo" o = o.default("bar") println(o) // Prints: Opt(foo) o = \/ o = o.default("bar") println(o) // Prints: Opt(bar)
- Definition Classes
- _libraryExtension
-
def
drop(f: (A) ⇒ Boolean): Opt[A]
Reversed filter
Reversed filter
Discards value if it passes given filtering function
val o : Opt[String] = "foo" println(o.let(_.length > 2) // Prints: Opt.Void println(o.let(_.length > 3) // Prints: Opt(foo)
Note: If this is empty, it is returned as is
- Definition Classes
- _Class
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isValue: Boolean
Check for value
Check for value
Returns
true
ifthis
option holds value, 'false' - otherwise- Definition Classes
- _Class
-
def
isVoid: Boolean
Check if empty
-
def
let(f: (A) ⇒ Boolean): Opt[A]
Main filter
Main filter
Discards value if it does not pass given filtering function
val o : Opt[String] = "foo" println(o.let(_.length > 2) // Prints: Opt(foo) println(o.let(_.length > 3) // Prints: Opt.Void
Note: If this is empty, it is returned as is
- Definition Classes
- _Class
-
def
letMap[B](f: (A) ⇒ Opt[B]): Opt[B]
Filter and converter
Filter and converter
Discards value if given function returns Opt.Void
Otherwise value is converted to the function result
val o: Opt[String] = "foo" println(o.letMap(v => if (v.startsWith("a")) "bar" else \/)) // Prints: Opt.Void println(o.letMap { case v if v.startsWith("f") => "bar" case _ => \/ }) // Prints: Opt(bar)
Note: If this is empty, it is returned as is
- Definition Classes
- _Class
-
def
letMix[B, C](that: Opt[B])(mix: (A, B) ⇒ C): Opt[C]
Mix filter
Mix filter
If either
this
orthat
Opt is void, Opt.Void is returnedOtherwise, mixed value is returned
val o5: Opt[Int] = 5 val ov: Opt[Int] = \/ println(o5.letMix(ov)(_ * _)) // Prints: Opt.Void println(ov.letMix(o5)(_ * _)) // Prints: Opt.Void println(o5.letMix(o5)(_ * _)) // Prints: Opt(25) // same as println(for(x <- o5; y <- o5) yeild x * y) // Prints: Opt(25)
Note: If this is empty, it is returned as is
- Definition Classes
- _Class
-
def
letType[B](implicit t: ClassTag[B]): Opt[B]
Filter and type converter
Filter and type converter
Discards value if it does not belong to the given type
Note, the result is mapped to the given type
val o: Opt[Any] = "1" println(o.letType[String]) // Prints: Opt(1) println(o.letType[Int]) // Prints: Opt.Void
Note: If this is empty, it is returned as is
- Definition Classes
- _Class
-
def
map[B](f: (A) ⇒ B): Opt[B]
Convert value
Convert value
Creates new option with value converted by the given function
println(Opt.make(2).map(_ * 10)) // Prints: Opt(20)
Note: If this is empty, it is returned as is
- Definition Classes
- _Class
-
def
or(default: ⇒ A): A
Value or default
Value or default
Returns value, or if none, then given default
var o : Opt[String] = "foo" println(o or "bar") // Prints: foo o = \/ // assigning Opt.Void println(o or "bar") // Prints: bar
- Definition Classes
- _libraryExtension
-
def
orElse[B >: A](default: ⇒ B): B
Value or default
Value or default
Returns value, or if none, then given default
Note. This is similar to
or
, butorElse
is not strictly typed. As a rule, always useor
, but if it does not work useorElse
class Foo class Bar extends Foo val o : Opt[Bar] = \/ val v1 : Foo = o or new Foo // Fails to compile val v2 : Foo = o orElse new Foo // Compiles fine
- Definition Classes
- _Class
-
def
orElseOpt[B >: A](that: ⇒ Opt[B]): Opt[B]
Default option
Default option
Returns
this
Opt, or if it is void, then given defaultNote. This is similar to
orOpt
, butorElseOpt
is not strictly typed. As a rule, always useorOpt
, but if it does not work useorElseOpt
class Foo class Bar extends Foo val bo : Opt[Bar] = \/ val fo : Opt[Foo] = \/ val v1 : Opt[Foo] = bo orOpt fo // Fails to compile val v2 : Opt[Foo] = bo orElseOpt fo // Compiles fine
- Definition Classes
- _Class
-
def
orOpt(that: ⇒ Opt[A]): Opt[A]
Default option
Default option
Returns
this
Opt, or if it is void, then given defaultvar o1 : Opt[String] = "foo" val o2 : Opt[String] = "bar" println(o1 orOpt o2) // Prints: Opt(foo) o1 = \/ println(o1 orOpt o2) // Prints: Opt(bar)
- Definition Classes
- _libraryExtension
-
def
swap[B](newValue: ⇒ B): Opt[B]
Replace value
Replace value
Creates new option with value replaced with newValue
println(Opt.make("foo").swap("bar")) // Prints: Opt(bar)
Note: If this is empty, it is returned as is
- Definition Classes
- _Class
-
def
toOption: Option[A]
To Option
To Option
Converts to scala.Option
- Definition Classes
- _libraryExtension
-
def
toOptional: Optional[A]
To Optional
To Optional
Converts to java.util.Optional
- Definition Classes
- _libraryExtension
-
def
toString(): String
Convert to String
Convert to String
Returns "Opt.Void" or "Opt(" + value + ")" String
- Definition Classes
- _Class → Any
-
def
toString(): String
- Definition Classes
- Any
-
def
value: A
Value
Value
Returns value, or if void - fails
- Definition Classes
- _Class
Operator
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
##(): scala.Int
- Definition Classes
- Any
-
final
def
##(): scala.Int
- Definition Classes
- Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- Any
Value Option
Opt is a container, which can hold a single value or be void (empty)
Opt can be converted to value with method
or
, which also takes default value for void caseOpt is often used as Boolean, where Opt with value is 'true' and void is 'false'