215 lines
5.4 KiB
Java
215 lines
5.4 KiB
Java
package jxl;
|
|
|
|
import common.Logger;
|
|
import java.util.HashMap;
|
|
import java.util.Locale;
|
|
import jxl.biff.CountryCode;
|
|
import jxl.biff.formula.FunctionNames;
|
|
|
|
public final class WorkbookSettings {
|
|
private static Logger logger = Logger.getLogger(WorkbookSettings.class);
|
|
|
|
private int initialFileSize = 5242880;
|
|
|
|
private int arrayGrowSize = 1048576;
|
|
|
|
private HashMap localeFunctionNames = new HashMap();
|
|
|
|
private String excelDisplayLanguage = CountryCode.USA.getCode();
|
|
|
|
private String excelRegionalSettings = CountryCode.UK.getCode();
|
|
|
|
private boolean drawingsDisabled;
|
|
|
|
private boolean namesDisabled;
|
|
|
|
private boolean formulaReferenceAdjustDisabled;
|
|
|
|
private boolean gcDisabled;
|
|
|
|
private boolean rationalizationDisabled;
|
|
|
|
private boolean mergedCellCheckingDisabled;
|
|
|
|
private boolean propertySetsDisabled;
|
|
|
|
private boolean ignoreBlankCells;
|
|
|
|
private Locale locale;
|
|
|
|
private FunctionNames functionNames;
|
|
|
|
private String encoding;
|
|
|
|
private int characterSet;
|
|
|
|
private static final int defaultInitialFileSize = 5242880;
|
|
|
|
private static final int defaultArrayGrowSize = 1048576;
|
|
|
|
public WorkbookSettings() {
|
|
try {
|
|
boolean suppressWarnings = Boolean.getBoolean("jxl.nowarnings");
|
|
setSuppressWarnings(suppressWarnings);
|
|
this.drawingsDisabled = Boolean.getBoolean("jxl.nodrawings");
|
|
this.namesDisabled = Boolean.getBoolean("jxl.nonames");
|
|
this.gcDisabled = Boolean.getBoolean("jxl.nogc");
|
|
this.rationalizationDisabled = Boolean.getBoolean("jxl.norat");
|
|
this.mergedCellCheckingDisabled = Boolean.getBoolean("jxl.nomergedcellchecks");
|
|
this.formulaReferenceAdjustDisabled = Boolean.getBoolean("jxl.noformulaadjust");
|
|
this.propertySetsDisabled = Boolean.getBoolean("jxl.nopropertysets");
|
|
this.ignoreBlankCells = Boolean.getBoolean("jxl.ignoreblanks");
|
|
this.encoding = System.getProperty("file.encoding");
|
|
} catch (SecurityException e) {
|
|
logger.warn("Error accessing system properties.", e);
|
|
}
|
|
try {
|
|
if (System.getProperty("jxl.lang") == null || System.getProperty("jxl.country") == null) {
|
|
this.locale = Locale.getDefault();
|
|
} else {
|
|
this.locale = new Locale(System.getProperty("jxl.lang"), System.getProperty("jxl.country"));
|
|
}
|
|
if (System.getProperty("jxl.encoding") != null)
|
|
this.encoding = System.getProperty("jxl.encoding");
|
|
} catch (SecurityException e) {
|
|
logger.warn("Error accessing system properties.", e);
|
|
this.locale = Locale.getDefault();
|
|
}
|
|
}
|
|
|
|
public void setArrayGrowSize(int sz) {
|
|
this.arrayGrowSize = sz;
|
|
}
|
|
|
|
public int getArrayGrowSize() {
|
|
return this.arrayGrowSize;
|
|
}
|
|
|
|
public void setInitialFileSize(int sz) {
|
|
this.initialFileSize = sz;
|
|
}
|
|
|
|
public int getInitialFileSize() {
|
|
return this.initialFileSize;
|
|
}
|
|
|
|
public boolean getDrawingsDisabled() {
|
|
return this.drawingsDisabled;
|
|
}
|
|
|
|
public boolean getGCDisabled() {
|
|
return this.gcDisabled;
|
|
}
|
|
|
|
public boolean getNamesDisabled() {
|
|
return this.namesDisabled;
|
|
}
|
|
|
|
public void setNamesDisabled(boolean b) {
|
|
this.namesDisabled = b;
|
|
}
|
|
|
|
public void setDrawingsDisabled(boolean b) {
|
|
this.drawingsDisabled = b;
|
|
}
|
|
|
|
public void setRationalization(boolean r) {
|
|
this.rationalizationDisabled = !r;
|
|
}
|
|
|
|
public boolean getRationalizationDisabled() {
|
|
return this.rationalizationDisabled;
|
|
}
|
|
|
|
public boolean getMergedCellCheckingDisabled() {
|
|
return this.mergedCellCheckingDisabled;
|
|
}
|
|
|
|
public void setMergedCellChecking(boolean b) {
|
|
this.mergedCellCheckingDisabled = !b;
|
|
}
|
|
|
|
public void setPropertySets(boolean r) {
|
|
this.propertySetsDisabled = !r;
|
|
}
|
|
|
|
public boolean getPropertySetsDisabled() {
|
|
return this.propertySetsDisabled;
|
|
}
|
|
|
|
public void setSuppressWarnings(boolean w) {
|
|
logger.setSuppressWarnings(w);
|
|
}
|
|
|
|
public boolean getFormulaAdjust() {
|
|
return !this.formulaReferenceAdjustDisabled;
|
|
}
|
|
|
|
public void setFormulaAdjust(boolean b) {
|
|
this.formulaReferenceAdjustDisabled = !b;
|
|
}
|
|
|
|
public void setLocale(Locale l) {
|
|
this.locale = l;
|
|
}
|
|
|
|
public Locale getLocale() {
|
|
return this.locale;
|
|
}
|
|
|
|
public String getEncoding() {
|
|
return this.encoding;
|
|
}
|
|
|
|
public void setEncoding(String enc) {
|
|
this.encoding = enc;
|
|
}
|
|
|
|
public FunctionNames getFunctionNames() {
|
|
if (this.functionNames == null) {
|
|
this.functionNames = (FunctionNames)this.localeFunctionNames.get(this.locale);
|
|
if (this.functionNames == null) {
|
|
this.functionNames = new FunctionNames(this.locale);
|
|
this.localeFunctionNames.put(this.locale, this.functionNames);
|
|
}
|
|
}
|
|
return this.functionNames;
|
|
}
|
|
|
|
public int getCharacterSet() {
|
|
return this.characterSet;
|
|
}
|
|
|
|
public void setCharacterSet(int cs) {
|
|
this.characterSet = cs;
|
|
}
|
|
|
|
public void setGCDisabled(boolean disabled) {
|
|
this.gcDisabled = disabled;
|
|
}
|
|
|
|
public void setIgnoreBlanks(boolean ignoreBlanks) {
|
|
this.ignoreBlankCells = ignoreBlanks;
|
|
}
|
|
|
|
public boolean getIgnoreBlanks() {
|
|
return this.ignoreBlankCells;
|
|
}
|
|
|
|
public String getExcelDisplayLanguage() {
|
|
return this.excelDisplayLanguage;
|
|
}
|
|
|
|
public String getExcelRegionalSettings() {
|
|
return this.excelRegionalSettings;
|
|
}
|
|
|
|
public void setExcelDisplayLanguage(String code) {
|
|
this.excelDisplayLanguage = code;
|
|
}
|
|
|
|
public void setExcelRegionalSettings(String code) {
|
|
this.excelRegionalSettings = code;
|
|
}
|
|
}
|