package com.google.gwt.dist.util.options; import java.io.File; import java.io.Serializable; import com.google.gwt.dev.Precompile.PrecompileOptions; import com.google.gwt.dev.jjs.JJSOptionsImpl; import com.google.gwt.dev.jjs.JsOutputOption; /** * Concrete class to implement Precompile task options. */ @SuppressWarnings("serial") public class PrecompileOptionsImpl extends CompileTaskOptionsImpl implements PrecompileOptions, Serializable { private boolean disableUpdateCheck; private File dumpFile; private boolean enableGeneratingOnShards = true; private File genDir; private final JJSOptionsImpl jjsOptions = new JJSOptionsImpl(); private int maxPermsPerPrecompile; private boolean validateOnly; public PrecompileOptionsImpl() { } public PrecompileOptionsImpl(PrecompileOptions other) { copyFrom(other); } public void copyFrom(PrecompileOptions other) { super.copyFrom(other); jjsOptions.copyFrom(other); setDisableUpdateCheck(other.isUpdateCheckDisabled()); setDumpSignatureFile(other.getDumpSignatureFile()); setGenDir(other.getGenDir()); setMaxPermsPerPrecompile(other.getMaxPermsPerPrecompile()); setValidateOnly(other.isValidateOnly()); setEnabledGeneratingOnShards(other.isEnabledGeneratingOnShards()); } public File getDumpSignatureFile() { return dumpFile; } public File getGenDir() { return genDir; } public int getMaxPermsPerPrecompile() { return maxPermsPerPrecompile; } public JsOutputOption getOutput() { return jjsOptions.getOutput(); } public boolean isAggressivelyOptimize() { return jjsOptions.isAggressivelyOptimize(); } public boolean isCastCheckingDisabled() { return jjsOptions.isCastCheckingDisabled(); } public boolean isClassMetadataDisabled() { return jjsOptions.isClassMetadataDisabled(); } public boolean isDraftCompile() { return jjsOptions.isDraftCompile(); } public boolean isEnableAssertions() { return jjsOptions.isEnableAssertions(); } public boolean isEnabledGeneratingOnShards() { return enableGeneratingOnShards; } public boolean isOptimizePrecompile() { return jjsOptions.isOptimizePrecompile(); } public boolean isRunAsyncEnabled() { return jjsOptions.isRunAsyncEnabled(); } public boolean isSoycEnabled() { return jjsOptions.isSoycEnabled(); } public boolean isSoycExtra() { return jjsOptions.isSoycExtra(); } public boolean isUpdateCheckDisabled() { return disableUpdateCheck; } public boolean isValidateOnly() { return validateOnly; } public void setAggressivelyOptimize(boolean aggressivelyOptimize) { jjsOptions.setAggressivelyOptimize(aggressivelyOptimize); } public void setCastCheckingDisabled(boolean disabled) { jjsOptions.setCastCheckingDisabled(disabled); } public void setClassMetadataDisabled(boolean disabled) { jjsOptions.setClassMetadataDisabled(disabled); } public void setDisableUpdateCheck(boolean disabled) { disableUpdateCheck = disabled; } public void setDraftCompile(boolean draft) { jjsOptions.setDraftCompile(draft); } public void setDumpSignatureFile(File dumpFile) { this.dumpFile = dumpFile; } public void setEnableAssertions(boolean enableAssertions) { jjsOptions.setEnableAssertions(enableAssertions); } public void setEnabledGeneratingOnShards(boolean enabled) { enableGeneratingOnShards = enabled; } public void setGenDir(File genDir) { this.genDir = genDir; } public void setMaxPermsPerPrecompile(int maxPermsPerPrecompile) { this.maxPermsPerPrecompile = maxPermsPerPrecompile; } public void setOptimizePrecompile(boolean optimize) { jjsOptions.setOptimizePrecompile(optimize); } public void setOutput(JsOutputOption output) { jjsOptions.setOutput(output); } public void setRunAsyncEnabled(boolean enabled) { jjsOptions.setRunAsyncEnabled(enabled); } public void setSoycEnabled(boolean enabled) { jjsOptions.setSoycEnabled(enabled); } public void setSoycExtra(boolean soycExtra) { jjsOptions.setSoycExtra(soycExtra); } public void setValidateOnly(boolean validateOnly) { this.validateOnly = validateOnly; } }