You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

JavaBuildOptions.java 4.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. /********************************************************************
  2. * Copyright (c) 2007 Contributors. All rights reserved.
  3. * This program and the accompanying materials are made available
  4. * under the terms of the Eclipse Public License v 2.0
  5. * which accompanies this distribution and is available at
  6. * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
  7. *
  8. * Contributors: IBM Corporation - initial API and implementation
  9. * Helen Hawkins - initial version (bug 148190)
  10. *******************************************************************/
  11. package org.aspectj.ajde.ui.javaoptions;
  12. import java.util.Map;
  13. import org.aspectj.ajde.core.JavaOptions;
  14. /**
  15. * Class which handles the setting of the java options and the java options map required by
  16. * ICompilerConfiguration#getJavaOptionsMap()
  17. */
  18. public class JavaBuildOptions {
  19. private Map<String, String> javaBuildOptions;
  20. public JavaBuildOptions() {
  21. javaBuildOptions = JavaOptions.getDefaultJavaOptions();
  22. }
  23. public Map<String, String> getJavaBuildOptionsMap() {
  24. return javaBuildOptions;
  25. }
  26. public void setOption(String javaOption, String value) {
  27. javaBuildOptions.put(javaOption, value);
  28. }
  29. // ----------------- compliance settings ---------------
  30. // compliance
  31. public void setComplianceLevel(String level) {
  32. if (JavaOptions.isValidJvmVersion(level)) {
  33. javaBuildOptions.put(JavaOptions.COMPLIANCE_LEVEL, level);
  34. }
  35. }
  36. // source
  37. public void setSourceCompatibilityLevel(String level) {
  38. if (JavaOptions.isValidJvmVersion(level)) {
  39. javaBuildOptions.put(JavaOptions.SOURCE_COMPATIBILITY_LEVEL, level);
  40. }
  41. }
  42. // target
  43. public void setTargetLevel(String level) {
  44. if (JavaOptions.isValidJvmVersion(level)) {
  45. javaBuildOptions.put(JavaOptions.TARGET_COMPATIBILITY_LEVEL, level);
  46. }
  47. }
  48. // ---------------- compiler warning options ------------------
  49. // warn method with constructor name
  50. public void setWarnMethodWithConstructorName(String option) {
  51. if (JavaOptions.isIgnoreOrWarning(option)) {
  52. javaBuildOptions.put(JavaOptions.WARN_METHOD_WITH_CONSTRUCTOR_NAME, option);
  53. }
  54. }
  55. // warn overriding package default method
  56. public void setWarnOverridingPackageDefaultMethod(String option) {
  57. if (JavaOptions.isIgnoreOrWarning(option)) {
  58. javaBuildOptions.put(JavaOptions.WARN_OVERRIDING_PACKAGE_DEFAULT_METHOD, option);
  59. }
  60. }
  61. // warn deprecation
  62. public void setWarnDeprecation(String option) {
  63. if (JavaOptions.isIgnoreOrWarning(option)) {
  64. javaBuildOptions.put(JavaOptions.WARN_DEPRECATION, option);
  65. }
  66. }
  67. // warn hidden catch blocks
  68. public void setWarnHiddenCatchBlocks(String option) {
  69. if (JavaOptions.isIgnoreOrWarning(option)) {
  70. javaBuildOptions.put(JavaOptions.WARN_HIDDEN_CATCH_BLOCKS, option);
  71. }
  72. }
  73. // warn unused locals
  74. public void setWarnUnusedLocals(String option) {
  75. if (JavaOptions.isIgnoreOrWarning(option)) {
  76. javaBuildOptions.put(JavaOptions.WARN_UNUSED_LOCALS, option);
  77. }
  78. }
  79. // warn unused parameters
  80. public void setWarnUnusedParameters(String option) {
  81. if (JavaOptions.isIgnoreOrWarning(option)) {
  82. javaBuildOptions.put(JavaOptions.WARN_UNUSED_PARAMETER, option);
  83. }
  84. }
  85. // warn unused imports
  86. public void setWarnUnusedImports(String option) {
  87. if (JavaOptions.isIgnoreOrWarning(option)) {
  88. javaBuildOptions.put(JavaOptions.WARN_UNUSED_IMPORTS, option);
  89. }
  90. }
  91. // warn synthetic access
  92. public void setWarnSyntheticAccess(String option) {
  93. if (JavaOptions.isIgnoreOrWarning(option)) {
  94. javaBuildOptions.put(JavaOptions.WARN_SYNTHETIC_ACCESS, option);
  95. }
  96. }
  97. // warn assert identifier
  98. public void setWarnAssertIdentifier(String option) {
  99. if (JavaOptions.isIgnoreOrWarning(option)) {
  100. javaBuildOptions.put(JavaOptions.WARN_ASSERT_IDENITIFIER, option);
  101. }
  102. }
  103. // warn non nls
  104. public void setWarnNonNLS(String option) {
  105. if (JavaOptions.isIgnoreOrWarning(option)) {
  106. javaBuildOptions.put(JavaOptions.WARN_NON_NLS, option);
  107. }
  108. }
  109. // --------------- debug options --------------------
  110. // debug source
  111. public void setDebugSource(String option) {
  112. if (JavaOptions.isGenerateOrNot(option)) {
  113. javaBuildOptions.put(JavaOptions.DEBUG_SOURCE, option);
  114. }
  115. }
  116. // debug lines
  117. public void setDebugLines(String option) {
  118. if (JavaOptions.isGenerateOrNot(option)) {
  119. javaBuildOptions.put(JavaOptions.DEBUG_LINES, option);
  120. }
  121. }
  122. // debug vars
  123. public void setDebugVariables(String option) {
  124. if (JavaOptions.isGenerateOrNot(option)) {
  125. javaBuildOptions.put(JavaOptions.DEBUG_VARS, option);
  126. }
  127. }
  128. // preserve all locals
  129. public void setPreserveAllLocals(String value) {
  130. if (JavaOptions.isValidPreserveAllLocalsOption(value)) {
  131. javaBuildOptions.put(JavaOptions.PRESERVE_ALL_LOCALS, value);
  132. }
  133. }
  134. // ----------- other settings
  135. // character encoding
  136. public void setCharacterEncoding(String value) {
  137. javaBuildOptions.put(JavaOptions.CHARACTER_ENCODING, value);
  138. }
  139. }