uk.gov.hmrc.play.json

# Mappings

###
Related Doc: package json

#### object Mappings

Usage examples:

Constructor that never fails:

    case class Foo(value: String)

    object Foo extends (String => Foo) {

      private val mapping = Mappings.map[String, Foo](Foo, _.value)

      implicit val jsonFormat = mapping.jsonReads

      implicit val pathBindable = mapping.pathBindable

      implicit val queryStringBindable = mapping.queryStringBindable

    }

Constructor that may fail:

    case class Bar(value: String) {
      require(value.nonEmpty)
    }

    object Bar {

      private val mapping = Mappings.mapTry[String, Foo](s => Try(Foo(s)), _.value)

      implicit val jsonFormat = mapping.jsonReads

      implicit val pathBindable = mapping.pathBindable

      implicit val queryStringBindable = mapping.queryStringBindable

    }

Enumeration:

    sealed trait Base
    case object Thing1 extends Base
    case object Thing2 extends Base

    object Base {

      private val mapping = Mappings.mapEnum(Thing1, Thing2)

      def fromString(name: String): Option[Base] = mapping.fromString(name)

      implicit val jsonFormat = mapping.jsonReads

      implicit val pathBindable = mapping.pathBindable

      implicit val queryStringBindable = mapping.queryStringBindable

    }

Linear Supertypes
AnyRef, Any
Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. Mappings
2. AnyRef
3. Any

1. Hide All
2. Show All

Visibility

1. Public
2. All

### 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[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )

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

   Definition Classes
     AnyRef

7. #### def equals(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

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

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

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

   Definition Classes
     AnyRef → Any

10. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

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

    Definition Classes
      Any

12. #### def map[A, B](toDomain: (A) ⇒ B, fromDomain: (B) ⇒ A): Mapping[A, B]

13. #### def mapEither[A, B](toDomain: (A) ⇒ Either[String, B], fromDomain: (B) ⇒ A): Mapping[A, B]

14. #### def mapEnum[B](elements: B*)(implicit arg0: ClassTag[B]): EnumMapping[B]

15. #### def mapOption[A, B](toDomain: (A) ⇒ Option[B], fromDomain: (B) ⇒ A)(implicit arg0: ClassTag[B]): Mapping[A, B]

16. #### def mapTry[A, B](toDomain: (A) ⇒ Try[B], fromDomain: (B) ⇒ A): Mapping[A, B]

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

    Definition Classes
      AnyRef

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

    Definition Classes
      AnyRef

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

    Definition Classes
      AnyRef

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

    Definition Classes
      AnyRef

21. #### def toString(): String

    Definition Classes
      AnyRef → Any

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

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

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

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

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

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

### Inherited from AnyRef

### Inherited from Any

### Ungrouped