65 lines
1.5 KiB
Java
65 lines
1.5 KiB
Java
package jxl.read.biff;
|
|
|
|
import common.Logger;
|
|
import jxl.biff.IntegerHelper;
|
|
import jxl.biff.RecordData;
|
|
|
|
class MulRKRecord extends RecordData {
|
|
private static Logger logger = Logger.getLogger(MulRKRecord.class);
|
|
|
|
private int row;
|
|
|
|
private int colFirst;
|
|
|
|
private int colLast;
|
|
|
|
private int numrks;
|
|
|
|
private int[] rknumbers;
|
|
|
|
private int[] xfIndices;
|
|
|
|
public MulRKRecord(Record t) {
|
|
super(t);
|
|
byte[] data = getRecord().getData();
|
|
int length = getRecord().getLength();
|
|
this.row = IntegerHelper.getInt(data[0], data[1]);
|
|
this.colFirst = IntegerHelper.getInt(data[2], data[3]);
|
|
this.colLast = IntegerHelper.getInt(data[length - 2], data[length - 1]);
|
|
this.numrks = this.colLast - this.colFirst + 1;
|
|
this.rknumbers = new int[this.numrks];
|
|
this.xfIndices = new int[this.numrks];
|
|
readRks(data);
|
|
}
|
|
|
|
private void readRks(byte[] data) {
|
|
int pos = 4;
|
|
for (int i = 0; i < this.numrks; i++) {
|
|
this.xfIndices[i] = IntegerHelper.getInt(data[pos], data[pos + 1]);
|
|
int rk = IntegerHelper.getInt(data[pos + 2], data[pos + 3], data[pos + 4], data[pos + 5]);
|
|
this.rknumbers[i] = rk;
|
|
pos += 6;
|
|
}
|
|
}
|
|
|
|
public int getRow() {
|
|
return this.row;
|
|
}
|
|
|
|
public int getFirstColumn() {
|
|
return this.colFirst;
|
|
}
|
|
|
|
public int getNumberOfColumns() {
|
|
return this.numrks;
|
|
}
|
|
|
|
public int getRKNumber(int index) {
|
|
return this.rknumbers[index];
|
|
}
|
|
|
|
public int getXFIndex(int index) {
|
|
return this.xfIndices[index];
|
|
}
|
|
}
|