/** * Copy constructor */ DataValiditySettingsRecord(DataValiditySettingsRecord dvsr) { super(Type.DV); data = dvsr.getData(); }
/** * Removes the data validation for a specific cell * * @param col the column * @param row the row */ public void removeDataValidation (int col, int row) { for (Iterator i = validitySettings.iterator(); i.hasNext() ; ) { DataValiditySettingsRecord dv = (DataValiditySettingsRecord) i.next(); if (dv.getFirstColumn() == col && dv.getLastColumn() == col && dv.getFirstRow() == row && dv.getLastRow() == row) { i.remove(); validityList.dvRemoved(); break; } } }
/** * Gets the data validation list as a formula. Used only when reading * * @return the validation formula as a list */ public String getDataValidationList() { if (validationSettings == null) { return null; } return validationSettings.getValidationFormula(); }
/** * Used during the copy process to retrieve the validity settings for * a particular cell */ public DataValiditySettingsRecord getDataValiditySettings(int col, int row) { boolean found = false; DataValiditySettingsRecord foundRecord = null; for (Iterator i = validitySettings.iterator(); i.hasNext() && !found;) { DataValiditySettingsRecord dvsr = (DataValiditySettingsRecord) i.next(); if (dvsr.getFirstColumn() == col && dvsr.getFirstRow() == row) { found = true; foundRecord = dvsr; } } return foundRecord; }
/** * Removes row * * @param row the row to be removed */ public void removeRow(int row) { for (Iterator i = validitySettings.iterator(); i.hasNext() ; ) { DataValiditySettingsRecord dv = (DataValiditySettingsRecord) i.next(); if (dv.getFirstRow() == row && dv.getLastRow() == row) { i.remove(); validityList.dvRemoved(); } else { dv.removeRow(row); } } }
/** * Removes a column * * @param col the inserted column */ public void removeColumn(int col) { for (Iterator i = validitySettings.iterator(); i.hasNext() ; ) { DataValiditySettingsRecord dv = (DataValiditySettingsRecord) i.next(); if (dv.getFirstColumn() == col && dv.getLastColumn() == col) { i.remove(); validityList.dvRemoved(); } else { dv.removeColumn(col); } } }
/** * Inserts a row * * @param row the row to insert */ public void insertRow(int row) { if (dvParser == null) { initialize(); } dvParser.insertRow(row); }
/** * Copy constructor used to copy from read to write */ public DataValidation(DataValidation dv, ExternalSheet es, WorkbookMethods wm, WorkbookSettings ws ) { workbook = wm; externalSheet = es; workbookSettings = ws; copied = true; validityList = new DataValidityListRecord(dv.getDataValidityList()); validitySettings = new ArrayList(); DataValiditySettingsRecord[] settings = dv.getDataValiditySettings(); for (int i = 0; i < settings.length ; i++) { validitySettings.add(new DataValiditySettingsRecord(settings[i], externalSheet, workbook, workbookSettings)); } }
/** * Inserts a column * * @param col the inserted column */ public void insertColumn(int col) { for (Iterator i = validitySettings.iterator(); i.hasNext() ; ) { DataValiditySettingsRecord dv = (DataValiditySettingsRecord) i.next(); dv.insertColumn(col); } }
/** * Gets the dv parser */ public DVParser getDVParser() { // straightforward - this was created as a writable cell if (dvParser != null) { return dvParser; } // this was copied from a readable cell, and then copied again if (validationSettings != null) { dvParser = new DVParser(validationSettings.getDVParser()); return dvParser; } return null; // keep the compiler happy }
/** * Removes row * * @param row the row to be removed */ public void removeRow(int row) { for (Iterator i = validitySettings.iterator(); i.hasNext() ; ) { DataValiditySettingsRecord dv = (DataValiditySettingsRecord) i.next(); if (dv.getFirstRow() == row && dv.getLastRow() == row) { i.remove(); validityList.dvRemoved(); } else { dv.removeRow(row); } } }
/** * Removes a column * * @param col the inserted column */ public void removeColumn(int col) { for (Iterator i = validitySettings.iterator(); i.hasNext() ; ) { DataValiditySettingsRecord dv = (DataValiditySettingsRecord) i.next(); if (dv.getFirstColumn() == col && dv.getLastColumn() == col) { i.remove(); validityList.dvRemoved(); } else { dv.removeColumn(col); } } }
/** * Removes a column * * @param col the row to insert */ public void removeColumn(int col) { if (dvParser == null) { initialize(); } dvParser.removeColumn(col); }
/** * Used during the copy process to retrieve the validity settings for * a particular cell */ public DataValiditySettingsRecord getDataValiditySettings(int col, int row) { boolean found = false; DataValiditySettingsRecord foundRecord = null; for (Iterator i = validitySettings.iterator(); i.hasNext() && !found;) { DataValiditySettingsRecord dvsr = (DataValiditySettingsRecord) i.next(); if (dvsr.getFirstColumn() == col && dvsr.getFirstRow() == row) { found = true; foundRecord = dvsr; } } return foundRecord; }
/** * Copy constructor used to copy from read to write */ public DataValidation(DataValidation dv, ExternalSheet es, WorkbookMethods wm, WorkbookSettings ws ) { workbook = wm; externalSheet = es; workbookSettings = ws; copied = true; validityList = new DataValidityListRecord(dv.getDataValidityList()); validitySettings = new ArrayList(); DataValiditySettingsRecord[] settings = dv.getDataValiditySettings(); for (int i = 0; i < settings.length ; i++) { validitySettings.add(new DataValiditySettingsRecord(settings[i], externalSheet, workbook, workbookSettings)); } }
/** * Inserts a column * * @param col the inserted column */ public void insertColumn(int col) { for (Iterator i = validitySettings.iterator(); i.hasNext() ; ) { DataValiditySettingsRecord dv = (DataValiditySettingsRecord) i.next(); dv.insertColumn(col); } }
/** * Gets the dv parser */ public DVParser getDVParser() { // straightforward - this was created as a writable cell if (dvParser != null) { return dvParser; } // this was copied from a readable cell, and then copied again if (validationSettings != null) { dvParser = new DVParser(validationSettings.getDVParser()); return dvParser; } return null; // keep the compiler happy }
/** * Removes the data validation for a specific cell * * @param col1 the first column * @param row1 the first row */ public void removeSharedDataValidation (int col1, int row1, int col2, int row2) { for (Iterator i = validitySettings.iterator(); i.hasNext() ; ) { DataValiditySettingsRecord dv = (DataValiditySettingsRecord) i.next(); if (dv.getFirstColumn() == col1 && dv.getLastColumn() == col2 && dv.getFirstRow() == row1 && dv.getLastRow() == row2) { i.remove(); validityList.dvRemoved(); break; } } }
/** * Accessor for first column * * @return the first column */ public int getFirstColumn() { if (dvParser == null) { initialize(); } return dvParser.getFirstColumn(); }
new DataValiditySettingsRecord(cf.getDVParser()); dataValidation.add(dvsr); new DataValiditySettingsRecord(cf.getDVParser()); dataValidation.add(dvsr);