When to use CursorJoiner / MatrixCursor / MergeCursor?
MergeCursor
, as you indicate, is designed to concatenate two data sets "vertically", adding more rows.
CursorJoiner
is designed to concatenate two data sets "horizontally", adding more columns. You can think of this as akin to implementing a simple SQL JOIN
.
MatrixCursor
allows you to build something that implements the Cursor
interface out of pure data, that you pour into a two-dimensional data model.
AbstractCursor
allows you to wrap your own custom data set in a Cursor
interface, overriding the methods that are necessary.