KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > jdt > core > JavaCore


1 /*******************************************************************************
2  * Copyright (c) 2000, 2007 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation - initial API and implementation
10  * IBM Corporation - added the following constants:
11  * COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE
12  * COMPILER_PB_STATIC_ACCESS_RECEIVER
13  * COMPILER_TASK_TAGS
14  * CORE_CIRCULAR_CLASSPATH
15  * CORE_INCOMPLETE_CLASSPATH
16  * IBM Corporation - added run(IWorkspaceRunnable, IProgressMonitor)
17  * IBM Corporation - added exclusion patterns to source classpath entries
18  * IBM Corporation - added specific output location to source classpath entries
19  * IBM Corporation - added the following constants:
20  * CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER
21  * CORE_JAVA_BUILD_RECREATE_MODIFIED_CLASS_FILES_IN_OUTPUT_FOLDER
22  * CLEAN
23  * IBM Corporation - added getClasspathContainerInitializer(String)
24  * IBM Corporation - added the following constants:
25  * CODEASSIST_ARGUMENT_PREFIXES
26  * CODEASSIST_ARGUMENT_SUFFIXES
27  * CODEASSIST_FIELD_PREFIXES
28  * CODEASSIST_FIELD_SUFFIXES
29  * CODEASSIST_LOCAL_PREFIXES
30  * CODEASSIST_LOCAL_SUFFIXES
31  * CODEASSIST_STATIC_FIELD_PREFIXES
32  * CODEASSIST_STATIC_FIELD_SUFFIXES
33  * COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION
34  * IBM Corporation - added the following constants:
35  * COMPILER_PB_LOCAL_VARIABLE_HIDING
36  * COMPILER_PB_SPECIAL_PARAMETER_HIDING_FIELD
37  * COMPILER_PB_FIELD_HIDING
38  * COMPILER_PB_POSSIBLE_ACCIDENTAL_BOOLEAN_ASSIGNMENT
39  * CORE_INCOMPATIBLE_JDK_LEVEL
40  * VERSION_1_5
41  * COMPILER_PB_EMPTY_STATEMENT
42  * IBM Corporation - added the following constants:
43  * COMPILER_PB_INDIRECT_STATIC_ACCESS
44  * COMPILER_PB_BOOLEAN_METHOD_THROWING_EXCEPTION
45  * COMPILER_PB_UNNECESSARY_CAST
46  * IBM Corporation - added the following constants:
47  * COMPILER_PB_INVALID_JAVADOC
48  * COMPILER_PB_INVALID_JAVADOC_TAGS
49  * COMPILER_PB_INVALID_JAVADOC_TAGS_VISIBILITY
50  * COMPILER_PB_MISSING_JAVADOC_TAGS
51  * COMPILER_PB_MISSING_JAVADOC_TAGS_VISIBILITY
52  * COMPILER_PB_MISSING_JAVADOC_TAGS_OVERRIDING
53  * COMPILER_PB_MISSING_JAVADOC_COMMENTS
54  * COMPILER_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY
55  * COMPILER_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING
56  * COMPILER_PB_DEPRECATION_WHEN_OVERRIDING_DEPRECATED_METHOD
57  * COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING
58  * IBM Corporation - added the following constants:
59  * TIMEOUT_FOR_PARAMETER_NAME_FROM_ATTACHED_JAVADOC
60  * IBM Corporation - added the following constants:
61  * COMPILER_PB_FALLTHROUGH_CASE
62  * COMPILER_PB_PARAMETER_ASSIGNMENT
63  * COMPILER_PB_NULL_REFERENCE
64  * IBM Corporation - added the following constants:
65  * CODEASSIST_DEPRECATION_CHECK
66  * IBM Corporation - added the following constants:
67  * COMPILER_PB_POTENTIAL_NULL_REFERENCE
68  * COMPILER_PB_REDUNDANT_NULL_CHECK
69  * IBM Corporation - added the following constants:
70  * COMPILER_PB_UNUSED_PARAMETER_INCLUDE_DOC_COMMENT_REFERENCE
71  *******************************************************************************/

72 package org.eclipse.jdt.core;
73
74 import java.io.File JavaDoc;
75 import java.util.ArrayList JavaDoc;
76 import java.util.HashMap JavaDoc;
77 import java.util.Hashtable JavaDoc;
78 import java.util.Map JavaDoc;
79
80 import org.eclipse.core.resources.IContainer;
81 import org.eclipse.core.resources.IFile;
82 import org.eclipse.core.resources.IFolder;
83 import org.eclipse.core.resources.IMarker;
84 import org.eclipse.core.resources.IMarkerDelta;
85 import org.eclipse.core.resources.IProject;
86 import org.eclipse.core.resources.IResource;
87 import org.eclipse.core.resources.IResourceChangeEvent;
88 import org.eclipse.core.resources.IResourceChangeListener;
89 import org.eclipse.core.resources.IWorkspace;
90 import org.eclipse.core.resources.IWorkspaceRoot;
91 import org.eclipse.core.resources.IWorkspaceRunnable;
92 import org.eclipse.core.resources.ResourcesPlugin;
93 import org.eclipse.core.runtime.Assert;
94 import org.eclipse.core.runtime.CoreException;
95 import org.eclipse.core.runtime.IConfigurationElement;
96 import org.eclipse.core.runtime.IExtension;
97 import org.eclipse.core.runtime.IExtensionPoint;
98 import org.eclipse.core.runtime.IPath;
99 import org.eclipse.core.runtime.IProgressMonitor;
100 import org.eclipse.core.runtime.OperationCanceledException;
101 import org.eclipse.core.runtime.Platform;
102 import org.eclipse.core.runtime.Plugin;
103 import org.eclipse.core.runtime.QualifiedName;
104 import org.eclipse.core.runtime.SubProgressMonitor;
105 import org.eclipse.core.runtime.jobs.ISchedulingRule;
106 import org.eclipse.jdt.core.compiler.CharOperation;
107 import org.eclipse.jdt.core.search.IJavaSearchConstants;
108 import org.eclipse.jdt.core.search.IJavaSearchScope;
109 import org.eclipse.jdt.core.search.SearchEngine;
110 import org.eclipse.jdt.core.search.SearchPattern;
111 import org.eclipse.jdt.core.search.TypeNameRequestor;
112 import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
113 import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
114 import org.eclipse.jdt.internal.compiler.util.SuffixConstants;
115 import org.eclipse.jdt.internal.core.*;
116 import org.eclipse.jdt.internal.core.builder.JavaBuilder;
117 import org.eclipse.jdt.internal.core.builder.State;
118 import org.eclipse.jdt.internal.core.util.MementoTokenizer;
119 import org.eclipse.jdt.internal.core.util.Messages;
120 import org.eclipse.jdt.internal.core.util.Util;
121 import org.osgi.framework.BundleContext;
122
123 /**
124  * The plug-in runtime class for the Java model plug-in containing the core
125  * (UI-free) support for Java projects.
126  * <p>
127  * Like all plug-in runtime classes (subclasses of <code>Plugin</code>), this
128  * class is automatically instantiated by the platform when the plug-in gets
129  * activated. Clients must not attempt to instantiate plug-in runtime classes
130  * directly.
131  * </p>
132  * <p>
133  * The single instance of this class can be accessed from any plug-in declaring
134  * the Java model plug-in as a prerequisite via
135  * <code>JavaCore.getJavaCore()</code>. The Java model plug-in will be activated
136  * automatically if not already active.
137  * </p>
138  */

139 public final class JavaCore extends Plugin {
140
141     private static final IResource[] NO_GENERATED_RESOURCES = new IResource[0];
142
143     private static Plugin JAVA_CORE_PLUGIN = null;
144     /**
145      * The plug-in identifier of the Java core support
146      * (value <code>"org.eclipse.jdt.core"</code>).
147      */

148     public static final String JavaDoc PLUGIN_ID = "org.eclipse.jdt.core" ; //$NON-NLS-1$
149

150     /**
151      * The identifier for the Java builder
152      * (value <code>"org.eclipse.jdt.core.javabuilder"</code>).
153      */

154     public static final String JavaDoc BUILDER_ID = PLUGIN_ID + ".javabuilder" ; //$NON-NLS-1$
155

156     /**
157      * The identifier for the Java model
158      * (value <code>"org.eclipse.jdt.core.javamodel"</code>).
159      */

160     public static final String JavaDoc MODEL_ID = PLUGIN_ID + ".javamodel" ; //$NON-NLS-1$
161

162     /**
163      * The identifier for the Java nature
164      * (value <code>"org.eclipse.jdt.core.javanature"</code>).
165      * The presence of this nature on a project indicates that it is
166      * Java-capable.
167      *
168      * @see org.eclipse.core.resources.IProject#hasNature(java.lang.String)
169      */

170     public static final String JavaDoc NATURE_ID = PLUGIN_ID + ".javanature" ; //$NON-NLS-1$
171

172     /**
173      * Name of the handle id attribute in a Java marker.
174      */

175     protected static final String JavaDoc ATT_HANDLE_ID =
176         "org.eclipse.jdt.internal.core.JavaModelManager.handleId" ; //$NON-NLS-1$
177

178     /**
179      * Name of the User Library Container id.
180      * @since 3.0
181      */

182     public static final String JavaDoc USER_LIBRARY_CONTAINER_ID= "org.eclipse.jdt.USER_LIBRARY"; //$NON-NLS-1$
183

184     // *************** Possible IDs for configurable options. ********************
185

186     /**
187      * Possible configurable option ID.
188      * @see #getDefaultOptions()
189      */

190     public static final String JavaDoc COMPILER_LOCAL_VARIABLE_ATTR = PLUGIN_ID + ".compiler.debug.localVariable"; //$NON-NLS-1$
191
/**
192      * Possible configurable option ID.
193      * @see #getDefaultOptions()
194      */

195     public static final String JavaDoc COMPILER_LINE_NUMBER_ATTR = PLUGIN_ID + ".compiler.debug.lineNumber"; //$NON-NLS-1$
196
/**
197      * Possible configurable option ID.
198      * @see #getDefaultOptions()
199      */

200     public static final String JavaDoc COMPILER_SOURCE_FILE_ATTR = PLUGIN_ID + ".compiler.debug.sourceFile"; //$NON-NLS-1$
201
/**
202      * Possible configurable option ID.
203      * @see #getDefaultOptions()
204      */

205     public static final String JavaDoc COMPILER_CODEGEN_UNUSED_LOCAL = PLUGIN_ID + ".compiler.codegen.unusedLocal"; //$NON-NLS-1$
206
/**
207      * Possible configurable option ID.
208      * @see #getDefaultOptions()
209      */

210     public static final String JavaDoc COMPILER_CODEGEN_TARGET_PLATFORM = PLUGIN_ID + ".compiler.codegen.targetPlatform"; //$NON-NLS-1$
211
/**
212      * Possible configurable option ID.
213      * @see #getDefaultOptions()
214      * @since 3.0
215      */

216     public static final String JavaDoc COMPILER_CODEGEN_INLINE_JSR_BYTECODE = PLUGIN_ID + ".compiler.codegen.inlineJsrBytecode"; //$NON-NLS-1$
217
/**
218      * Possible configurable option ID.
219      * @see #getDefaultOptions()
220      * @since 3.0
221      */

222     public static final String JavaDoc COMPILER_DOC_COMMENT_SUPPORT = PLUGIN_ID + ".compiler.doc.comment.support"; //$NON-NLS-1$
223
/**
224      * Possible configurable option ID.
225      * @see #getDefaultOptions()
226      * @deprecated - discontinued since turning off would violate language specs
227      */

228     public static final String JavaDoc COMPILER_PB_UNREACHABLE_CODE = PLUGIN_ID + ".compiler.problem.unreachableCode"; //$NON-NLS-1$
229
/**
230      * Possible configurable option ID.
231      * @see #getDefaultOptions()
232      * @deprecated - discontinued since turning off would violate language specs
233      */

234     public static final String JavaDoc COMPILER_PB_INVALID_IMPORT = PLUGIN_ID + ".compiler.problem.invalidImport"; //$NON-NLS-1$
235
/**
236      * Possible configurable option ID.
237      * @see #getDefaultOptions()
238      */

239     public static final String JavaDoc COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD = PLUGIN_ID + ".compiler.problem.overridingPackageDefaultMethod"; //$NON-NLS-1$
240
/**
241      * Possible configurable option ID.
242      * @see #getDefaultOptions()
243      */

244     public static final String JavaDoc COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME = PLUGIN_ID + ".compiler.problem.methodWithConstructorName"; //$NON-NLS-1$
245
/**
246      * Possible configurable option ID.
247      * @see #getDefaultOptions()
248      */

249     public static final String JavaDoc COMPILER_PB_DEPRECATION = PLUGIN_ID + ".compiler.problem.deprecation"; //$NON-NLS-1$
250
/**
251      * Possible configurable option ID.
252      * @see #getDefaultOptions()
253      * @since 2.1
254      */

255     public static final String JavaDoc COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE = PLUGIN_ID + ".compiler.problem.deprecationInDeprecatedCode"; //$NON-NLS-1$
256
/**
257      * Possible configurable option ID.
258      * @see #getDefaultOptions()
259      * @since 3.0
260      */

261     public static final String JavaDoc COMPILER_PB_DEPRECATION_WHEN_OVERRIDING_DEPRECATED_METHOD = "org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod"; //$NON-NLS-1$
262
/**
263      * Possible configurable option ID.
264      * @see #getDefaultOptions()
265      */

266     public static final String JavaDoc COMPILER_PB_HIDDEN_CATCH_BLOCK = PLUGIN_ID + ".compiler.problem.hiddenCatchBlock"; //$NON-NLS-1$
267
/**
268      * Possible configurable option ID.
269      * @see #getDefaultOptions()
270      */

271     public static final String JavaDoc COMPILER_PB_UNUSED_LOCAL = PLUGIN_ID + ".compiler.problem.unusedLocal"; //$NON-NLS-1$
272
/**
273      * Possible configurable option ID.
274      * @see #getDefaultOptions()
275      */

276     public static final String JavaDoc COMPILER_PB_UNUSED_PARAMETER = PLUGIN_ID + ".compiler.problem.unusedParameter"; //$NON-NLS-1$
277
/**
278      * Possible configurable option ID.
279      * @see #getDefaultOptions()
280      * @since 2.1
281      */

282     public static final String JavaDoc COMPILER_PB_UNUSED_PARAMETER_WHEN_IMPLEMENTING_ABSTRACT = PLUGIN_ID + ".compiler.problem.unusedParameterWhenImplementingAbstract"; //$NON-NLS-1$
283
/**
284      * Possible configurable option ID.
285      * @see #getDefaultOptions()
286      * @since 2.1
287      */

288     public static final String JavaDoc COMPILER_PB_UNUSED_PARAMETER_WHEN_OVERRIDING_CONCRETE = PLUGIN_ID + ".compiler.problem.unusedParameterWhenOverridingConcrete"; //$NON-NLS-1$
289
/**
290      * Possible configurable option ID.
291      * @see #getDefaultOptions()
292      * @since 3.3
293      */

294     public static final String JavaDoc COMPILER_PB_UNUSED_PARAMETER_INCLUDE_DOC_COMMENT_REFERENCE = PLUGIN_ID + ".compiler.problem.unusedParameterIncludeDocCommentReference"; //$NON-NLS-1$
295
/**
296      * Possible configurable option ID.
297      * @see #getDefaultOptions()
298      * @since 2.0
299      */

300     public static final String JavaDoc COMPILER_PB_UNUSED_IMPORT = PLUGIN_ID + ".compiler.problem.unusedImport"; //$NON-NLS-1$
301
/**
302      * Possible configurable option ID.
303      * @see #getDefaultOptions()
304      */

305     public static final String JavaDoc COMPILER_PB_SYNTHETIC_ACCESS_EMULATION = PLUGIN_ID + ".compiler.problem.syntheticAccessEmulation"; //$NON-NLS-1$
306
/**
307      * Possible configurable option ID.
308      * @see #getDefaultOptions()
309      * @since 2.0
310      */

311     public static final String JavaDoc COMPILER_PB_NON_NLS_STRING_LITERAL = PLUGIN_ID + ".compiler.problem.nonExternalizedStringLiteral"; //$NON-NLS-1$
312
/**
313      * Possible configurable option ID.
314      * @see #getDefaultOptions()
315      * @since 2.0
316      */

317     public static final String JavaDoc COMPILER_PB_ASSERT_IDENTIFIER = PLUGIN_ID + ".compiler.problem.assertIdentifier"; //$NON-NLS-1$
318
/**
319      * Possible configurable option ID.
320      * @see #getDefaultOptions()
321      * @since 3.1
322      */

323     public static final String JavaDoc COMPILER_PB_ENUM_IDENTIFIER = PLUGIN_ID + ".compiler.problem.enumIdentifier"; //$NON-NLS-1$
324
/**
325      * Possible configurable option ID.
326      * @see #getDefaultOptions()
327      * @since 2.1
328      */

329     public static final String JavaDoc COMPILER_PB_STATIC_ACCESS_RECEIVER = PLUGIN_ID + ".compiler.problem.staticAccessReceiver"; //$NON-NLS-1$
330
/**
331      * Possible configurable option ID.
332      * @see #getDefaultOptions()
333      * @since 3.0
334      */

335     public static final String JavaDoc COMPILER_PB_INDIRECT_STATIC_ACCESS = PLUGIN_ID + ".compiler.problem.indirectStaticAccess"; //$NON-NLS-1$
336
/**
337      * Possible configurable option ID.
338      * @see #getDefaultOptions()
339      * @since 2.1
340      */

341     public static final String JavaDoc COMPILER_PB_NO_EFFECT_ASSIGNMENT = PLUGIN_ID + ".compiler.problem.noEffectAssignment"; //$NON-NLS-1$
342
/**
343      * Possible configurable option ID.
344      * @see #getDefaultOptions()
345      * @since 2.1
346      */

347     public static final String JavaDoc COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD = PLUGIN_ID + ".compiler.problem.incompatibleNonInheritedInterfaceMethod"; //$NON-NLS-1$
348
/**
349      * Possible configurable option ID.
350      * @see #getDefaultOptions()
351      * @since 2.1
352      */

353     public static final String JavaDoc COMPILER_PB_UNUSED_PRIVATE_MEMBER = PLUGIN_ID + ".compiler.problem.unusedPrivateMember"; //$NON-NLS-1$
354
/**
355      * Possible configurable option ID.
356      * @see #getDefaultOptions()
357      * @since 3.0
358      */

359     public static final String JavaDoc COMPILER_PB_LOCAL_VARIABLE_HIDING = PLUGIN_ID + ".compiler.problem.localVariableHiding"; //$NON-NLS-1$
360
/**
361      * Possible configurable option ID.
362      * @see #getDefaultOptions()
363      * @since 3.0
364      */

365     public static final String JavaDoc COMPILER_PB_SPECIAL_PARAMETER_HIDING_FIELD = PLUGIN_ID + ".compiler.problem.specialParameterHidingField"; //$NON-NLS-1$
366
/**
367      * Possible configurable option ID.
368      * @see #getDefaultOptions()
369      * @since 3.0
370      */

371     public static final String JavaDoc COMPILER_PB_FIELD_HIDING = PLUGIN_ID + ".compiler.problem.fieldHiding"; //$NON-NLS-1$
372
/**
373      * Possible configurable option ID.
374      * @see #getDefaultOptions()
375      * @since 3.1
376      */

377     public static final String JavaDoc COMPILER_PB_TYPE_PARAMETER_HIDING = PLUGIN_ID + ".compiler.problem.typeParameterHiding"; //$NON-NLS-1$
378
/**
379      * Possible configurable option ID.
380      * @see #getDefaultOptions()
381      * @since 3.0
382      */

383     public static final String JavaDoc COMPILER_PB_POSSIBLE_ACCIDENTAL_BOOLEAN_ASSIGNMENT = PLUGIN_ID + ".compiler.problem.possibleAccidentalBooleanAssignment"; //$NON-NLS-1$
384
/**
385      * Possible configurable option ID.
386      * @see #getDefaultOptions()
387      * @since 3.2
388      */

389     public static final String JavaDoc COMPILER_PB_FALLTHROUGH_CASE = PLUGIN_ID + ".compiler.problem.fallthroughCase"; //$NON-NLS-1$
390
/**
391      * Possible configurable option ID.
392      * @see #getDefaultOptions()
393      * @since 3.0
394      */

395     public static final String JavaDoc COMPILER_PB_EMPTY_STATEMENT = PLUGIN_ID + ".compiler.problem.emptyStatement"; //$NON-NLS-1$
396
/**
397      * Possible configurable option ID.
398      * @see #getDefaultOptions()
399      * @since 3.0
400      */

401     public static final String JavaDoc COMPILER_PB_BOOLEAN_METHOD_THROWING_EXCEPTION = PLUGIN_ID + ".compiler.problem.booleanMethodThrowingException"; //$NON-NLS-1$
402
/**
403      * Possible configurable option ID.
404      * @see #getDefaultOptions()
405      * @since 3.0
406      */

407     public static final String JavaDoc COMPILER_PB_UNNECESSARY_TYPE_CHECK = PLUGIN_ID + ".compiler.problem.unnecessaryTypeCheck"; //$NON-NLS-1$
408
/**
409      * Possible configurable option ID.
410      * @see #getDefaultOptions()
411      * @since 3.0
412      */

413     public static final String JavaDoc COMPILER_PB_UNNECESSARY_ELSE = PLUGIN_ID + ".compiler.problem.unnecessaryElse"; //$NON-NLS-1$
414
/**
415      * Possible configurable option ID.
416      * @see #getDefaultOptions()
417      * @since 3.0
418      */

419     public static final String JavaDoc COMPILER_PB_UNDOCUMENTED_EMPTY_BLOCK = PLUGIN_ID + ".compiler.problem.undocumentedEmptyBlock"; //$NON-NLS-1$
420
/**
421      * Possible configurable option ID.
422      * @see #getDefaultOptions()
423      * @since 3.0
424      */

425     public static final String JavaDoc COMPILER_PB_FINALLY_BLOCK_NOT_COMPLETING = PLUGIN_ID + ".compiler.problem.finallyBlockNotCompletingNormally"; //$NON-NLS-1$
426
/**
427      * Possible configurable option ID.
428      * @see #getDefaultOptions()
429      * @since 3.0
430      */

431     public static final String JavaDoc COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION = PLUGIN_ID + ".compiler.problem.unusedDeclaredThrownException"; //$NON-NLS-1$
432
/**
433      * Possible configurable option ID.
434      * @see #getDefaultOptions()
435      * @since 3.0
436      */

437     public static final String JavaDoc COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING = PLUGIN_ID + ".compiler.problem.unusedDeclaredThrownExceptionWhenOverriding"; //$NON-NLS-1$
438
/**
439      * Possible configurable option ID.
440      * @see #getDefaultOptions()
441      * @since 3.0
442      */

443     public static final String JavaDoc COMPILER_PB_UNQUALIFIED_FIELD_ACCESS = PLUGIN_ID + ".compiler.problem.unqualifiedFieldAccess"; //$NON-NLS-1$
444
/**
445      * Possible configurable option ID.
446      * @see #getDefaultOptions()
447      * @deprecated - got renamed into {@link #COMPILER_PB_UNCHECKED_TYPE_OPERATION}
448      * @since 3.1
449      */

450     public static final String JavaDoc COMPILER_PB_UNSAFE_TYPE_OPERATION = PLUGIN_ID + ".compiler.problem.uncheckedTypeOperation"; //$NON-NLS-1$
451
/**
452      * Possible configurable option ID.
453      * @see #getDefaultOptions()
454      * @since 3.1
455      */

456     public static final String JavaDoc COMPILER_PB_UNCHECKED_TYPE_OPERATION = PLUGIN_ID + ".compiler.problem.uncheckedTypeOperation"; //$NON-NLS-1$
457
/**
458      * Possible configurable option ID.
459      * @see #getDefaultOptions()
460      * @since 3.2
461      */

462     public static final String JavaDoc COMPILER_PB_RAW_TYPE_REFERENCE = PLUGIN_ID + ".compiler.problem.rawTypeReference"; //$NON-NLS-1$
463
/**
464      * Possible configurable option ID.
465      * @see #getDefaultOptions()
466      * @since 3.1
467      */

468     public static final String JavaDoc COMPILER_PB_FINAL_PARAMETER_BOUND = PLUGIN_ID + ".compiler.problem.finalParameterBound"; //$NON-NLS-1$
469
/**
470      * Possible configurable option ID.
471      * @see #getDefaultOptions()
472      * @since 3.1
473      */

474     public static final String JavaDoc COMPILER_PB_MISSING_SERIAL_VERSION = PLUGIN_ID + ".compiler.problem.missingSerialVersion"; //$NON-NLS-1$
475
/**
476      * Possible configurable option ID.
477      * @see #getDefaultOptions()
478      * @since 3.1
479      */

480     public static final String JavaDoc COMPILER_PB_VARARGS_ARGUMENT_NEED_CAST = PLUGIN_ID + ".compiler.problem.varargsArgumentNeedCast"; //$NON-NLS-1$
481
/**
482      * Possible configurable option ID.
483      * @see #getDefaultOptions()
484      * @since 3.1
485      */

486     public static final String JavaDoc COMPILER_PB_AUTOBOXING = PLUGIN_ID + ".compiler.problem.autoboxing"; //$NON-NLS-1$
487
/**
488      * Possible configurable option ID.
489      * @see #getDefaultOptions()
490      * @since 3.1
491      */

492     public static final String JavaDoc COMPILER_PB_ANNOTATION_SUPER_INTERFACE = PLUGIN_ID + ".compiler.problem.annotationSuperInterface"; //$NON-NLS-1$
493
/**
494      * Possible configurable option ID.
495      * @see #getDefaultOptions()
496      * @since 3.1
497      */

498     public static final String JavaDoc COMPILER_PB_MISSING_OVERRIDE_ANNOTATION = PLUGIN_ID + ".compiler.problem.missingOverrideAnnotation"; //$NON-NLS-1$
499
/**
500      * Possible configurable option ID.
501      * @see #getDefaultOptions()
502      * @since 3.1
503      */

504     public static final String JavaDoc COMPILER_PB_MISSING_DEPRECATED_ANNOTATION = PLUGIN_ID + ".compiler.problem.missingDeprecatedAnnotation"; //$NON-NLS-1$
505
/**
506      * Possible configurable option ID.
507      * @see #getDefaultOptions()
508      * @since 3.1
509      */

510     public static final String JavaDoc COMPILER_PB_INCOMPLETE_ENUM_SWITCH = PLUGIN_ID + ".compiler.problem.incompleteEnumSwitch"; //$NON-NLS-1$
511
/**
512      * Possible configurable option ID.
513      * @since 3.1
514      * @deprecated use {@link #COMPILER_PB_NULL_REFERENCE} instead
515      */

516     public static final String JavaDoc COMPILER_PB_INCONSISTENT_NULL_CHECK = PLUGIN_ID + ".compiler.problem.inconsistentNullCheck"; //$NON-NLS-1$
517
/**
518      * Possible configurable option ID.
519      * @see #getDefaultOptions()
520      * @since 3.2
521      */

522     public static final String JavaDoc COMPILER_PB_UNUSED_LABEL = PLUGIN_ID + ".compiler.problem.unusedLabel"; //$NON-NLS-1$
523
/**
524      * Possible configurable option ID.
525      * @see #getDefaultOptions()
526      * @since 3.0
527      */

528     public static final String JavaDoc COMPILER_PB_INVALID_JAVADOC = PLUGIN_ID + ".compiler.problem.invalidJavadoc"; //$NON-NLS-1$
529
/**
530      * Possible configurable option ID.
531      * @see #getDefaultOptions()
532      * @since 3.0
533      */

534     public static final String JavaDoc COMPILER_PB_INVALID_JAVADOC_TAGS = PLUGIN_ID + ".compiler.problem.invalidJavadocTags"; //$NON-NLS-1$
535
/**
536      * Possible configurable option ID.
537      * @see #getDefaultOptions()
538      * @since 3.1
539      */

540     public static final String JavaDoc COMPILER_PB_INVALID_JAVADOC_TAGS__DEPRECATED_REF = PLUGIN_ID + ".compiler.problem.invalidJavadocTagsDeprecatedRef"; //$NON-NLS-1$
541
/**
542      * Possible configurable option ID.
543      * @see #getDefaultOptions()
544      * @since 3.1
545      */

546     public static final String JavaDoc COMPILER_PB_INVALID_JAVADOC_TAGS__NOT_VISIBLE_REF = PLUGIN_ID + ".compiler.problem.invalidJavadocTagsNotVisibleRef"; //$NON-NLS-1$
547
/**
548      * Possible configurable option ID.
549      * @see #getDefaultOptions()
550      * @since 3.0
551      */

552     public static final String JavaDoc COMPILER_PB_INVALID_JAVADOC_TAGS_VISIBILITY = PLUGIN_ID + ".compiler.problem.invalidJavadocTagsVisibility"; //$NON-NLS-1$
553
/**
554      * Possible configurable option ID.
555      * @see #getDefaultOptions()
556      * @since 3.0
557      */

558     public static final String JavaDoc COMPILER_PB_MISSING_JAVADOC_TAGS = PLUGIN_ID + ".compiler.problem.missingJavadocTags"; //$NON-NLS-1$
559
/**
560      * Possible configurable option ID.
561      * @see #getDefaultOptions()
562      * @since 3.0
563      */

564     public static final String JavaDoc COMPILER_PB_MISSING_JAVADOC_TAGS_VISIBILITY = PLUGIN_ID + ".compiler.problem.missingJavadocTagsVisibility"; //$NON-NLS-1$
565
/**
566      * Possible configurable option ID.
567      * @see #getDefaultOptions()
568      * @since 3.0
569      */

570     public static final String JavaDoc COMPILER_PB_MISSING_JAVADOC_TAGS_OVERRIDING = PLUGIN_ID + ".compiler.problem.missingJavadocTagsOverriding"; //$NON-NLS-1$
571
/**
572      * Possible configurable option ID.
573      * @see #getDefaultOptions()
574      * @since 3.0
575      */

576     public static final String JavaDoc COMPILER_PB_MISSING_JAVADOC_COMMENTS = PLUGIN_ID + ".compiler.problem.missingJavadocComments"; //$NON-NLS-1$
577
/**
578      * Possible configurable option ID.
579      * @see #getDefaultOptions()
580      * @since 3.0
581      */

582     public static final String JavaDoc COMPILER_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY = PLUGIN_ID + ".compiler.problem.missingJavadocCommentsVisibility"; //$NON-NLS-1$
583
/**
584      * Possible configurable option ID.
585      * @see #getDefaultOptions()
586      * @since 3.0
587      */

588     public static final String JavaDoc COMPILER_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING = PLUGIN_ID + ".compiler.problem.missingJavadocCommentsOverriding"; //$NON-NLS-1$
589
/**
590      * Possible configurable option ID.
591      * @see #getDefaultOptions()
592      * @since 2.1
593      */

594     public static final String JavaDoc COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION = PLUGIN_ID + ".compiler.problem.noImplicitStringConversion"; //$NON-NLS-1$
595
/**
596      * Possible configurable option ID.
597      * @see #getDefaultOptions()
598      * @since 2.0
599      */

600     public static final String JavaDoc COMPILER_PB_MAX_PER_UNIT = PLUGIN_ID + ".compiler.maxProblemPerUnit"; //$NON-NLS-1$
601
/**
602      * Possible configurable option ID.
603      * @see #getDefaultOptions()
604      * @since 3.2
605      */

606     public static final String JavaDoc COMPILER_PB_FATAL_OPTIONAL_ERROR = PLUGIN_ID + ".compiler.problem.fatalOptionalError"; //$NON-NLS-1$
607
/**
608      * Possible configurable option ID.
609      * @see #getDefaultOptions()
610      * @since 3.2
611      */

612     public static final String JavaDoc COMPILER_PB_PARAMETER_ASSIGNMENT = PLUGIN_ID + ".compiler.problem.parameterAssignment"; //$NON-NLS-1$
613
/**
614      * Possible configurable option ID.
615      * @see #getDefaultOptions()
616      * @since 2.0
617      */

618     public static final String JavaDoc COMPILER_SOURCE = PLUGIN_ID + ".compiler.source"; //$NON-NLS-1$
619
/**
620      * Possible configurable option ID.
621      * @see #getDefaultOptions()
622      * @since 2.0
623      */

624     public static final String JavaDoc COMPILER_COMPLIANCE = PLUGIN_ID + ".compiler.compliance"; //$NON-NLS-1$
625
/**
626      * Possible configurable option ID.
627      * @see #getDefaultOptions()
628      * @since 2.1
629      */

630     public static final String JavaDoc COMPILER_TASK_PRIORITIES = PLUGIN_ID + ".compiler.taskPriorities"; //$NON-NLS-1$
631
/**
632      * Possible configurable option value for COMPILER_TASK_PRIORITIES.
633      * @see #getDefaultOptions()
634      * @since 2.1
635      */

636     public static final String JavaDoc COMPILER_TASK_PRIORITY_HIGH = "HIGH"; //$NON-NLS-1$
637
/**
638      * Possible configurable option value for COMPILER_TASK_PRIORITIES.
639      * @see #getDefaultOptions()
640      * @since 2.1
641      */

642     public static final String JavaDoc COMPILER_TASK_PRIORITY_LOW = "LOW"; //$NON-NLS-1$
643
/**
644      * Possible configurable option value for COMPILER_TASK_PRIORITIES.
645      * @see #getDefaultOptions()
646      * @since 2.1
647      */

648     public static final String JavaDoc COMPILER_TASK_PRIORITY_NORMAL = "NORMAL"; //$NON-NLS-1$
649
/**
650      * Possible configurable option ID.
651      * @see #getDefaultOptions()
652      * @since 2.1
653      */

654     public static final String JavaDoc COMPILER_TASK_TAGS = PLUGIN_ID + ".compiler.taskTags"; //$NON-NLS-1$
655
/**
656      * Possible configurable option ID.
657      * @see #getDefaultOptions()
658      * @since 3.0
659      */

660     public static final String JavaDoc COMPILER_TASK_CASE_SENSITIVE = PLUGIN_ID + ".compiler.taskCaseSensitive"; //$NON-NLS-1$
661
/**
662      * Possible configurable option ID.
663      * @see #getDefaultOptions()
664      * @since 3.1
665      */

666     public static final String JavaDoc COMPILER_PB_FORBIDDEN_REFERENCE = PLUGIN_ID + ".compiler.problem.forbiddenReference"; //$NON-NLS-1$
667
/**
668      * Possible configurable option ID.
669      * @see #getDefaultOptions()
670      * @since 3.1
671      */

672     public static final String JavaDoc COMPILER_PB_DISCOURAGED_REFERENCE = PLUGIN_ID + ".compiler.problem.discouragedReference"; //$NON-NLS-1$
673
/**
674      * Possible configurable option ID.
675      * @see #getDefaultOptions()
676      * @since 3.1
677      */

678     public static final String JavaDoc COMPILER_PB_SUPPRESS_WARNINGS = PLUGIN_ID + ".compiler.problem.suppressWarnings"; //$NON-NLS-1$
679
/**
680      * Possible configurable option ID.
681      * @see #getDefaultOptions()
682      * @since 3.1
683      */

684     public static final String JavaDoc COMPILER_PB_UNHANDLED_WARNING_TOKEN = PLUGIN_ID + ".compiler.problem.unhandledWarningToken"; //$NON-NLS-1$
685
/**
686      * Possible configurable option ID.
687      * @see #getDefaultOptions()
688      * @since 3.2
689      */

690     public static final String JavaDoc COMPILER_PB_NULL_REFERENCE = PLUGIN_ID + ".compiler.problem.nullReference"; //$NON-NLS-1$
691
/**
692      * Possible configurable option ID.
693      * @see #getDefaultOptions()
694      * @since 3.3
695      */

696     public static final String JavaDoc COMPILER_PB_POTENTIAL_NULL_REFERENCE = PLUGIN_ID + ".compiler.problem.potentialNullReference"; //$NON-NLS-1$
697
/**
698      * Possible configurable option ID.
699      * @see #getDefaultOptions()
700      * @since 3.3
701      */

702     public static final String JavaDoc COMPILER_PB_REDUNDANT_NULL_CHECK = PLUGIN_ID + ".compiler.problem.redundantNullCheck"; //$NON-NLS-1$
703
/**
704      * Possible configurable option ID.
705      * @see #getDefaultOptions()
706      * @since 3.3
707      */

708     public static final String JavaDoc COMPILER_PB_OVERRIDING_METHOD_WITHOUT_SUPER_INVOCATION = PLUGIN_ID + ".compiler.problem.overridingMethodWithoutSuperInvocation"; //$NON-NLS-1$
709
/**
710      * Possible configurable option ID.
711      * @see #getDefaultOptions()
712      */

713     public static final String JavaDoc CORE_JAVA_BUILD_ORDER = PLUGIN_ID + ".computeJavaBuildOrder"; //$NON-NLS-1$
714
/**
715      * Possible configurable option ID.
716      * @see #getDefaultOptions()
717      * @since 2.0
718      */

719     public static final String JavaDoc CORE_JAVA_BUILD_RESOURCE_COPY_FILTER = PLUGIN_ID + ".builder.resourceCopyExclusionFilter"; //$NON-NLS-1$
720
/**
721      * Possible configurable option ID.
722      * @see #getDefaultOptions()
723      * @since 2.1
724      */

725     public static final String JavaDoc CORE_JAVA_BUILD_DUPLICATE_RESOURCE = PLUGIN_ID + ".builder.duplicateResourceTask"; //$NON-NLS-1$
726
/**
727      * Possible configurable option ID.
728      * @see #getDefaultOptions()
729      * @since 2.1
730      */

731     public static final String JavaDoc CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER = PLUGIN_ID + ".builder.cleanOutputFolder"; //$NON-NLS-1$
732
/**
733      * Possible configurable option ID.
734      * @see #getDefaultOptions()
735      * @since 3.2
736      */

737     public static final String JavaDoc CORE_JAVA_BUILD_RECREATE_MODIFIED_CLASS_FILES_IN_OUTPUT_FOLDER = PLUGIN_ID + ".builder.recreateModifiedClassFileInOutputFolder"; //$NON-NLS-1$
738
/**
739      * Possible configurable option ID.
740      * @see #getDefaultOptions()
741      * @since 2.1
742      */

743     public static final String JavaDoc CORE_INCOMPLETE_CLASSPATH = PLUGIN_ID + ".incompleteClasspath"; //$NON-NLS-1$
744
/**
745      * Possible configurable option ID.
746      * @see #getDefaultOptions()
747      * @since 2.1
748      */

749     public static final String JavaDoc CORE_CIRCULAR_CLASSPATH = PLUGIN_ID + ".circularClasspath"; //$NON-NLS-1$
750
/**
751      * Possible configurable option ID.
752      * @see #getDefaultOptions()
753      * @since 3.0
754      */

755     public static final String JavaDoc CORE_INCOMPATIBLE_JDK_LEVEL = PLUGIN_ID + ".incompatibleJDKLevel"; //$NON-NLS-1$
756
/**
757      * Possible configurable option ID.
758      * @see #getDefaultOptions()
759      * @since 2.0
760      */

761     public static final String JavaDoc CORE_JAVA_BUILD_INVALID_CLASSPATH = PLUGIN_ID + ".builder.invalidClasspath"; //$NON-NLS-1$
762
/**
763      * Possible configurable option ID.
764      * @see #getDefaultOptions()
765      * @since 2.0
766      */

767     public static final String JavaDoc CORE_ENCODING = PLUGIN_ID + ".encoding"; //$NON-NLS-1$
768
/**
769      * Possible configurable option ID.
770      * @see #getDefaultOptions()
771      * @since 2.1
772      */

773     public static final String JavaDoc CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS = PLUGIN_ID + ".classpath.exclusionPatterns"; //$NON-NLS-1$
774
/**
775      * Possible configurable option ID.
776      * @see #getDefaultOptions()
777      * @since 2.1
778      */

779     public static final String JavaDoc CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS = PLUGIN_ID + ".classpath.multipleOutputLocations"; //$NON-NLS-1$
780
/**
781      * Default task tag
782      * @deprecated Use {@link #DEFAULT_TASK_TAGS} instead
783      * @since 2.1
784      */

785     public static final String JavaDoc DEFAULT_TASK_TAG = "TODO"; //$NON-NLS-1$
786
/**
787      * Default task priority
788      * @deprecated Use {@link #DEFAULT_TASK_PRIORITIES} instead
789      * @since 2.1
790      */

791     public static final String JavaDoc DEFAULT_TASK_PRIORITY = "NORMAL"; //$NON-NLS-1$
792
/**
793      * Default task tag
794      * @since 3.0
795      */

796     public static final String JavaDoc DEFAULT_TASK_TAGS = "TODO,FIXME,XXX"; //$NON-NLS-1$
797
/**
798      * Default task priority
799      * @since 3.0
800      */

801     public static final String JavaDoc DEFAULT_TASK_PRIORITIES = "NORMAL,HIGH,NORMAL"; //$NON-NLS-1$
802
/**
803      * Possible configurable option ID.
804   &nbs