package
typeadapter
Type Members
-
case class
AnyTypeAdapter(typeTypeAdapter: TypeAdapter[scala.reflect.api.JavaUniverse.Type], memberNameTypeAdapter: TypeAdapter[MemberName], mapTypeAdapter: TypeAdapter[Map[Any, Any]], listTypeAdapter: TypeAdapter[List[Any]], stringTypeAdapter: TypeAdapter[String], booleanTypeAdapter: TypeAdapter[Boolean], context: Context) extends SimpleTypeAdapter[Any] with Product with Serializable
-
-
case class
CanBuildFromTypeAdapter[Elem, To >: Null <: GenTraversableOnce[Elem]](canBuildFrom: CanBuildFrom[_, Elem, To], elementTypeAdapter: TypeAdapter[Elem]) extends TypeAdapter[To] with Product with Serializable
-
case class
CanBuildMapTypeAdapter[Key, Value, To >: Null <: GenMapLike[Key, Value, To]](canBuildFrom: CanBuildFrom[_, (Key, Value), To], keyTypeAdapter: TypeAdapter[Key], valueTypeAdapter: TypeAdapter[Value]) extends TypeAdapter[To] with Product with Serializable
-
case class
CaseClassTypeAdapter[T](context: Context, tpe: scala.reflect.api.JavaUniverse.Type, constructorMirror: scala.reflect.api.JavaUniverse.MethodMirror, memberNameTypeAdapter: TypeAdapter[MemberName], typeTypeAdapter: TypeAdapter[scala.reflect.api.JavaUniverse.Type], typeMembers: List[CaseClassTypeAdapter.TypeMember[T]], fieldMembers: List[ClassFieldMember[T, _]], isSJCapture: Boolean, collectionName: Option[String] = None) extends ClassLikeTypeAdapter[T] with Product with Serializable
-
-
-
case class
DerivedValueClassAdapter[DerivedValueClass, Value](constructorMirror: scala.reflect.api.JavaUniverse.MethodMirror, accessorMethodSymbol: scala.reflect.api.JavaUniverse.MethodSymbol, accessorMethod: Method, valueTypeAdapter: TypeAdapter[Value]) extends TypeAdapter[DerivedValueClass] with Product with Serializable
-
case class
EitherTypeAdapter[L, R](leftTypeAdapter: TypeAdapter[L], rightTypeAdapter: TypeAdapter[R], leftType: scala.reflect.api.JavaUniverse.Type, rightType: scala.reflect.api.JavaUniverse.Type) extends TypeAdapter[Either[L, R]] with Product with Serializable
-
case class
EnumerationTypeAdapter[E <: Enumeration](enum: E) extends TypeAdapter[typeadapter.EnumerationTypeAdapter.E.Value] with StringKind with Product with Serializable
-
case class
FallbackTypeAdapter[T](primaryTypeAdapter: TypeAdapter[T], secondaryTypeAdapter: TypeAdapter[T]) extends TypeAdapter[T] with Product with Serializable
-
case class
OptionTypeAdapter[T](valueTypeAdapter: TypeAdapter[T]) extends TypeAdapter[Option[T]] with Product with Serializable
-
-
case class
OptionTypeAdapterNull[T](valueTypeAdapter: TypeAdapter[T]) extends TypeAdapter[Option[T]] with Product with Serializable
-
case class
PlainClassTypeAdapter[T](caseClassType: scala.reflect.api.JavaUniverse.Type, constructorMirror: scala.reflect.api.JavaUniverse.MethodMirror, tpe: scala.reflect.api.JavaUniverse.Type, memberNameTypeAdapter: TypeAdapter[MemberName], members: List[ClassFieldMember[T, _]], isSJCapture: Boolean, dbKeys: List[ClassFieldMember[T, _]], collectionName: Option[String] = None) extends TypeAdapter[T] with Product with Serializable
-
case class
PolymorphicTypeAdapter[T](typeMemberName: MemberName, typeTypeAdapter: TypeAdapter[scala.reflect.api.JavaUniverse.Type], memberNameTypeAdapter: TypeAdapter[MemberName], context: Context, polymorphicType: scala.reflect.api.JavaUniverse.Type) extends TypeAdapter[T] with Product with Serializable
-
-
-
-
case class
TryTypeAdapter[T](valueTypeAdapter: TypeAdapter[T]) extends TypeAdapter[Try[T]] with Product with Serializable
-
case class
TupleTypeAdapter[T >: Null](fields: List[Field[_]], constructorMirror: scala.reflect.api.JavaUniverse.MethodMirror) extends TypeAdapter[T] with Product with Serializable
-
-
case class
TypeTypeAdapter(mirror: Mirror, typeModifier: Option[HintModifier] = None) extends TypeAdapter[scala.reflect.api.JavaUniverse.Type] with Product with Serializable
This class is virtually identical to SimpleTypeAdapter, except... it uses == rather than =:= type compare types in the factory to see if this is the TypeAdapter being sought by Context.
This difference is because =:= matches children. Consider: type Phone = String case class( name:String, phone:Phone )
With =:= both name and phone (String and Phone) will match a PhoneTypeAdapter based on SimpleTypeAdapter. This is actually what you want if you haven't overridden Phone with its own TypeAdapter... it should default to the TypeAdapter of its base type.
But... if you did provide an override PhoneTypeAdapter you want the matching to be strict, hence ==. With strict matching String != Phone.
This means all TypeAdapter overrides for primitives should extend BasicTypeAdapter, not SimpleTypeAdapter.