Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.poi.ss.util
Class CellRangeAddressBase

    java.lang.Object
      org.apache.poi.ss.util.CellRangeAddressBase

Direct Known Subclasses:
  CellRangeAddress, CellRangeAddress8Bit

    public abstract class CellRangeAddressBase

extends java.lang.Object

See OOO documentation: excelfileformat.pdf sec 2.5.14 - 'Cell Range Address'

Common superclass of 8-bit and 16-bit versions

Nested Class Summary
`static class` | `CellRangeAddressBase.CellPosition` Indicates a cell or range is in the given relative position in a range.

Constructor Summary
`protected` | `CellRangeAddressBase(int firstRow, int lastRow, int firstCol, int lastCol)`

Method Summary
`boolean` | `containsColumn(int colInd)` Check if the column is in the specified cell range
`boolean` | `containsRow(int rowInd)` Check if the row is in the specified cell range
`boolean` | `equals(java.lang.Object other)`
`int` | `getFirstColumn()`
`int` | `getFirstRow()`
`int` | `getLastColumn()`
`int` | `getLastRow()`
`protected int` | `getMaxColumn()`
`protected int` | `getMaxRow()`
`protected int` | `getMinColumn()`
`protected int` | `getMinRow()`
`int` | `getNumberOfCells()`
`java.util.Set<CellRangeAddressBase.CellPosition>` | `getPosition(int rowInd, int colInd)` Useful for logic like table/range styling, where some elements apply based on relative position in a range.
`int` | `hashCode()`
`boolean` | `intersects(CellRangeAddressBase other)` Determines whether or not this CellRangeAddress and the specified CellRangeAddress intersect.
`boolean` | `isFullColumnRange()`
`boolean` | `isFullRowRange()`
`boolean` | `isInRange(Cell cell)` Determines if the given `Cell` lies within the bounds of this range.
`boolean` | `isInRange(CellReference ref)` Determines if the given `CellReference` lies within the bounds of this range.
`boolean` | `isInRange(int rowInd, int colInd)` Determines if the given coordinates lie within the bounds of this range.
`void` | `setFirstColumn(int firstCol)`
`void` | `setFirstRow(int firstRow)`
`void` | `setLastColumn(int lastCol)`
`void` | `setLastRow(int lastRow)`
`java.lang.String` | `toString()`
`void` | `validate(SpreadsheetVersion ssVersion)` Validate the range limits against the supplied version of Excel

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### CellRangeAddressBase

    protected CellRangeAddressBase(int firstRow,
                                   int lastRow,
                                   int firstCol,
                                   int lastCol)

Method Detail

### validate

    public void validate(SpreadsheetVersion ssVersion)

  Validate the range limits against the supplied version of Excel

  Parameters:
    `ssVersion` - the version of Excel to validate against
  Throws:
    `java.lang.IllegalArgumentException` - if the range limits are outside of the allowed range

### isFullColumnRange

    public final boolean isFullColumnRange()

### isFullRowRange

    public final boolean isFullRowRange()

### getFirstColumn

    public final int getFirstColumn()

  Returns:
    column number for the upper left hand corner

### getFirstRow

    public final int getFirstRow()

  Returns:
    row number for the upper left hand corner

### getLastColumn

    public final int getLastColumn()

  Returns:
    column number for the lower right hand corner

### getLastRow

    public final int getLastRow()

  Returns:
    row number for the lower right hand corner

### isInRange

    public boolean isInRange(int rowInd,
                             int colInd)

  Determines if the given coordinates lie within the bounds of this range.

  Parameters:
    `rowInd` - The row, 0-based.
    `colInd` - The column, 0-based.
  Returns:
    True if the coordinates lie within the bounds, false otherwise.
  See Also:
    `for checking if two ranges overlap`

### isInRange

    public boolean isInRange(CellReference ref)

  Determines if the given `CellReference` lies within the bounds of this range.

  NOTE: It is up to the caller to ensure the reference is for the correct sheet, since this instance doesn't have a sheet reference.

  Parameters:
    `ref` - the CellReference to check
  Returns:
    True if the reference lies within the bounds, false otherwise.
  See Also:
    `for checking if two ranges overlap`

### isInRange

    public boolean isInRange(Cell cell)

  Determines if the given `Cell` lies within the bounds of this range.

  NOTE: It is up to the caller to ensure the reference is for the correct sheet, since this instance doesn't have a sheet reference.

  Parameters:
    `cell` - the Cell to check
  Returns:
    True if the cell lies within the bounds, false otherwise.
  See Also:
    `for checking if two ranges overlap`

### containsRow

    public boolean containsRow(int rowInd)

  Check if the row is in the specified cell range

  Parameters:
    `rowInd` - the row to check
  Returns:
    true if the range contains the row [rowInd]

### containsColumn

    public boolean containsColumn(int colInd)

  Check if the column is in the specified cell range

  Parameters:
    `colInd` - the column to check
  Returns:
    true if the range contains the column [colInd]

### intersects

    public boolean intersects(CellRangeAddressBase other)

  Determines whether or not this CellRangeAddress and the specified CellRangeAddress intersect.

  Parameters:
    `other` - a candidate cell range address to check for intersection with this range
  Returns:
    returns true if this range and other range have at least 1 cell in common
  See Also:
    `for checking if a single cell intersects`

### getPosition

    public java.util.Set<CellRangeAddressBase.CellPosition> getPosition(int rowInd,
                                                                        int colInd)

  Useful for logic like table/range styling, where some elements apply based on relative position in a range.

  Parameters:
    `rowInd` -
    `colInd` -
  Returns:
    set of `CellRangeAddressBase.CellPosition`s occupied by the given coordinates. Empty if the coordinates are not in the range, never null.
  Since:
    3.17 beta 1

### setFirstColumn

    public final void setFirstColumn(int firstCol)

  Parameters:
    `firstCol` - column number for the upper left hand corner

### setFirstRow

    public final void setFirstRow(int firstRow)

  Parameters:
    `firstRow` - row number for the upper left hand corner

### setLastColumn

    public final void setLastColumn(int lastCol)

  Parameters:
    `lastCol` - column number for the lower right hand corner

### setLastRow

    public final void setLastRow(int lastRow)

  Parameters:
    `lastRow` - row number for the lower right hand corner

### getNumberOfCells

    public int getNumberOfCells()

  Returns:
    the size of the range (number of cells in the area).

### toString

    public final java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### getMinRow

    protected int getMinRow()

### getMaxRow

    protected int getMaxRow()

### getMinColumn

    protected int getMinColumn()

### getMaxColumn

    protected int getMaxColumn()

### equals

    public boolean equals(java.lang.Object other)

  Overrides:
    `equals` in class `java.lang.Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2017 The Apache Software Foundation or its licensors, as applicable.