Package org.apache.poi.ss.util
Class CellRangeAddressBase
- java.lang.Object
-
- org.apache.poi.ss.util.CellRangeAddressBase
-
- All Implemented Interfaces:
java.lang.Iterable<CellAddress>
- Direct Known Subclasses:
CellRangeAddress,CellRangeAddress8Bit
public abstract class CellRangeAddressBase extends java.lang.Object implements java.lang.Iterable<CellAddress>
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 Classes Modifier and Type Class Description static classCellRangeAddressBase.CellPositionIndicates a cell or range is in the given relative position in a range.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontainsColumn(int colInd)Check if the column is in the specified cell rangebooleancontainsRow(int rowInd)Check if the row is in the specified cell rangebooleanequals(java.lang.Object other)intgetFirstColumn()intgetFirstRow()intgetLastColumn()intgetLastRow()intgetNumberOfCells()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.inthashCode()booleanintersects(CellRangeAddressBase other)Determines whether or not this CellRangeAddress and the specified CellRangeAddress intersect.booleanisFullColumnRange()booleanisFullRowRange()booleanisInRange(int rowInd, int colInd)Determines if the given coordinates lie within the bounds of this range.booleanisInRange(Cell cell)Determines 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.java.util.Iterator<CellAddress>iterator()Returns an iterator over the CellAddresses in this cell range in row-major order.voidsetFirstColumn(int firstCol)voidsetFirstRow(int firstRow)voidsetLastColumn(int lastCol)voidsetLastRow(int lastRow)java.lang.StringtoString()voidvalidate(SpreadsheetVersion ssVersion)Validate the range limits against the supplied version of Excel
-
-
-
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 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:
for checking if two ranges overlap
-
isInRange
public boolean isInRange(CellAddress ref)
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:
for checking if two ranges overlap
-
isInRange
public boolean isInRange(Cell cell)
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:
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.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
public java.util.Iterator<CellAddress> iterator()
Returns an iterator over the CellAddresses in this cell range in row-major order.- Specified by:
iteratorin interfacejava.lang.Iterable<CellAddress>- Since:
- POI 4.0.0
-
toString
public final java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-