JavaBuildOptions.java
/********************************************************************
* Copyright (c) 2007 Contributors. All rights reserved.
* This program and the accompanying materials are made available
* under the terms of the Eclipse Public License v 2.0
* which accompanies this distribution and is available at
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
*
* Contributors: IBM Corporation - initial API and implementation
* Helen Hawkins - initial version (bug 148190)
*******************************************************************/
package org.aspectj.ajde.ui.javaoptions;
import java.util.Map;
import org.aspectj.ajde.core.JavaOptions;
/**
* Class which handles the setting of the java options and the java options map required by
* ICompilerConfiguration#getJavaOptionsMap()
*/
public class JavaBuildOptions {
private Map<String, String> javaBuildOptions;
public JavaBuildOptions() {
javaBuildOptions = JavaOptions.getDefaultJavaOptions();
}
public Map<String, String> getJavaBuildOptionsMap() {
return javaBuildOptions;
}
public void setOption(String javaOption, String value) {
javaBuildOptions.put(javaOption, value);
}
// ----------------- compliance settings ---------------
// compliance
public void setComplianceLevel(String level) {
if (JavaOptions.isValidJvmVersion(level)) {
javaBuildOptions.put(JavaOptions.COMPLIANCE_LEVEL, level);
}
}
// source
public void setSourceCompatibilityLevel(String level) {
if (JavaOptions.isValidJvmVersion(level)) {
javaBuildOptions.put(JavaOptions.SOURCE_COMPATIBILITY_LEVEL, level);
}
}
// target
public void setTargetLevel(String level) {
if (JavaOptions.isValidJvmVersion(level)) {
javaBuildOptions.put(JavaOptions.TARGET_COMPATIBILITY_LEVEL, level);
}
}
// ---------------- compiler warning options ------------------
// warn method with constructor name
public void setWarnMethodWithConstructorName(String option) {
if (JavaOptions.isIgnoreOrWarning(option)) {
javaBuildOptions.put(JavaOptions.WARN_METHOD_WITH_CONSTRUCTOR_NAME, option);
}
}
// warn overriding package default method
public void setWarnOverridingPackageDefaultMethod(String option) {
if (JavaOptions.isIgnoreOrWarning(option)) {
javaBuildOptions.put(JavaOptions.WARN_OVERRIDING_PACKAGE_DEFAULT_METHOD, option);
}
}
// warn deprecation
public void setWarnDeprecation(String option) {
if (JavaOptions.isIgnoreOrWarning(option)) {
javaBuildOptions.put(JavaOptions.WARN_DEPRECATION, option);
}
}
// warn hidden catch blocks
public void setWarnHiddenCatchBlocks(String option) {
if (JavaOptions.isIgnoreOrWarning(option)) {
javaBuildOptions.put(JavaOptions.WARN_HIDDEN_CATCH_BLOCKS, option);
}
}
// warn unused locals
public void setWarnUnusedLocals(String option) {
if (JavaOptions.isIgnoreOrWarning(option)) {
javaBuildOptions.put(JavaOptions.WARN_UNUSED_LOCALS, option);
}
}
// warn unused parameters
public void setWarnUnusedParameters(String option) {
if (JavaOptions.isIgnoreOrWarning(option)) {
javaBuildOptions.put(JavaOptions.WARN_UNUSED_PARAMETER, option);
}
}
// warn unused imports
public void setWarnUnusedImports(String option) {
if (JavaOptions.isIgnoreOrWarning(option)) {
javaBuildOptions.put(JavaOptions.WARN_UNUSED_IMPORTS, option);
}
}
// warn synthetic access
public void setWarnSyntheticAccess(String option) {
if (JavaOptions.isIgnoreOrWarning(option)) {
javaBuildOptions.put(JavaOptions.WARN_SYNTHETIC_ACCESS, option);
}
}
// warn assert identifier
public void setWarnAssertIdentifier(String option) {
if (JavaOptions.isIgnoreOrWarning(option)) {
javaBuildOptions.put(JavaOptions.WARN_ASSERT_IDENITIFIER, option);
}
}
// warn non nls
public void setWarnNonNLS(String option) {
if (JavaOptions.isIgnoreOrWarning(option)) {
javaBuildOptions.put(JavaOptions.WARN_NON_NLS, option);
}
}
// --------------- debug options --------------------
// debug source
public void setDebugSource(String option) {
if (JavaOptions.isGenerateOrNot(option)) {
javaBuildOptions.put(JavaOptions.DEBUG_SOURCE, option);
}
}
// debug lines
public void setDebugLines(String option) {
if (JavaOptions.isGenerateOrNot(option)) {
javaBuildOptions.put(JavaOptions.DEBUG_LINES, option);
}
}
// debug vars
public void setDebugVariables(String option) {
if (JavaOptions.isGenerateOrNot(option)) {
javaBuildOptions.put(JavaOptions.DEBUG_VARS, option);
}
}
// preserve all locals
public void setPreserveAllLocals(String value) {
if (JavaOptions.isValidPreserveAllLocalsOption(value)) {
javaBuildOptions.put(JavaOptions.PRESERVE_ALL_LOCALS, value);
}
}
// ----------- other settings
// character encoding
public void setCharacterEncoding(String value) {
javaBuildOptions.put(JavaOptions.CHARACTER_ENCODING, value);
}
}