📄 datavaliditysettingsrecord.java
字号:
/*********************************************************************
*
* Copyright (C) 2004 Andrew Khan
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
***************************************************************************/
package jxl.write.biff;
import common.Logger;
import jxl.biff.Type;
import jxl.biff.WritableRecordData;
import jxl.biff.DVParser;
import jxl.biff.formula.FormulaException;
import jxl.WorkbookSettings;
/**
* Data validity settings
*/
class DataValiditySettingsRecord extends WritableRecordData
{
/**
* The logger
*/
private static final Logger logger =
Logger.getLogger(DataValiditySettingsRecord.class);
/**
* The binary data
*/
private byte[] data;
/**
* The reader
*/
private DVParser dvParser;
/**
* Handle to the workbook
*/
private WritableWorkbookImpl workbook;
/**
* Handle to the workbook settings
*/
private WorkbookSettings workbookSettings;
/**
* Constructor
*
* @param dvsr the record copied from a read only sheet
*/
DataValiditySettingsRecord(jxl.read.biff.DataValiditySettingsRecord dvsr,
WritableWorkbookImpl w,
WorkbookSettings ws)
{
super(Type.DV);
workbook = w;
workbookSettings = ws;
data = dvsr.getData();
}
/**
* Constructor
*
* @param dvsr the record copied from a writable sheet
*/
DataValiditySettingsRecord(DataValiditySettingsRecord dvsr,
WritableWorkbookImpl w,
WorkbookSettings ws)
{
super(Type.DV);
workbook = w;
workbookSettings = ws;
data = new byte[dvsr.data.length];
System.arraycopy(dvsr.data, 0, data, 0, data.length);
}
/**
* Initializes the dvParser
*/
private void initialize()
{
try
{
if (dvParser == null)
{
dvParser = new DVParser(data, workbook, workbook, workbookSettings);
}
}
catch (FormulaException e)
{
logger.warn("Cannot read drop down range " + e.getMessage());
e.printStackTrace();
}
}
/**
* Retrieves the data for output to binary file
*
* @return the data to be written
*/
public byte[] getData()
{
if (dvParser == null)
{
return data;
}
return dvParser.getData();
}
/**
* Inserts a row
*
* @param row the row to insert
*/
public void insertRow(int row)
{
if (dvParser == null)
{
initialize();
}
dvParser.insertRow(row);
}
/**
* Removes a row
*
* @param row the row to insert
*/
public void removeRow(int row)
{
if (dvParser == null)
{
initialize();
}
dvParser.removeRow(row);
}
/**
* Inserts a row
*
* @param col the row to insert
*/
public void insertColumn(int col)
{
if (dvParser == null)
{
initialize();
}
dvParser.insertColumn(col);
}
/**
* Removes a column
*
* @param col the row to insert
*/
public void removeColumn(int col)
{
if (dvParser == null)
{
initialize();
}
dvParser.removeColumn(col);
}
/**
* Accessor for first column
*
* @return the first column
*/
public int getFirstColumn()
{
if (dvParser == null)
{
initialize();
}
return dvParser.getFirstColumn();
}
/**
* Accessor for the last column
*
* @return the last column
*/
public int getLastColumn()
{
if (dvParser == null)
{
initialize();
}
return dvParser.getLastColumn();
}
/**
* Accessor for first row
*
* @return the first row
*/
public int getFirstRow()
{
if (dvParser == null)
{
initialize();
}
return dvParser.getFirstRow();
}
/**
* Accessor for the last row
*
* @return the last row
*/
public int getLastRow()
{
if (dvParser == null)
{
initialize();
}
return dvParser.getLastRow();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -