Class/Object

com.qvantel.jsonapi

JsonOption

Related Docs: object JsonOption | package jsonapi

Permalink

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
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsonOption
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class WithFilter extends AnyRef

    Permalink

    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

    Permalink

    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

    Permalink

    Returns true if maybe is nothing

  3. abstract def isEmpty: Boolean

    Permalink

    Returns true if maybe is nothing or null

  4. abstract def toOption: Option[A]

    Permalink

    Turns this JsonOption into scala Option

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def collect[B](pf: PartialFunction[A, B]): JsonOption[B]

    Permalink

    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

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. final def exists(p: (A) ⇒ Boolean): Boolean

    Permalink

    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]

    Permalink

    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]

    Permalink

    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. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def flatMap[B](f: (A) ⇒ JsonOption[B]): JsonOption[B]

    Permalink

    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

    foreach

    map

  15. def flatten[B](implicit ev: <:<[A, JsonOption[B]]): JsonOption[B]

    Permalink
  16. final def fold[B](ifEmpty: ⇒ B)(f: (A) ⇒ B): B

    Permalink

    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.

  17. final def forall(p: (A) ⇒ Boolean): Boolean

    Permalink

    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()
  18. final def foreach[U](f: (A) ⇒ U): Unit

    Permalink

    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

    flatMap

    map

  19. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  20. final def getOrElse[B >: A](default: ⇒ B): B

    Permalink

    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()
  21. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  22. def isDefined: Boolean

    Permalink

    Returns true if maybe is instance of just

  23. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  24. def iterator: Iterator[A]

    Permalink

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

  25. final def map[B](f: (A) ⇒ B): JsonOption[B]

    Permalink

    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

    foreach

    flatMap

  26. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  27. final def nonEmpty: Boolean

    Permalink

    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.

  28. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  29. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  30. final def orElse[B >: A](alternative: ⇒ JsonOption[B]): JsonOption[B]

    Permalink

    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()
  31. final def orNull[A1 >: A](implicit ev: <:<[Null, A1]): A1

    Permalink

    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)
  32. def someOrElse[B >: A](x: Option[B]): Option[B]

    Permalink

    Helper function to .orElse JsonSome.

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

  33. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  34. final def toLeft[X](right: ⇒ X): Either[A, X]

    Permalink

    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

  35. def toList: List[A]

    Permalink

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

  36. final def toRight[X](left: ⇒ X): Either[X, A]

    Permalink

    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

  37. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  38. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def withFilter(p: (A) ⇒ Boolean): WithFilter

    Permalink

    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()

Inherited from AnyRef

Inherited from Any

Ungrouped