Interface RowsAndColumnsDecorator

  • All Known Implementing Classes:
    DefaultRowsAndColumnsDecorator

    public interface RowsAndColumnsDecorator
    An interface for "decorating" a rowsAndColumns. This basically takes extra metadata that impacts the shape of the RowsAndColumns. Generally speaking, all of the void methods on this interface should cause the RowsAndColumns object to act as if it has been mutated with that decoration already. That is, whether an implementation is lazy or not should not impact what is visible/not visible. After all decoration methods have been called, either restrictColumns(List) or toRowsAndColumns() can be called to generate a RowsAndColumns with the decorations applied. Note, that it is generally expected that implementations will choose to lazily apply the decorations and not actually materialize them until the last possible moment, but this is an implementation detail left up to the specific implementation.