object GenCodec extends FallbackMapCodecs with TupleGenCodecs

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GenCodec
  2. TupleGenCodecs
  3. FallbackMapCodecs
  4. RecursiveAutoCodecs
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class Auto [T](codec: GenCodec[T]) extends AnyVal with Product with Serializable

    Wrapper over GenCodec which forces fully automatic derivation.

    Wrapper over GenCodec which forces fully automatic derivation.

    If you ask for implicit value of type GenCodec[T], the codec must be explicitly declared and imported or put into implicit scope (e.g. companion object of T), even though it can be automatically implemented using materialize or materializeRecursively.

    However, if you ask for implicit value of type GenCodec.Auto[T], the compiler will always fall back to fully automatic derivation if it cannot find already declared GenCodec. Note that since GenCodec.Auto will always try to wrap already existing GenCodec (if there is one), you should never explicitly declare any instances of GenCodec.Auto. If you need custom serialization, just write a GenCodec and GenCodec.Auto will wrap it.

    Whether you want to use GenCodec or GenCodec.Auto depends on your use case. GenCodec should be generally used when you want the programmer to always explicitly state that some type is serializable. For example, if you serialize your objects in order to put them into database, you probably want to use GenCodec and not GenCodec.Auto, because every type that has been written to database is likely to be bound by backwards compatibility constraints and cannot be freely refactored. That's why you want to always explicitly make the decision of making a type serializable.

  2. final class Deferred [T] extends DeferredInstance[GenCodec[T]] with GenCodec[T]
  3. trait ErrorReportingCodec [T] extends GenCodec[T]
  4. trait ListCodec [T] extends NullSafeCodec[T]
  5. trait NullSafeCodec [T] extends GenCodec[T]
  6. trait ObjectCodec [T] extends NullSafeCodec[T]
  7. class ReadFailure extends RuntimeException
  8. final class SingletonCodec [T <: Singleton] extends ObjectCodec[T]
  9. class TransformedCodec [A, B] extends GenCodec[A]
  10. implicit final class TraversableOps [A] extends AnyVal
    Attributes
    protected
  11. class WriteFailure extends RuntimeException

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. implicit val BooleanCodec: GenCodec[Boolean]
  5. implicit val ByteArrayCodec: GenCodec[Array[Byte]]
  6. implicit val ByteCodec: GenCodec[Byte]
  7. implicit val CharCodec: GenCodec[Char]
  8. implicit val DoubleCodec: GenCodec[Double]
  9. implicit val FloatCodec: GenCodec[Float]
  10. implicit val IntCodec: GenCodec[Int]
  11. implicit val JBooleanCodec: GenCodec[jiop.BasicJavaInterop.JBoolean]
  12. implicit val JByteCodec: GenCodec[jiop.BasicJavaInterop.JByte]
  13. implicit val JCharacterCodec: GenCodec[jiop.BasicJavaInterop.JCharacter]
  14. implicit val JDateCodec: GenCodec[jiop.BasicJavaInterop.JDate]
  15. implicit val JDoubleCodec: GenCodec[jiop.BasicJavaInterop.JDouble]
  16. implicit val JFloatCodec: GenCodec[jiop.BasicJavaInterop.JFloat]
  17. implicit val JIntegerCodec: GenCodec[jiop.BasicJavaInterop.JInteger]
  18. implicit val JLongCodec: GenCodec[jiop.BasicJavaInterop.JLong]
  19. implicit val JShortCodec: GenCodec[jiop.BasicJavaInterop.JShort]
  20. implicit val LongCodec: GenCodec[Long]
  21. implicit val NothingAutoCodec: Auto[Nothing]
  22. implicit val NothingCodec: GenCodec[Nothing]
  23. implicit val NullCodec: GenCodec[Null]
  24. implicit val ShortCodec: GenCodec[Short]
  25. implicit val StringCodec: GenCodec[String]
  26. implicit val UnitCodec: GenCodec[Unit]
  27. implicit val VoidCodec: GenCodec[Void]
  28. implicit def arrayCodec[T](implicit arg0: ClassTag[T], arg1: GenCodec[T]): GenCodec[Array[T]]
  29. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  30. def autoRead[T](input: Input)(implicit autoCodec: Auto[T]): T
  31. def autoWrite[T](output: Output, value: T)(implicit autoCodec: Auto[T]): Unit
  32. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. def create[T](readFun: (Input) ⇒ T, writeFun: (Output, T) ⇒ Any): GenCodec[T]
  34. def createList[T >: Null](readFun: (ListInput) ⇒ T, writeFun: (ListOutput, T) ⇒ Any): ListCodec[T]
  35. def createNullSafe[T >: Null](readFun: (Input) ⇒ T, writeFun: (Output, T) ⇒ Any): GenCodec[T]
  36. def createObject[T >: Null](readFun: (ObjectInput) ⇒ T, writeFun: (ObjectOutput, T) ⇒ Any): ObjectCodec[T]
  37. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  38. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  39. implicit def fallbackJMapCodec[M[X, Y] >: Null <: jiop.BasicJavaInterop.JMap[X, Y], K, V](implicit arg0: GenCodec[K], arg1: GenCodec[V], cbf: JCanBuildFrom[(K, V), M[K, V]]): GenCodec[M[K, V] with jiop.BasicJavaInterop.JMap[K, V]]
    Definition Classes
    FallbackMapCodecs
  40. implicit def fallbackMapCodec[M[X, Y] >: Null <: BMap[X, Y], K, V](implicit arg0: GenCodec[K], arg1: GenCodec[V], cbf: CanBuildFrom[Nothing, (K, V), M[K, V]]): GenCodec[M[K, V] with BMap[K, V]]
    Definition Classes
    FallbackMapCodecs
  41. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  42. def fromKeyCodec[T](implicit keyCodec: GenKeyCodec[T]): GenCodec[T]
  43. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  44. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  45. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  46. implicit def jCollectionCodec[C[X] >: Null <: jiop.BasicJavaInterop.JCollection[X], T](implicit arg0: GenCodec[T], cbf: JCanBuildFrom[T, C[T]]): GenCodec[C[T] with jiop.BasicJavaInterop.JCollection[T]]
  47. implicit def jMapCodec[M[X, Y] >: Null <: jiop.BasicJavaInterop.JMap[X, Y], K, V](implicit arg0: GenKeyCodec[K], arg1: GenCodec[V], cbf: JCanBuildFrom[(K, V), M[K, V]]): GenCodec[M[K, V] with jiop.BasicJavaInterop.JMap[K, V]]
  48. implicit def mapCodec[M[X, Y] >: Null <: BMap[X, Y], K, V](implicit arg0: GenKeyCodec[K], arg1: GenCodec[V], cbf: CanBuildFrom[Nothing, (K, V), M[K, V]]): GenCodec[M[K, V] with BMap[K, V]]
  49. macro def materialize[T]: GenCodec[T]

    Macro that automatically materializes a GenCodec for some type T, which must be one of:

    Macro that automatically materializes a GenCodec for some type T, which must be one of:

    • singleton type, e.g. an object
    • case class whose every field type has its own GenCodec
    • (generalization of case classes) class or trait whose companion object has a pair of case-class-like apply and unapply methods and every parameter type of apply method has its own GenCodec
    • sealed hierarchy in which every non-abstract subclass either has its own GenCodec or it can be automatically materialized with the same mechanism

    Note that automatic materialization does NOT descend into types that T is made of (e.g. types of case class fields must have their own codecs independently declared). If you want recursive materialization, use materializeRecursively.

  50. implicit macro def materializeAuto[T]: Auto[T]
    Definition Classes
    RecursiveAutoCodecs
  51. implicit macro def materializeImplicitly[T](implicit allow: AllowImplicitMacro[GenCodec[T]]): GenCodec[T]

    Used internally for materialization of GenCodec.Auto.

    Used internally for materialization of GenCodec.Auto. Should not be used directly.

    Definition Classes
    RecursiveAutoCodecs
  52. macro def materializeRecursively[T]: GenCodec[T]

    Like materialize, but descends into types that T is made of (e.g.

    Like materialize, but descends into types that T is made of (e.g. case class field types).

    Definition Classes
    RecursiveAutoCodecs
  53. implicit def nOptCodec[T](implicit arg0: GenCodec[T]): GenCodec[NOpt[T]]
  54. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  55. final def notify(): Unit
    Definition Classes
    AnyRef
  56. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  57. implicit def optCodec[T](implicit arg0: GenCodec[T]): GenCodec[Opt[T]]
  58. implicit def optRefCodec[T >: Null](implicit arg0: GenCodec[T]): GenCodec[OptRef[T]]
  59. implicit def optionCodec[T](implicit arg0: GenCodec[T]): GenCodec[Option[T]]
  60. def read[T](input: Input)(implicit codec: GenCodec[T]): T
  61. implicit def seqCodec[C[X] >: Null <: BSeq[X], T](implicit arg0: GenCodec[T], cbf: CanBuildFrom[Nothing, T, C[T]]): GenCodec[C[T] with BSeq[T]]
  62. implicit def setCodec[C[X] >: Null <: BSet[X], T](implicit arg0: GenCodec[T], cbf: CanBuildFrom[Nothing, T, C[T]]): GenCodec[C[T] with BSet[T]]
  63. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  64. def toString(): String
    Definition Classes
    AnyRef → Any
  65. implicit def tuple10Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)]
    Definition Classes
    TupleGenCodecs
  66. implicit def tuple11Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)]
    Definition Classes
    TupleGenCodecs
  67. implicit def tuple12Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)]
    Definition Classes
    TupleGenCodecs
  68. implicit def tuple13Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)]
    Definition Classes
    TupleGenCodecs
  69. implicit def tuple14Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)]
    Definition Classes
    TupleGenCodecs
  70. implicit def tuple15Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)]
    Definition Classes
    TupleGenCodecs
  71. implicit def tuple16Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)]
    Definition Classes
    TupleGenCodecs
  72. implicit def tuple17Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)]
    Definition Classes
    TupleGenCodecs
  73. implicit def tuple18Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17], r18: GenCodec[T18]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)]
    Definition Classes
    TupleGenCodecs
  74. implicit def tuple19Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17], r18: GenCodec[T18], r19: GenCodec[T19]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)]
    Definition Classes
    TupleGenCodecs
  75. implicit def tuple20Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17], r18: GenCodec[T18], r19: GenCodec[T19], r20: GenCodec[T20]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)]
    Definition Classes
    TupleGenCodecs
  76. implicit def tuple21Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17], r18: GenCodec[T18], r19: GenCodec[T19], r20: GenCodec[T20], r21: GenCodec[T21]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)]
    Definition Classes
    TupleGenCodecs
  77. implicit def tuple22Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9], r10: GenCodec[T10], r11: GenCodec[T11], r12: GenCodec[T12], r13: GenCodec[T13], r14: GenCodec[T14], r15: GenCodec[T15], r16: GenCodec[T16], r17: GenCodec[T17], r18: GenCodec[T18], r19: GenCodec[T19], r20: GenCodec[T20], r21: GenCodec[T21], r22: GenCodec[T22]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)]
    Definition Classes
    TupleGenCodecs
  78. implicit def tuple2Codec[T1, T2](implicit r1: GenCodec[T1], r2: GenCodec[T2]): GenCodec[(T1, T2)]
    Definition Classes
    TupleGenCodecs
  79. implicit def tuple3Codec[T1, T2, T3](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3]): GenCodec[(T1, T2, T3)]
    Definition Classes
    TupleGenCodecs
  80. implicit def tuple4Codec[T1, T2, T3, T4](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4]): GenCodec[(T1, T2, T3, T4)]
    Definition Classes
    TupleGenCodecs
  81. implicit def tuple5Codec[T1, T2, T3, T4, T5](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5]): GenCodec[(T1, T2, T3, T4, T5)]
    Definition Classes
    TupleGenCodecs
  82. implicit def tuple6Codec[T1, T2, T3, T4, T5, T6](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6]): GenCodec[(T1, T2, T3, T4, T5, T6)]
    Definition Classes
    TupleGenCodecs
  83. implicit def tuple7Codec[T1, T2, T3, T4, T5, T6, T7](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7]): GenCodec[(T1, T2, T3, T4, T5, T6, T7)]
    Definition Classes
    TupleGenCodecs
  84. implicit def tuple8Codec[T1, T2, T3, T4, T5, T6, T7, T8](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8)]
    Definition Classes
    TupleGenCodecs
  85. implicit def tuple9Codec[T1, T2, T3, T4, T5, T6, T7, T8, T9](implicit r1: GenCodec[T1], r2: GenCodec[T2], r3: GenCodec[T3], r4: GenCodec[T4], r5: GenCodec[T5], r6: GenCodec[T6], r7: GenCodec[T7], r8: GenCodec[T8], r9: GenCodec[T9]): GenCodec[(T1, T2, T3, T4, T5, T6, T7, T8, T9)]
    Definition Classes
    TupleGenCodecs
  86. def underlyingCodec(codec: GenCodec[_]): GenCodec[_]
  87. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  88. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  89. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  90. def write[T](output: Output, value: T)(implicit codec: GenCodec[T]): Unit

Inherited from TupleGenCodecs

Inherited from FallbackMapCodecs

Inherited from RecursiveAutoCodecs

Inherited from AnyRef

Inherited from Any

Ungrouped