Package org.apache.poi.ss.util
Class CellRangeAddressBase
java.lang.Object
org.apache.poi.ss.util.CellRangeAddressBase
- All Implemented Interfaces:
Iterable<CellAddress>
- Direct Known Subclasses:
CellRangeAddress,CellRangeAddress8Bit
See OOO documentation: excelfileformat.pdf sec 2.5.14 - 'Cell Range Address'
Common superclass of 8-bit and 16-bit versions
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumIndicates a cell or range is in the given relative position in a range. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCellRangeAddressBase(int firstRow, int lastRow, int firstCol, int lastCol) -
Method Summary
Modifier and TypeMethodDescriptionbooleancontainsColumn(int colInd) Check if the column is in the specified cell rangebooleancontainsRow(int rowInd) Check if the row is in the specified cell rangebooleanfinal intfinal intfinal intfinal intprotected intprotected intprotected intprotected intintgetPosition(int rowInd, int colInd) Useful for logic like table/range styling, where some elements apply based on relative position in a range.inthashCode()booleanintersects(CellRangeAddressBase other) Determines whether or not this CellRangeAddress and the specified CellRangeAddress intersect.final booleanfinal booleanbooleanisInRange(int rowInd, int colInd) Determines if the given coordinates lie within the bounds of this range.booleanDetermines if the givenCelllies within the bounds of this range.booleanisInRange(CellAddress ref) Determines if the givenCellAddresslies within the bounds of this range.booleanisInRange(CellReference ref) Determines if the givenCellReferencelies within the bounds of this range.iterator()Returns an iterator over the CellAddresses in this cell range in row-major order.final voidsetFirstColumn(int firstCol) final voidsetFirstRow(int firstRow) final voidsetLastColumn(int lastCol) final voidsetLastRow(int lastRow) final StringtoString()voidvalidate(SpreadsheetVersion ssVersion) Validate the range limits against the supplied version of ExcelMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
CellRangeAddressBase
protected CellRangeAddressBase(int firstRow, int lastRow, int firstCol, int lastCol)
-
-
Method Details
-
validate
Validate the range limits against the supplied version of Excel- Parameters:
ssVersion- the version of Excel to validate against- Throws:
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:
-
isInRange
Determines if the givenCellReferencelies 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:
-
isInRange
Determines if the givenCellAddresslies 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 CellAddress to check- Returns:
- True if the reference lies within the bounds, false otherwise.
- See Also:
-
isInRange
Determines if the givenCelllies 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:
-
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
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:
-
getPosition
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.CellPositions 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).
-
iterator
Returns an iterator over the CellAddresses in this cell range in row-major order.- Specified by:
iteratorin interfaceIterable<CellAddress>- Since:
- POI 4.0.0
-
toString
-
getMinRow
protected int getMinRow() -
getMaxRow
protected int getMaxRow() -
getMinColumn
protected int getMinColumn() -
getMaxColumn
protected int getMaxColumn() -
equals
-
hashCode
public int hashCode()
-