TypeConverters

@Target(allowedTargets = [AnnotationTarget.FUNCTION, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.FIELD, AnnotationTarget.CLASS])
@Retention(value = AnnotationRetention.BINARY)
public annotation TypeConverters


Specifies additional type converters that Room can use. The TypeConverter is added to the scope of the element so if you put it on a class / interface, all methods / fields in that class will be able to use the converters.

TypeConverters can only be used to convert columns / fields, hence cannot be used by a method with a row return value such as DAO methods that query rows.

  • If you put it on a Database, all Daos and Entities in that database will be able to use it.

  • If you put it on a Dao, all methods in the Dao will be able to use it.

  • If you put it on an Entity, all fields of the Entity will be able to use it.

  • If you put it on a POJO, all fields of the POJO will be able to use it.

  • If you put it on an Entity field, only that field will be able to use it.

  • If you put it on a Dao method, all parameters of the method will be able to use it.

  • If you put it on a Dao method parameter, just that field will be able to use it.

See also
TypeConverter

Summary

Public constructors

TypeConverters(
    @NonNull KClass<@NonNull ?> value,
    @NonNull BuiltInTypeConverters builtInTypeConverters
)

Public methods

final @NonNull BuiltInTypeConverters

Configure whether Room can use various built in converters for common types.

final @NonNull KClass[]

The list of type converter classes.

Public constructors

TypeConverters

public TypeConverters(
    @NonNull KClass<@NonNull ?> value,
    @NonNull BuiltInTypeConverters builtInTypeConverters
)

Public methods

getBuiltInTypeConverters

public final @NonNull BuiltInTypeConverters getBuiltInTypeConverters()

Configure whether Room can use various built in converters for common types. See BuiltInTypeConverters for details.

getValue

public final @NonNull KClass[] getValue()

The list of type converter classes. If converter methods are not static, Room will create an instance of these classes.

Returns
@NonNull KClass[]

The list of classes that contains the converter methods.