Class DimensionallyDependentIndexLayer

All Implemented Interfaces:
ILayer, ILayerListener, IUniqueIndexLayer, IPersistable

public class DimensionallyDependentIndexLayer extends AbstractIndexLayerTransform

A DimensionallyDependentIndexLayer is a layer whose horizontal and vertical dimensions are dependent on the horizontal and vertical dimensions of other layers. A DimensionallyDependentIndexLayer takes three constructor parameters: the horizontal layer that the DimensionallyDependentIndexLayer's horizontal dimension is linked to, the vertical layer that the DimensionallyDependentIndexLayer is linked to, and a base layer to which all non-dimensionally related ILayer method calls will be delegated to (e.g. command, event methods)

Prime examples of dimensionally dependent layers are the column header and row header layers. For example, the column header layer's horizontal dimension is linked to the body layer's horizontal dimension. This means that whatever columns are shown in the body area will also be shown in the column header area, and vice versa. Note that the column header layer maintains its own vertical dimension, however, so it's vertical layer dependency would be a separate data layer. The same is true for the row header layer, only with the vertical instead of the horizontal dimension. The constructors for the column header and row header layers would therefore look something like this:

 ILayer columnHeaderLayer = new DimensionallyDependentIndexLayer(
         columnHeaderRowDataLayer, bodyLayer, columnHeaderRowDataLayer);
 ILayer rowHeaderLayer = new DimensionallyDependentIndexLayer(
         rowHeaderColumnDataLayer, bodyLayer, rowHeaderColumnDataLayer);
 

In contrast to DimensionallyDependentLayer, this class:

  • Constructor Details

    • DimensionallyDependentIndexLayer

      public DimensionallyDependentIndexLayer(IUniqueIndexLayer baseLayer, IUniqueIndexLayer horizontalLayerDependency, IUniqueIndexLayer verticalLayerDependency)
      Creates a new DimensionallyDependentIndexLayer.
      Parameters:
      baseLayer - the underlying base layer
      horizontalLayerDependency - the layer, the horizontal dimension is linked to
      verticalLayerDependency - the layer, the vertical dimension is linked to
    • DimensionallyDependentIndexLayer

      protected DimensionallyDependentIndexLayer(IUniqueIndexLayer baseLayer)
      Creates a new DimensionallyDependentIndexLayer.
      Parameters:
      baseLayer - the underlying base layer
  • Method Details