Packages

trait Codec[A] extends Decoder[A] with Encoder[A]

A type class that provides back and forth conversion between values of type A and the Json format.

Note that this type class is only intended to make instance definition more convenient; it generally should not be used as a constraint.

Instances should obey the laws defined in io.circe.testing.CodecLaws.

Source
Codec.scala
Linear Supertypes
Encoder[A], Decoder[A], Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Codec
  2. Encoder
  3. Decoder
  4. Serializable
  5. AnyRef
  6. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def apply(a: A): Json

    Convert a value to JSON.

    Convert a value to JSON.

    Definition Classes
    Encoder
  2. abstract def apply(c: HCursor): Result[A]

    Decode the given HCursor.

    Decode the given HCursor.

    Definition Classes
    Decoder

Concrete 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
    This member is added by an implicit conversion from Codec[A] to any2stringadd[Codec[A]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Codec[A], B)
    Implicit
    This member is added by an implicit conversion from Codec[A] to ArrowAssoc[Codec[A]] 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. final def at(field: String): Decoder[A]

    Create a new decoder that attempts to navigate to the specified field before decoding.

    Create a new decoder that attempts to navigate to the specified field before decoding.

    Definition Classes
    Decoder
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  9. final def contramap[B](f: (B) ⇒ A): Encoder[B]

    Create a new Encoder by applying a function to a value of type B before encoding as an A.

    Create a new Encoder by applying a function to a value of type B before encoding as an A.

    Definition Classes
    Encoder
  10. def decodeAccumulating(c: HCursor): AccumulatingResult[A]
    Definition Classes
    Decoder
  11. final def decodeJson(j: Json): Result[A]

    Decode the given Json value.

    Decode the given Json value.

    Definition Classes
    Decoder
  12. final def either[B](decodeB: Decoder[B]): Decoder[Either[A, B]]

    Choose the first succeeding decoder, wrapping the result in a disjunction.

    Choose the first succeeding decoder, wrapping the result in a disjunction.

    Definition Classes
    Decoder
  13. final def emap[B](f: (A) ⇒ Either[String, B]): Decoder[B]

    Create a new decoder that performs some operation on the result if this one succeeds.

    Create a new decoder that performs some operation on the result if this one succeeds.

    f

    a function returning either a value or an error message

    Definition Classes
    Decoder
  14. final def emapTry[B](f: (A) ⇒ Try[B]): Decoder[B]

    Create a new decoder that performs some operation on the result if this one succeeds.

    Create a new decoder that performs some operation on the result if this one succeeds.

    f

    a function returning either a value or an error message

    Definition Classes
    Decoder
  15. final def ensure(errors: (A) ⇒ List[String]): Decoder[A]

    Build a new instance that fails with one or more errors if the condition does not hold for the result.

    Build a new instance that fails with one or more errors if the condition does not hold for the result.

    If the result of the function applied to the decoded value is the empty list, the new decoder will succeed with that value.

    Definition Classes
    Decoder
  16. final def ensure(pred: (A) ⇒ Boolean, message: ⇒ String): Decoder[A]

    Build a new instance that fails if the condition does not hold for the result.

    Build a new instance that fails if the condition does not hold for the result.

    Note that in the case of chained calls to this method, only the first failure will be returned.

    Definition Classes
    Decoder
  17. def ensuring(cond: (Codec[A]) ⇒ Boolean, msg: ⇒ Any): Codec[A]
    Implicit
    This member is added by an implicit conversion from Codec[A] to Ensuring[Codec[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: (Codec[A]) ⇒ Boolean): Codec[A]
    Implicit
    This member is added by an implicit conversion from Codec[A] to Ensuring[Codec[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean, msg: ⇒ Any): Codec[A]
    Implicit
    This member is added by an implicit conversion from Codec[A] to Ensuring[Codec[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. def ensuring(cond: Boolean): Codec[A]
    Implicit
    This member is added by an implicit conversion from Codec[A] to Ensuring[Codec[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  21. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  23. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. final def flatMap[B](f: (A) ⇒ Decoder[B]): Decoder[B]

    Monadically bind a function over this Decoder.

    Monadically bind a function over this Decoder.

    Definition Classes
    Decoder
  25. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Codec[A] to StringFormat[Codec[A]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  26. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. final def handleErrorWith(f: (DecodingFailure) ⇒ Decoder[A]): Decoder[A]

    Create a new instance that handles any of this instance's errors with the given function.

    Create a new instance that handles any of this instance's errors with the given function.

    Note that in the case of accumulating decoding, only the first error will be used in recovery.

    Definition Classes
    Decoder
  28. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  29. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  30. final def kleisli: Kleisli[Result, HCursor, A]

    Convert to a Kleisli arrow.

    Convert to a Kleisli arrow.

    Definition Classes
    Decoder
  31. final def map[B](f: (A) ⇒ B): Decoder[B]

    Map a function over this Decoder.

    Map a function over this Decoder.

    Definition Classes
    Decoder
  32. final def mapJson(f: (Json) ⇒ Json): Encoder[A]

    Create a new Encoder by applying a function to the output of this one.

    Create a new Encoder by applying a function to the output of this one.

    Definition Classes
    Encoder
  33. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  35. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  36. final def or[AA >: A](d: ⇒ Decoder[AA]): Decoder[AA]

    Choose the first succeeding decoder.

    Choose the first succeeding decoder.

    Definition Classes
    Decoder
  37. final def prepare(f: (ACursor) ⇒ ACursor): Decoder[A]

    Create a new decoder that performs some operation on the incoming JSON before decoding.

    Create a new decoder that performs some operation on the incoming JSON before decoding.

    Definition Classes
    Decoder
  38. final def product[B](fb: Decoder[B]): Decoder[(A, B)]

    Run two decoders and return their results as a pair.

    Run two decoders and return their results as a pair.

    Definition Classes
    Decoder
  39. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  40. def toString(): String
    Definition Classes
    AnyRef → Any
  41. def tryDecode(c: ACursor): Result[A]

    Decode the given ACursor.

    Decode the given ACursor.

    Note that if you override the default implementation, you should also be sure to override tryDecodeAccumulating in order for fail-fast and accumulating decoding to be consistent.

    Definition Classes
    Decoder
  42. def tryDecodeAccumulating(c: ACursor): AccumulatingResult[A]
    Definition Classes
    Decoder
  43. final def validate(pred: (HCursor) ⇒ Boolean, message: ⇒ String): Decoder[A]

    Build a new instance that fails if the condition does not hold for the input.

    Build a new instance that fails if the condition does not hold for the input.

    Note that this condition is checked before decoding with the current decoder, and if it does not hold, decoding does not continue. This means that if you chain calls to this method, errors will not be accumulated (instead only the error of the last failing validate in the chain will be returned).

    Definition Classes
    Decoder
  44. final def validate(errors: (HCursor) ⇒ List[String]): Decoder[A]

    Build a new instance that fails if the condition does not hold for the input.

    Build a new instance that fails if the condition does not hold for the input.

    Note that this condition is checked before decoding with the current decoder, and if it does not hold, decoding does not continue. This means that if you chain calls to this method, errors will not be accumulated (instead only the error of the last failing validate in the chain will be returned).

    Definition Classes
    Decoder
  45. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  47. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  48. final def withErrorMessage(message: String): Decoder[A]

    Build a new instance with the specified error message.

    Build a new instance with the specified error message.

    Definition Classes
    Decoder
  49. def [B](y: B): (Codec[A], B)
    Implicit
    This member is added by an implicit conversion from Codec[A] to ArrowAssoc[Codec[A]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Deprecated Value Members

  1. final def accumulating(c: HCursor): AccumulatingResult[A]
    Definition Classes
    Decoder
    Annotations
    @deprecated
    Deprecated

    (Since version 0.12.0) Use decodeAccumulating

Inherited from Encoder[A]

Inherited from Decoder[A]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Codec[A] to any2stringadd[Codec[A]]

Inherited by implicit conversion StringFormat from Codec[A] to StringFormat[Codec[A]]

Inherited by implicit conversion Ensuring from Codec[A] to Ensuring[Codec[A]]

Inherited by implicit conversion ArrowAssoc from Codec[A] to ArrowAssoc[Codec[A]]

Ungrouped