100 lines
2.5 KiB
Java
100 lines
2.5 KiB
Java
package jxl.write.biff;
|
|
|
|
import common.Logger;
|
|
import jxl.WorkbookSettings;
|
|
import jxl.biff.DVParser;
|
|
import jxl.biff.Type;
|
|
import jxl.biff.WritableRecordData;
|
|
import jxl.biff.formula.FormulaException;
|
|
|
|
class DataValiditySettingsRecord extends WritableRecordData {
|
|
private static final Logger logger = Logger.getLogger(DataValiditySettingsRecord.class);
|
|
|
|
private byte[] data;
|
|
|
|
private DVParser dvParser;
|
|
|
|
private WritableWorkbookImpl workbook;
|
|
|
|
private WorkbookSettings workbookSettings;
|
|
|
|
DataValiditySettingsRecord(jxl.read.biff.DataValiditySettingsRecord dvsr, WritableWorkbookImpl w, WorkbookSettings ws) {
|
|
super(Type.DV);
|
|
this.workbook = w;
|
|
this.workbookSettings = ws;
|
|
this.data = dvsr.getData();
|
|
}
|
|
|
|
DataValiditySettingsRecord(DataValiditySettingsRecord dvsr, WritableWorkbookImpl w, WorkbookSettings ws) {
|
|
super(Type.DV);
|
|
this.workbook = w;
|
|
this.workbookSettings = ws;
|
|
this.data = new byte[dvsr.data.length];
|
|
System.arraycopy(dvsr.data, 0, this.data, 0, this.data.length);
|
|
}
|
|
|
|
private void initialize() {
|
|
try {
|
|
if (this.dvParser == null)
|
|
this.dvParser = new DVParser(this.data, this.workbook, this.workbook, this.workbookSettings);
|
|
} catch (FormulaException e) {
|
|
logger.warn("Cannot read drop down range " + e.getMessage());
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
public byte[] getData() {
|
|
if (this.dvParser == null)
|
|
return this.data;
|
|
return this.dvParser.getData();
|
|
}
|
|
|
|
public void insertRow(int row) {
|
|
if (this.dvParser == null)
|
|
initialize();
|
|
this.dvParser.insertRow(row);
|
|
}
|
|
|
|
public void removeRow(int row) {
|
|
if (this.dvParser == null)
|
|
initialize();
|
|
this.dvParser.removeRow(row);
|
|
}
|
|
|
|
public void insertColumn(int col) {
|
|
if (this.dvParser == null)
|
|
initialize();
|
|
this.dvParser.insertColumn(col);
|
|
}
|
|
|
|
public void removeColumn(int col) {
|
|
if (this.dvParser == null)
|
|
initialize();
|
|
this.dvParser.removeColumn(col);
|
|
}
|
|
|
|
public int getFirstColumn() {
|
|
if (this.dvParser == null)
|
|
initialize();
|
|
return this.dvParser.getFirstColumn();
|
|
}
|
|
|
|
public int getLastColumn() {
|
|
if (this.dvParser == null)
|
|
initialize();
|
|
return this.dvParser.getLastColumn();
|
|
}
|
|
|
|
public int getFirstRow() {
|
|
if (this.dvParser == null)
|
|
initialize();
|
|
return this.dvParser.getFirstRow();
|
|
}
|
|
|
|
public int getLastRow() {
|
|
if (this.dvParser == null)
|
|
initialize();
|
|
return this.dvParser.getLastRow();
|
|
}
|
|
}
|