class Serializer extends Annotation with StaticAnnotation
This annotation is used by Codec Registration Checker for marking serializers.
Compiler plugin takes the body of a marked class, collects all types that are present, filters them with provided regex and extracts type parameters.
Then filtered types and extracted type parameters are checked against all direct subtypes of clazz.
Sometimes types appear unexpectedly during type class derivation leading to false negatives, i.e. a codec reported as registered even though it's NOT registered.
The role of typeRegexPattern is to filter detected types, ensuring they are used in the right context.
For example, if we want to serialize trait Command, then type Registration[Command] is relevant, while Option[Command] is not.
If you are using circe-akka-serializer, set typeRegexPattern to Register.REGISTRATION_REGEX
- Annotations
- @nowarn()
- Alphabetic
- By Inheritance
- Serializer
- StaticAnnotation
- Annotation
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Serializer(clazz: Class[_], typeRegexPattern: String = ".*")
- clazz
class literal of serializability marker trait, for example
classOf[MySerializable]- typeRegexPattern
regular expression that is used for filtering detected types, before type argument extraction
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()