FieldDef: Implement generic backfilling logic

The change index has special behavior for recovering field values
from the index. This is used to serve dashboards and change queries
fast and without looking up data in NoteDb or the ChangeNotesCache.

Until now, each index implementation has implemented this backfilling
on its own for all fields. This change is generalizing the logic
to reduce boiler-plate.

Each index implementation now only has to implement an interface that
converts from its specific types to the types defined by FieldDef
(String, Integer, Long, byte[], Timestamp).

This commit adds backfilling logic for modified lines in ChangeData.

Change-Id: I301bc13c6ab5d8f061aeac6a0aaa09ebdf9e9640
3 files changed
tree: e3fb6b534362bffa726d4a2214754b86513c0a42
  1. java/
  2. javatests/