Всякий раз, когда мы читаем / записываем Объект с диска, мы можем выполнить некоторую модификацию Объекта с помощью readResolve
/ writeReplace
, прежде чем он будет фактически прочитан / записан на диск.
Существует ли какой-либо эквивалент readResolve / writeReplace для Andorid Room?
TypeConverter
довольно близко. Однако он работает только с одним атрибутом объекта, а не со всем объектом.
Одним из вариантов использования является то, что у меня есть объект с полем String body
.
- До того, как поле
body
будет зафиксировано, я бы хотел, чтобы encrypted(body)
был записан в БД. Исходное значение body
в самом объекте не изменяется.
- Когда поле
body
читается из БД, я бы хотел, чтобы decrypted(body)
читалось из БД. Исходное значение encrypted body
в БД не изменяется.