first commit
This commit is contained in:
114
hrmsEjb/jxl/biff/SheetRangeImpl.java
Normal file
114
hrmsEjb/jxl/biff/SheetRangeImpl.java
Normal file
@@ -0,0 +1,114 @@
|
||||
package jxl.biff;
|
||||
|
||||
import jxl.Cell;
|
||||
import jxl.Range;
|
||||
import jxl.Sheet;
|
||||
|
||||
public class SheetRangeImpl implements Range {
|
||||
private Sheet sheet;
|
||||
|
||||
private int column1;
|
||||
|
||||
private int row1;
|
||||
|
||||
private int column2;
|
||||
|
||||
private int row2;
|
||||
|
||||
public SheetRangeImpl(Sheet s, int c1, int r1, int c2, int r2) {
|
||||
this.sheet = s;
|
||||
this.row1 = r1;
|
||||
this.row2 = r2;
|
||||
this.column1 = c1;
|
||||
this.column2 = c2;
|
||||
}
|
||||
|
||||
public SheetRangeImpl(SheetRangeImpl c, Sheet s) {
|
||||
this.sheet = s;
|
||||
this.row1 = c.row1;
|
||||
this.row2 = c.row2;
|
||||
this.column1 = c.column1;
|
||||
this.column2 = c.column2;
|
||||
}
|
||||
|
||||
public Cell getTopLeft() {
|
||||
return this.sheet.getCell(this.column1, this.row1);
|
||||
}
|
||||
|
||||
public Cell getBottomRight() {
|
||||
return this.sheet.getCell(this.column2, this.row2);
|
||||
}
|
||||
|
||||
public int getFirstSheetIndex() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
public int getLastSheetIndex() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
public boolean intersects(SheetRangeImpl range) {
|
||||
if (range == this)
|
||||
return true;
|
||||
if (this.row2 < range.row1 || this.row1 > range.row2 || this.column2 < range.column1 || this.column1 > range.column2)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
CellReferenceHelper.getCellReference(this.column1, this.row1, sb);
|
||||
sb.append('-');
|
||||
CellReferenceHelper.getCellReference(this.column2, this.row2, sb);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public void insertRow(int r) {
|
||||
if (r > this.row2)
|
||||
return;
|
||||
if (r <= this.row1)
|
||||
this.row1++;
|
||||
if (r <= this.row2)
|
||||
this.row2++;
|
||||
}
|
||||
|
||||
public void insertColumn(int c) {
|
||||
if (c > this.column2)
|
||||
return;
|
||||
if (c <= this.column1)
|
||||
this.column1++;
|
||||
if (c <= this.column2)
|
||||
this.column2++;
|
||||
}
|
||||
|
||||
public void removeRow(int r) {
|
||||
if (r > this.row2)
|
||||
return;
|
||||
if (r < this.row1)
|
||||
this.row1--;
|
||||
if (r < this.row2)
|
||||
this.row2--;
|
||||
}
|
||||
|
||||
public void removeColumn(int c) {
|
||||
if (c > this.column2)
|
||||
return;
|
||||
if (c < this.column1)
|
||||
this.column1--;
|
||||
if (c < this.column2)
|
||||
this.column2--;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return 0xFFFF ^ this.row1 ^ this.row2 ^ this.column1 ^ this.column2;
|
||||
}
|
||||
|
||||
public boolean equals(Object o) {
|
||||
if (o == this)
|
||||
return true;
|
||||
if (!(o instanceof SheetRangeImpl))
|
||||
return false;
|
||||
SheetRangeImpl compare = (SheetRangeImpl)o;
|
||||
return (this.column1 == compare.column1 && this.column2 == compare.column2 && this.row1 == compare.row1 && this.row2 == compare.row2);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user