TwoDimensional
public class TwoLevelNavigator extends java.lang.Object implements TwoDimensional
TwoDimensional
that makes it trivial to calculate a position within a
two dimensional object.TwoDimensional.Bias, TwoDimensional.Position
Constructor | Description |
---|---|
TwoLevelNavigator(java.util.function.IntSupplier elemCount,
java.util.function.IntUnaryOperator elemLength) |
Creates a navigator that can be used to find a
TwoDimensional.Position within a two dimensional object. |
Modifier and Type | Method | Description |
---|---|---|
TwoDimensional.Position |
offsetToPosition(int offset,
TwoDimensional.Bias bias) |
Creates a two dimensional position in some entity (e.g.
|
TwoDimensional.Position |
position(int major,
int minor) |
Creates a two dimensional position in some entity (e.g.
|
public TwoLevelNavigator(java.util.function.IntSupplier elemCount, java.util.function.IntUnaryOperator elemLength)
TwoDimensional.Position
within a two dimensional object.elemCount
- a supplier that returns the number of "inner lists" within an "outer list" (see
TwoDimensional
for clarification). For example,
List::size
elemLength
- a function that, given the index of an "inner list," returns either the size of that "inner
list" of the length of that inner object.public TwoDimensional.Position position(int major, int minor)
TwoDimensional
major
value is the index within the outer list) and the minor
value is either the index within the inner list or some amount of length in a list of objects that have length.position
in interface TwoDimensional
public TwoDimensional.Position offsetToPosition(int offset, TwoDimensional.Bias bias)
TwoDimensional
offset
value is an absolute position in that entity.offsetToPosition
in interface TwoDimensional