scala.util.Either

# RightProjection

#### final case class RightProjection[+A, +B](e: Either[A, B]) extends Product with Serializable

Projects an `Either` into a `Right`.

This allows for-comprehensions over Either instances - for example

    for (s <- Right("flower").right) yield s.length // Right(6)

Continuing the analogy with scala.Option, a `RightProjection` declares that `Right` should be analogous to `Some` in some code.

Analogous to `LeftProjection`, see example usage in its documentation above.

Version

  1.0, 11/10/2008

Linear Supertypes
Serializable, java.io.Serializable, Product, Equals, AnyRef, Any
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. RightProjection
2. Serializable
3. Serializable
4. Product
5. Equals
6. AnyRef
7. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Instance Constructors

1. #### new RightProjection(e: Either[A, B])

### Value Members

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

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### def +(other: String): String

   Implicit information
     This member is added by an implicit conversion from RightProjection[A, B] to any2stringadd[RightProjection[A, B]] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd

4. #### def ->[B](y: B): (RightProjection[A, B], B)

   Implicit information
     This member is added by an implicit conversion from RightProjection[A, B] to ArrowAssoc[RightProjection[A, B]] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()

5. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

6. #### final def asInstanceOf[T0]: T0

   Definition Classes
     Any

7. #### def clone(): AnyRef

   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )

8. #### val e: Either[A, B]

9. #### def ensuring(cond: (RightProjection[A, B]) ⇒ Boolean, msg: ⇒ Any): RightProjection[A, B]

   Implicit information
     This member is added by an implicit conversion from RightProjection[A, B] to Ensuring[RightProjection[A, B]] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring

10. #### def ensuring(cond: (RightProjection[A, B]) ⇒ Boolean): RightProjection[A, B]

    Implicit information
      This member is added by an implicit conversion from RightProjection[A, B] to Ensuring[RightProjection[A, B]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

11. #### def ensuring(cond: Boolean, msg: ⇒ Any): RightProjection[A, B]

    Implicit information
      This member is added by an implicit conversion from RightProjection[A, B] to Ensuring[RightProjection[A, B]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

12. #### def ensuring(cond: Boolean): RightProjection[A, B]

    Implicit information
      This member is added by an implicit conversion from RightProjection[A, B] to Ensuring[RightProjection[A, B]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

13. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

14. #### def exists(f: (B) ⇒ Boolean): Boolean

    Returns `false` if `Left` or returns the result of the application of the given function to the `Right` value.

    Returns `false` if `Left` or returns the result of the application of the given function to the `Right` value.

        Right(12).right.exists(_ > 10)  // true
        Right(7).right.exists(_ > 10)   // false
        Left(12).right.exists(_ > 10)   // false

15. #### def filter[X](p: (B) ⇒ Boolean): Option[Either[X, B]]

    Returns `None` if this is a `Left` or if the given predicate `p` does not hold for the right value, otherwise, returns a `Right`.

    Returns `None` if this is a `Left` or if the given predicate `p` does not hold for the right value, otherwise, returns a `Right`.

        Right(12).right.filter(_ > 10) // Some(Right(12))
        Right(7).right.filter(_ > 10)  // None
        Left(12).right.filter(_ > 10)  // None

16. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

17. #### def flatMap[AA >: A, Y](f: (B) ⇒ Either[AA, Y]): Either[AA, Y]

    Binds the given function across `Right`.

    Binds the given function across `Right`.

    f

      The function to bind across `Right`.

18. #### def forall(f: (B) ⇒ Boolean): Boolean

    Returns `true` if `Left` or returns the result of the application of the given function to the `Right` value.

    Returns `true` if `Left` or returns the result of the application of the given function to the `Right` value.

        Right(12).right.forall(_ > 10) // true
        Right(7).right.forall(_ > 10)  // false
        Left(12).right.forall(_ > 10)  // true

19. #### def foreach[U](f: (B) ⇒ U): Any

    Executes the given side-effecting function if this is a `Right`.

    Executes the given side-effecting function if this is a `Right`.

        Right(12).right.foreach(x => println(x)) // prints "12"
        Left(12).right.foreach(x => println(x))  // doesn't print

    f

      The side-effecting function to execute.

20. #### def formatted(fmtstr: String): String

    Returns string formatted according to given `format` string.

    Returns string formatted according to given `format` string. Format strings are as for `String.format` (@see java.lang.String.format).

    Implicit information
      This member is added by an implicit conversion from RightProjection[A, B] to StringFormat[RightProjection[A, B]] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()

21. #### def get: B

    Returns the value from this `Right` or throws `Predef.NoSuchElementException` if this is a `Left`.

    Returns the value from this `Right` or throws `Predef.NoSuchElementException` if this is a `Left`.

        Right(12).right.get // 12
        Left(12).right.get // NoSuchElementException

    Exceptions thrown
      Predef.NoSuchElementException

      if the projection is `Left`.

22. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

23. #### def getOrElse[BB >: B](or: ⇒ BB): BB

    Returns the value from this `Right` or the given argument if this is a `Left`.

    Returns the value from this `Right` or the given argument if this is a `Left`.

        Right(12).right.getOrElse(17) // 12
        Left(12).right.getOrElse(17)  // 17

24. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

25. #### def map[Y](f: (B) ⇒ Y): Product with Serializable with Either[A, Y]

    The given function is applied if this is a `Right`.

    The given function is applied if this is a `Right`.

        Right(12).right.map(x => "flower") // Result: Right("flower")
        Left(12).right.map(x => "flower")  // Result: Left(12)

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

    Definition Classes
      AnyRef

27. #### final def notify(): Unit

    Definition Classes
      AnyRef

28. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

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

    Definition Classes
      AnyRef

30. #### def toOption: Option[B]

    Returns a `Some` containing the `Right` value if it exists or a `None` if this is a `Left`.

    Returns a `Some` containing the `Right` value if it exists or a `None` if this is a `Left`.

        Right(12).right.toOption // Some(12)
        Left(12).right.toOption // None

31. #### def toSeq: collection.Seq[B]

    Returns a `Seq` containing the `Right` value if it exists or an empty `Seq` if this is a `Left`.

    Returns a `Seq` containing the `Right` value if it exists or an empty `Seq` if this is a `Left`.

        Right(12).right.toSeq // Seq(12)
        Left(12).right.toSeq // Seq()

32. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

33. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

34. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

35. #### def →[B](y: B): (RightProjection[A, B], B)

    Implicit information
      This member is added by an implicit conversion from RightProjection[A, B] to ArrowAssoc[RightProjection[A, B]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
      ArrowAssoc

### Inherited from Serializable

### Inherited from java.io.Serializable

### Inherited from Product

### Inherited from Equals

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd from RightProjection[A, B] to any2stringadd[RightProjection[A, B]]

### Inherited by implicit conversion StringFormat from RightProjection[A, B] to StringFormat[RightProjection[A, B]]

### Inherited by implicit conversion Ensuring from RightProjection[A, B] to Ensuring[RightProjection[A, B]]

### Inherited by implicit conversion ArrowAssoc from RightProjection[A, B] to ArrowAssoc[RightProjection[A, B]]

### Ungrouped