sealed abstract class JsonOption[+A] extends AnyRef

Represents optional value with a special case for null. Used for parsing data out of json where null and value not being present at all are different things (for example in the case of wanting to unset a value)

Self Type
JsonOption[A]
Note

For the most part tries to implement scala options api. Also provides .toOption to turn the maybe into a scala Option

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsonOption
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. class WithFilter extends AnyRef

    We need a whole WithFilter class to honor the "doesn't create a new collection" contract even though it seems unlikely to matter much in a collection with max size 1.

Abstract Value Members

  1. abstract def get: A

    Returns the maybe's value.

    Returns the maybe's value.

    Exceptions thrown

    java.util.NoSuchElementException if the maybe is empty

    Note

    The maybe must be nonEmpty

  2. abstract def isAbsent: Boolean

    Returns true if maybe is nothing

  3. abstract def isEmpty: Boolean

    Returns true if maybe is nothing or null

  4. abstract def toOption: Option[A]

    Turns this JsonOption into scala Option

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. final def collect[B](pf: PartialFunction[A, B]): JsonOption[B]

    Returns a JsonSome containing the result of applying pf to this JsonOption's contained value, if this option is nonempty and pf is defined for that value.

    Returns a JsonSome containing the result of applying pf to this JsonOption's contained value, if this option is nonempty and pf is defined for that value. Returns JsonAbsent otherwise.

    pf

    the partial function.

    returns

    the result of applying pf to this JsonOption's value (if possible), or JsonAbsent.

    Annotations
    @inline()
    Example:
    1. // Returns Some(HTTP) because the partial function covers the case.
      Some("http") collect {case "http" => "HTTP"}
      
      // Returns None because the partial function doesn't cover the case.
      Some("ftp") collect {case "http" => "HTTP"}
      
      // Returns None because None is passed to the collect method.
      None collect {case value => value}
  7. final def contains[A1 >: A](elem: A1): Boolean

    Tests whether the option contains a given value as an element.

    Tests whether the option contains a given value as an element.

    elem

    the element to test.

    returns

    true if the option has an element that is equal (as determined by ==) to elem, false otherwise.

    Example:
    1. // Returns true because Some instance contains string "something" which equals "something".
      Some("something") contains "something"
      
      // Returns false because "something" != "anything".
      Some("something") contains "anything"
      
      // Returns false when method called on None.
      None contains "anything"
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def exists(p: (A) => Boolean): Boolean

    Returns true if this option is nonempty and the predicate p returns true when applied to this JsonOption's value.

    Returns true if this option is nonempty and the predicate p returns true when applied to this JsonOption's value. Otherwise, returns false.

    p

    the predicate to test

    Annotations
    @inline()
  11. final def filter(p: (A) => Boolean): JsonOption[A]

    Returns this JsonOption if it is nonempty and applying the predicate p to this JsonOption's value returns true.

    Returns this JsonOption if it is nonempty and applying the predicate p to this JsonOption's value returns true. Otherwise, return JsonAbsent.

    p

    the predicate used for testing.

    Annotations
    @inline()
  12. final def filterNot(p: (A) => Boolean): JsonOption[A]

    Returns this JsonOption if it is nonempty and applying the predicate p to this JsonOption's value returns false.

    Returns this JsonOption if it is nonempty and applying the predicate p to this JsonOption's value returns false. Otherwise, return JsonAbsent.

    p

    the predicate used for testing.

    Annotations
    @inline()
  13. final def flatMap[B](f: (A) => JsonOption[B]): JsonOption[B]

    Returns the result of applying f to this JsonOption's value if this JsonOption is nonempty.

    Returns the result of applying f to this JsonOption's value if this JsonOption is nonempty. Returns JsonAbsent if this JsonOption is empty. Slightly different from map in that f is expected to return an JsonOption (which could be JsonAbsent).

    f

    the function to apply

    Annotations
    @inline()
    See also

    map

    foreach

  14. def flatten[B](implicit ev: <:<[A, JsonOption[B]]): JsonOption[B]
  15. final def fold[B](ifEmpty: => B)(f: (A) => B): B

    Returns the result of applying f to this JsonOption's value if the JsonOption is nonempty.

    Returns the result of applying f to this JsonOption's value if the JsonOption is nonempty. Otherwise, evaluates expression ifEmpty.

    ifEmpty

    the expression to evaluate if empty.

    f

    the function to apply if nonempty.

    Annotations
    @inline()
    Note

    This is equivalent to JsonOption map f getOrElse ifEmpty.

  16. final def forall(p: (A) => Boolean): Boolean

    Returns true if this option is empty or the predicate p returns true when applied to this JsonOption's value.

    Returns true if this option is empty or the predicate p returns true when applied to this JsonOption's value.

    p

    the predicate to test

    Annotations
    @inline()
  17. final def foreach[U](f: (A) => U): Unit

    Apply the given procedure f to the option's value, if it is nonempty.

    Apply the given procedure f to the option's value, if it is nonempty. Otherwise, do nothing.

    f

    the procedure to apply.

    Annotations
    @inline()
    See also

    map

    flatMap

  18. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  19. final def getOrElse[B >: A](default: => B): B

    Returns the maybe's value if the maybe is nonempty, otherwise return the result of evaluating default.

    Returns the maybe's value if the maybe is nonempty, otherwise return the result of evaluating default.

    default

    the default expression.

    Annotations
    @inline()
  20. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  21. def isDefined: Boolean

    Returns true if maybe is instance of just

  22. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  23. def iterator: Iterator[A]

    Returns a singleton iterator returning the JsonOption's value if it is nonempty, or an empty iterator if the option is empty.

  24. final def map[B](f: (A) => B): JsonOption[B]

    Returns a JsonSome containing the result of applying f to this JsonOption's value if this JsonOption is nonempty.

    Returns a JsonSome containing the result of applying f to this JsonOption's value if this JsonOption is nonempty. Otherwise return JsonAbsent.

    f

    the function to apply

    Annotations
    @inline()
    Note

    This is similar to flatMap except here, f does not need to wrap its result in an JsonOption.

    See also

    flatMap

    foreach

  25. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. final def nonEmpty: Boolean

    Returns false if the option is JsonAbsent, true otherwise.

    Returns false if the option is JsonAbsent, true otherwise.

    Note

    Implemented here to avoid the implicit conversion to Iterable.

  27. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  28. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  29. final def orElse[B >: A](alternative: => JsonOption[B]): JsonOption[B]

    Returns this JsonOption if it is nonempty, otherwise return the result of evaluating alternative.

    Returns this JsonOption if it is nonempty, otherwise return the result of evaluating alternative.

    alternative

    the alternative expression.

    Annotations
    @inline()
  30. final def orNull[A1 >: A](implicit ev: <:<[Null, A1]): A1

    Returns the option's value if it is nonempty, or null if it is empty.

    Returns the option's value if it is nonempty, or null if it is empty. Although the use of null is discouraged, code written to use JsonOption must often interface with code that expects and returns nulls.

    Annotations
    @inline()
    Example:
    1. val initialText: Option[String] = getInitialText
      val textField = new JComponent(initialText.orNull,20)
  31. def someOrElse[B >: A](x: Option[B]): Option[B]

    Helper function to .orElse JsonSome.

    Helper function to .orElse JsonSome. Result is None for JsonNull but for JsonAbsent x param is returned

  32. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  33. final def toLeft[X](right: => X): Either[A, X]

    Returns a scala.util.Right containing the given argument right if this is empty, or a scala.util.Left containing this JsonOption's value if this JsonOption is nonempty.

    Returns a scala.util.Right containing the given argument right if this is empty, or a scala.util.Left containing this JsonOption's value if this JsonOption is nonempty.

    right

    the expression to evaluate and return if this is empty

    Annotations
    @SuppressWarnings() @inline()
    See also

    toRight

  34. def toList: List[A]

    Returns a singleton list containing the JsonOption's value if it is nonempty, or the empty list if the JsonOption is empty.

  35. final def toRight[X](left: => X): Either[X, A]

    Returns a scala.util.Left containing the given argument left if this JsonOption is empty, or a scala.util.Right containing this JsonOption's value if this is nonempty.

    Returns a scala.util.Left containing the given argument left if this JsonOption is empty, or a scala.util.Right containing this JsonOption's value if this is nonempty.

    left

    the expression to evaluate and return if this is empty

    Annotations
    @SuppressWarnings() @inline()
    See also

    toLeft

  36. def toString(): String
    Definition Classes
    AnyRef → Any
  37. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  38. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  40. final def withFilter(p: (A) => Boolean): WithFilter

    Necessary to keep JsonOption from being implicitly converted to scala.collection.Iterable in for comprehensions.

    Necessary to keep JsonOption from being implicitly converted to scala.collection.Iterable in for comprehensions.

    Annotations
    @inline()

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped