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
- All
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( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )