Files
HRMS/hrmsEjb/jxl/write/biff/DataValidation.java
2025-07-28 13:56:49 +05:30

93 lines
3.0 KiB
Java

package jxl.write.biff;
import common.Logger;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import jxl.WorkbookSettings;
import jxl.biff.ByteData;
import jxl.read.biff.DataValiditySettingsRecord;
public class DataValidation {
private static final Logger logger = Logger.getLogger(DataValidation.class);
private DataValidityListRecord validityList;
private ArrayList validitySettings;
private int pos;
private WritableWorkbookImpl workbook;
private WorkbookSettings workbookSettings;
DataValidation(jxl.read.biff.DataValidation dv, WritableWorkbookImpl w, WorkbookSettings ws) {
this.workbook = w;
this.workbookSettings = ws;
this.validityList = new DataValidityListRecord(dv.getDataValidityList());
DataValiditySettingsRecord[] settings = dv.getDataValiditySettings();
this.validitySettings = new ArrayList(settings.length);
for (int i = 0; i < settings.length; i++)
this.validitySettings.add(new DataValiditySettingsRecord(settings[i], this.workbook, this.workbookSettings));
}
DataValidation(DataValidation dv, WritableWorkbookImpl w, WorkbookSettings ws) {
this.workbook = w;
this.workbookSettings = ws;
this.validityList = new DataValidityListRecord(dv.validityList);
this.validitySettings = new ArrayList(dv.validitySettings.size());
for (Iterator i = dv.validitySettings.iterator(); i.hasNext(); ) {
DataValiditySettingsRecord dvsr = i.next();
this.validitySettings.add(new DataValiditySettingsRecord(dvsr, this.workbook, this.workbookSettings));
}
}
public void write(File outputFile) throws IOException {
if (!this.validityList.hasDVRecords())
return;
outputFile.write((ByteData)this.validityList);
for (Iterator i = this.validitySettings.iterator(); i.hasNext(); ) {
DataValiditySettingsRecord dv = i.next();
outputFile.write((ByteData)dv);
}
}
public void insertRow(int row) {
for (Iterator i = this.validitySettings.iterator(); i.hasNext(); ) {
DataValiditySettingsRecord dv = i.next();
dv.insertRow(row);
}
}
public void removeRow(int row) {
for (Iterator i = this.validitySettings.iterator(); i.hasNext(); ) {
DataValiditySettingsRecord dv = i.next();
if (dv.getFirstRow() == row && dv.getLastRow() == row) {
i.remove();
this.validityList.dvRemoved();
continue;
}
dv.removeRow(row);
}
}
public void insertColumn(int col) {
for (Iterator i = this.validitySettings.iterator(); i.hasNext(); ) {
DataValiditySettingsRecord dv = i.next();
dv.insertColumn(col);
}
}
public void removeColumn(int col) {
for (Iterator i = this.validitySettings.iterator(); i.hasNext(); ) {
DataValiditySettingsRecord dv = i.next();
if (dv.getFirstColumn() == col && dv.getLastColumn() == col) {
i.remove();
this.validityList.dvRemoved();
continue;
}
dv.removeColumn(col);
}
}
}