c
scalqa

Opt

final class _Class[+A] extends AnyVal with Util.Able.Void

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 case

Opt is often used as Boolean, where Opt with value is 'true' and void is 'false'

Ordering
  1. Alphabetic
Inherited
  1. Opt
  2. Util.Able.Void
  3. scala.AnyVal
  4. scala.Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Constant

  1. val real: Any
    Attributes
    protected[scalqa]
    Definition Classes
    _Class

Method

  1. def all: ~[A]

    As Stream

    As Stream

    Returns Stream with single value or empty

    Definition Classes
    _libraryExtension
  2. 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
  3. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. 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 to letMap, but is less efficient, because PartialFunction has to be evaluated twice

    Definition Classes
    _Class
  6. 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
  7. def default(v: ⇒ A): Opt[A]

    Default value

    Default value

    Only if there is no value, creates new option with default value

    var 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
  8. 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
  9. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. def isValue: Boolean

    Check for value

    Check for value

    Returns true if this option holds value, 'false' - otherwise

    Definition Classes
    _Class
  12. def isVoid: Boolean

    Check if empty

    Check if empty

    Returns true if this option holds no value, 'false' - otherwise

    Definition Classes
    _ClassVoid
  13. 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
  14. 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
  15. def letMix[B, C](that: Opt[B])(mix: (A, B) ⇒ C): Opt[C]

    Mix filter

    Mix filter

    If either this or that Opt is void, Opt.Void is returned

    Otherwise, 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
  16. 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
  17. 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
  18. 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
  19. 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, but orElse is not strictly typed. As a rule, always use or, but if it does not work use orElse

    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
  20. def orElseOpt[B >: A](that: ⇒ Opt[B]): Opt[B]

    Default option

    Default option

    Returns this Opt, or if it is void, then given default

    Note. This is similar to orOpt, but orElseOpt is not strictly typed. As a rule, always use orOpt, but if it does not work use orElseOpt

    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
  21. def orOpt(that: ⇒ Opt[A]): Opt[A]

    Default option

    Default option

    Returns this Opt, or if it is void, then given default

    var 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
  22. 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
  23. def toOption: Option[A]

    To Option

    To Option

    Converts to scala.Option

    Definition Classes
    _libraryExtension
  24. def toOptional: Optional[A]

    To Optional

    To Optional

    Converts to java.util.Optional

    Definition Classes
    _libraryExtension
  25. def toString(): String

    Convert to String

    Convert to String

    Returns "Opt.Void" or "Opt(" + value + ")" String

    Definition Classes
    _Class → Any
  26. def toString(): String
    Definition Classes
    Any
  27. def value: A

    Value

    Value

    Returns value, or if void - fails

    Definition Classes
    _Class

Operator

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    Any
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    Any
  3. final def ##(): scala.Int
    Definition Classes
    Any
  4. final def ##(): scala.Int
    Definition Classes
    Any
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    Any
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    Any
Linear Supertypes
Util.Able.Void, AnyVal, Any
Source: _Class.scala