public final class JavaCore extends Plugin
Like all plug-in runtime classes (subclasses of Plugin
), this
class is automatically instantiated by the platform when the plug-in gets
activated. Clients must not attempt to instantiate plug-in runtime classes
directly.
The single instance of this class can be accessed from any plug-in declaring
the Java model plug-in as a prerequisite via
JavaCore.getJavaCore()
. The Java model plug-in will be activated
automatically if not already active.
Modifier and Type | Field and Description |
---|---|
static String |
ABORT
Configurable option value: "abort".
|
protected static String |
ATT_HANDLE_ID
Name of the handle id attribute in a Java marker.
|
static String |
BUILDER_ID
The identifier for the Java builder
(value
"org.eclipse.jdt.core.javabuilder" ). |
static String |
CLEAN
Configurable option value: "clean".
|
static String |
CLEAR_ALL
Configurable option value: "clear all".
|
static String |
CODEASSIST_ARGUMENT_PREFIXES
Code assist option ID: Define the Prefixes for Argument Name.
|
static String |
CODEASSIST_ARGUMENT_SUFFIXES
Code assist option ID: Define the Suffixes for Argument Name.
|
static String |
CODEASSIST_CAMEL_CASE_MATCH
Code assist option ID: Activate Camel Case Sensitive Completion.
|
static String |
CODEASSIST_DEPRECATION_CHECK
Code assist option ID: Activate Deprecation Sensitive Completion.
|
static String |
CODEASSIST_DISCOURAGED_REFERENCE_CHECK
Code assist option ID: Activate Discouraged Reference Sensitive Completion.
|
static String |
CODEASSIST_FIELD_PREFIXES
Code assist option ID: Define the Prefixes for Field Name.
|
static String |
CODEASSIST_FIELD_SUFFIXES
Code assist option ID: Define the Suffixes for Field Name.
|
static String |
CODEASSIST_FORBIDDEN_REFERENCE_CHECK
Code assist option ID: Activate Forbidden Reference Sensitive Completion.
|
static String |
CODEASSIST_IMPLICIT_QUALIFICATION
Code assist option ID: Automatic Qualification of Implicit Members.
|
static String |
CODEASSIST_LOCAL_PREFIXES
Code assist option ID: Define the Prefixes for Local Variable Name.
|
static String |
CODEASSIST_LOCAL_SUFFIXES
Code assist option ID: Define the Suffixes for Local Variable Name.
|
static String |
CODEASSIST_STATIC_FIELD_PREFIXES
Code assist option ID: Define the Prefixes for Static Field Name.
|
static String |
CODEASSIST_STATIC_FIELD_SUFFIXES
Code assist option ID: Define the Suffixes for Static Field Name.
|
static String |
CODEASSIST_STATIC_FINAL_FIELD_PREFIXES
Code assist option ID: Define the Prefixes for Static Final Field Name.
|
static String |
CODEASSIST_STATIC_FINAL_FIELD_SUFFIXES
Code assist option ID: Define the Suffixes for Static Final Field Name.
|
static String |
CODEASSIST_SUGGEST_STATIC_IMPORTS
Code assist option ID: Activate Suggestion of Static Import.
|
static String |
CODEASSIST_VISIBILITY_CHECK
Code assist option ID: Activate Visibility Sensitive Completion.
|
static String |
COMPACT
Configurable option value: "compact".
|
static String |
COMPILER_ANNOTATION_NULL_ANALYSIS
Compiler option ID: Annotation-based Null Analysis.
|
static String |
COMPILER_CODEGEN_INLINE_JSR_BYTECODE
Compiler option ID: Inline JSR Bytecode Instruction.
|
static String |
COMPILER_CODEGEN_METHOD_PARAMETERS_ATTR
Compiler option ID: Generating Method Parameters Attribute.
|
static String |
COMPILER_CODEGEN_TARGET_PLATFORM
Compiler option ID: Defining Target Java Platform.
|
static String |
COMPILER_CODEGEN_UNUSED_LOCAL
Compiler option ID: Preserving Unused Local Variables.
|
static String |
COMPILER_COMPLIANCE
Compiler option ID: Setting Compliance Level.
|
static String |
COMPILER_DOC_COMMENT_SUPPORT
Compiler option ID: Javadoc Comment Support.
|
static String |
COMPILER_INHERIT_NULL_ANNOTATIONS
Compiler option ID: Inheritance of null annotations.
|
static String |
COMPILER_LINE_NUMBER_ATTR
Compiler option ID: Generating Line Number Debug Attribute.
|
static String |
COMPILER_LOCAL_VARIABLE_ATTR
Compiler option ID: Generating Local Variable Debug Attribute.
|
static String |
COMPILER_NONNULL_ANNOTATION_NAME
Compiler option ID: Name of Annotation Type for Non-Null Types.
|
static String |
COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME
Compiler option ID: Name of Annotation Type to specify a nullness default for unannotated types.
|
static String |
COMPILER_NULLABLE_ANNOTATION_NAME
Compiler option ID: Name of Annotation Type for Nullable Types.
|
static String |
COMPILER_PB_ANNOTATION_SUPER_INTERFACE
Compiler option ID: Reporting Use of Annotation Type as Super Interface.
|
static String |
COMPILER_PB_ASSERT_IDENTIFIER
Compiler option ID: Reporting Usage of
'assert' Identifier. |
static String |
COMPILER_PB_AUTOBOXING
Compiler option ID: Reporting Boxing/Unboxing Conversion.
|
static String |
COMPILER_PB_BOOLEAN_METHOD_THROWING_EXCEPTION
Deprecated.
- this option has no effect
|
static String |
COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION
Compiler option ID: Reporting Usage of
char[] Expressions in String Concatenations. |
static String |
COMPILER_PB_COMPARING_IDENTICAL
Compiler option ID: Reporting Comparison of Identical Expressions.
|
static String |
COMPILER_PB_DEAD_CODE
Compiler option ID: Reporting Dead Code.
|
static String |
COMPILER_PB_DEAD_CODE_IN_TRIVIAL_IF_STATEMENT
Compiler option ID: Reporting Dead Code Inside Trivial If Statement.
|
static String |
COMPILER_PB_DEPRECATION
Compiler option ID: Reporting Deprecation.
|
static String |
COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE
Compiler option ID: Reporting Deprecation Inside Deprecated Code.
|
static String |
COMPILER_PB_DEPRECATION_WHEN_OVERRIDING_DEPRECATED_METHOD
Compiler option ID: Reporting Deprecation When Overriding Deprecated Method.
|
static String |
COMPILER_PB_DISCOURAGED_REFERENCE
Compiler option ID: Reporting Discouraged Reference to Type with Restricted Access.
|
static String |
COMPILER_PB_EMPTY_STATEMENT
Compiler option ID: Reporting Empty Statements and Unnecessary Semicolons.
|
static String |
COMPILER_PB_ENUM_IDENTIFIER
Compiler option ID: Reporting Usage of
'enum' Identifier. |
static String |
COMPILER_PB_EXPLICITLY_CLOSED_AUTOCLOSEABLE
Compiler option ID: Reporting a resource that is not managed by try-with-resources.
|
static String |
COMPILER_PB_FALLTHROUGH_CASE
Compiler option ID: Reporting Switch Fall-Through Case.
|
static String |
COMPILER_PB_FATAL_OPTIONAL_ERROR
Compiler option ID: Treating Optional Error as Fatal.
|
static String |
COMPILER_PB_FIELD_HIDING
Compiler option ID: Reporting Field Declaration Hiding another Variable.
|
static String |
COMPILER_PB_FINAL_PARAMETER_BOUND
Compiler option ID: Reporting final Bound for Type Parameter.
|
static String |
COMPILER_PB_FINALLY_BLOCK_NOT_COMPLETING
Compiler option ID: Reporting Finally Blocks Not Completing Normally.
|
static String |
COMPILER_PB_FORBIDDEN_REFERENCE
Compiler option ID: Reporting Forbidden Reference to Type with Restricted Access.
|
static String |
COMPILER_PB_HIDDEN_CATCH_BLOCK
Compiler option ID: Reporting Hidden Catch Block.
|
static String |
COMPILER_PB_INCLUDE_ASSERTS_IN_NULL_ANALYSIS
Compiler option ID: Raise null related errors or warnings arising because of assert statements.
|
static String |
COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD
Compiler option ID: Reporting Interface Method not Compatible with non-Inherited Methods.
|
static String |
COMPILER_PB_INCOMPLETE_ENUM_SWITCH
Compiler option ID: Reporting Incomplete Enum Switch.
|
static String |
COMPILER_PB_INCONSISTENT_NULL_CHECK
Deprecated.
Use
COMPILER_PB_NULL_REFERENCE instead. |
static String |
COMPILER_PB_INDIRECT_STATIC_ACCESS
Compiler option ID: Reporting Indirect Reference to a Static Member.
|
static String |
COMPILER_PB_INVALID_IMPORT
Deprecated.
Discontinued since turning off would violate language specs.
|
static String |
COMPILER_PB_INVALID_JAVADOC
Compiler option ID: Reporting Invalid Javadoc Comment.
|
static String |
COMPILER_PB_INVALID_JAVADOC_TAGS
Compiler option ID: Reporting Invalid Javadoc Tags.
|
static String |
COMPILER_PB_INVALID_JAVADOC_TAGS__DEPRECATED_REF
Compiler option ID: Reporting Invalid Javadoc Tags with Deprecated References.
|
static String |
COMPILER_PB_INVALID_JAVADOC_TAGS__NOT_VISIBLE_REF
Compiler option ID: Reporting Invalid Javadoc Tags with Not Visible References.
|
static String |
COMPILER_PB_INVALID_JAVADOC_TAGS_VISIBILITY
Compiler option ID: Visibility Level For Invalid Javadoc Tags.
|
static String |
COMPILER_PB_LOCAL_VARIABLE_HIDING
Compiler option ID: Reporting Local Variable Declaration Hiding another Variable.
|
static String |
COMPILER_PB_MAX_PER_UNIT
Compiler option ID: Maximum Number of Problems Reported per Compilation Unit.
|
static String |
COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME
Compiler option ID: Reporting Method With Constructor Name.
|
static String |
COMPILER_PB_MISSING_DEPRECATED_ANNOTATION
Compiler option ID: Reporting Missing
@Deprecated Annotation. |
static String |
COMPILER_PB_MISSING_ENUM_CASE_DESPITE_DEFAULT
Compiler option ID: Reporting Missing Enum Case In Switch Despite An Existing Default Case.
|
static String |
COMPILER_PB_MISSING_HASHCODE_METHOD
Compiler option ID: Reporting Missing HashCode Method.
|
static String |
COMPILER_PB_MISSING_JAVADOC_COMMENTS
Compiler option ID: Reporting Missing Javadoc Comments.
|
static String |
COMPILER_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING
Compiler option ID: Reporting Missing Javadoc Comments on Overriding Methods.
|
static String |
COMPILER_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY
Compiler option ID: Visibility Level For Missing Javadoc Comments.
|
static String |
COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION
Compiler option ID: Reporting missing tag description.
|
static String |
COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION_ALL_STANDARD_TAGS
Configurable option value: "all_standard_tags".
|
static String |
COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION_NO_TAG
Configurable option value: "no_tag".
|
static String |
COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION_RETURN_TAG
Configurable option value: "return_tag".
|
static String |
COMPILER_PB_MISSING_JAVADOC_TAGS
Compiler option ID: Reporting Missing Javadoc Tags.
|
static String |
COMPILER_PB_MISSING_JAVADOC_TAGS_METHOD_TYPE_PARAMETERS
Compiler option ID: Reporting Missing Javadoc Tags for Method Type Parameters.
|
static String |
COMPILER_PB_MISSING_JAVADOC_TAGS_OVERRIDING
Compiler option ID: Reporting Missing Javadoc Tags on Overriding Methods.
|
static String |
COMPILER_PB_MISSING_JAVADOC_TAGS_VISIBILITY
Compiler option ID: Visibility Level For Missing Javadoc Tags.
|
static String |
COMPILER_PB_MISSING_NONNULL_BY_DEFAULT_ANNOTATION
Compiler option ID: Reporting missing default nullness annotation.
|
static String |
COMPILER_PB_MISSING_OVERRIDE_ANNOTATION
Compiler option ID: Reporting Missing
@Override Annotation. |
static String |
COMPILER_PB_MISSING_OVERRIDE_ANNOTATION_FOR_INTERFACE_METHOD_IMPLEMENTATION
Compiler option ID: Reporting Missing
@Override Annotation for interface method implementation. |
static String |
COMPILER_PB_MISSING_SERIAL_VERSION
Compiler option ID: Reporting Missing Declaration of serialVersionUID Field on Serializable Class.
|
static String |
COMPILER_PB_MISSING_STATIC_ON_METHOD
Compiler option ID: Reporting a method that qualifies as static, but not declared static.
|
static String |
COMPILER_PB_MISSING_SYNCHRONIZED_ON_INHERITED_METHOD
Compiler option ID: Reporting Missing Synchronized Modifier On Inherited Method.
|
static String |
COMPILER_PB_NO_EFFECT_ASSIGNMENT
Compiler option ID: Reporting Assignment with no Effect.
|
static String |
COMPILER_PB_NON_NLS_STRING_LITERAL
Compiler option ID: Reporting Non-Externalized String Literal.
|
static String |
COMPILER_PB_NONNULL_PARAMETER_ANNOTATION_DROPPED
Compiler option ID: Reporting Dropped Nonnull Parameter Annotations.
|
static String |
COMPILER_PB_NULL_ANNOTATION_INFERENCE_CONFLICT
Compiler option ID: Reporting conflicts between declared null annotation and inferred null value
When enabled, the compiler will issue an error or a warning whenever one of the
following situations is detected:
A method declared with a nonnull annotation returns an expression that is
statically known to evaluate to a null value on some flow.
|
static String |
COMPILER_PB_NULL_REFERENCE
Compiler option ID: Reporting Null Dereference.
|
static String |
COMPILER_PB_NULL_SPECIFICATION_VIOLATION
Compiler option ID: Reporting Violations of Null Specifications.
|
static String |
COMPILER_PB_NULL_UNCHECKED_CONVERSION
Compiler option ID: Reporting unchecked conversion from a type with unknown nullness to a null annotated type
When enabled, the compiler will issue an error or a warning whenever one of the
following situations is detected:
A method declared with a nonnull annotation returns an expression for which
insufficient nullness information is available for statically proving that no
flow will pass a null value at runtime.
|
static String |
COMPILER_PB_OVERRIDING_METHOD_WITHOUT_SUPER_INVOCATION
Compiler option ID: Reporting Overriding method that doesn't call the super method invocation.
|
static String |
COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD
Compiler option ID: Reporting Attempt to Override Package Visible Method.
|
static String |
COMPILER_PB_PARAMETER_ASSIGNMENT
Compiler option ID: Reporting Parameter Assignment.
|
static String |
COMPILER_PB_POSSIBLE_ACCIDENTAL_BOOLEAN_ASSIGNMENT
Compiler option ID: Reporting Possible Accidental Boolean Assignment.
|
static String |
COMPILER_PB_POTENTIAL_NULL_REFERENCE
Compiler option ID: Reporting Potential Null Dereference.
|
static String |
COMPILER_PB_POTENTIALLY_MISSING_STATIC_ON_METHOD
Compiler option ID: Reporting a method that may qualify as static, but not declared static.
|
static String |
COMPILER_PB_POTENTIALLY_UNCLOSED_CLOSEABLE
Compiler option ID: Reporting a resource that may not be closed properly.
|
static String |
COMPILER_PB_RAW_TYPE_REFERENCE
Compiler option ID: Reporting Raw Type Reference.
|
static String |
COMPILER_PB_REDUNDANT_NULL_ANNOTATION
Compiler option ID: Reporting Redundant Null Annotations.
|
static String |
COMPILER_PB_REDUNDANT_NULL_CHECK
Compiler option ID: Reporting Redundant Null Check.
|
static String |
COMPILER_PB_REDUNDANT_SUPERINTERFACE
Compiler option ID: Reporting Redundant Superinterface.
|
static String |
COMPILER_PB_REDUNDANT_TYPE_ARGUMENTS
Compiler option ID: Reporting redundant specification of type arguments in class instance creation expressions.
|
static String |
COMPILER_PB_SPECIAL_PARAMETER_HIDING_FIELD
Compiler option ID: Reporting Special Parameter Hiding another Field.
|
static String |
COMPILER_PB_STATIC_ACCESS_RECEIVER
Compiler option ID: Reporting Non-Static Reference to a Static Member.
|
static String |
COMPILER_PB_SUPPRESS_OPTIONAL_ERRORS
Compiler option ID: Further Determining the Effect of
@SuppressWarnings if also
COMPILER_PB_SUPPRESS_WARNINGS is enabled. |
static String |
COMPILER_PB_SUPPRESS_WARNINGS
Compiler option ID: Determining Effect of
@SuppressWarnings . |
static String |
COMPILER_PB_SWITCH_MISSING_DEFAULT_CASE
Compiler option ID: Reporting Missing Default Case In Switch.
|
static String |
COMPILER_PB_SYNTACTIC_NULL_ANALYSIS_FOR_FIELDS
Compiler option ID: Perform syntactic null analysis for fields.
|
static String |
COMPILER_PB_SYNTHETIC_ACCESS_EMULATION
Compiler option ID: Reporting Synthetic Access Emulation.
|
static String |
COMPILER_PB_TYPE_PARAMETER_HIDING
Compiler option ID: Reporting Type Declaration Hiding another Type.
|
static String |
COMPILER_PB_UNAVOIDABLE_GENERIC_TYPE_PROBLEMS
Compiler option ID: Reporting of Unavoidable Generic Type Problems due to raw APIs.
|
static String |
COMPILER_PB_UNCHECKED_TYPE_OPERATION
Compiler option ID: Reporting Unchecked Type Operation.
|
static String |
COMPILER_PB_UNCLOSED_CLOSEABLE
Compiler option ID: Reporting a resource that is not closed properly.
|
static String |
COMPILER_PB_UNDOCUMENTED_EMPTY_BLOCK
Compiler option ID: Reporting Undocumented Empty Block.
|
static String |
COMPILER_PB_UNHANDLED_WARNING_TOKEN
Compiler option ID: Reporting Unhandled Warning Token for
@SuppressWarnings . |
static String |
COMPILER_PB_UNNECESSARY_ELSE
Compiler option ID: Reporting Unnecessary Else.
|
static String |
COMPILER_PB_UNNECESSARY_TYPE_CHECK
Compiler option ID: Reporting Unnecessary Type Check.
|
static String |
COMPILER_PB_UNQUALIFIED_FIELD_ACCESS
Compiler option ID: Reporting Unqualified Access to Field.
|
static String |
COMPILER_PB_UNREACHABLE_CODE
Deprecated.
Discontinued since turning off would violate language specs.
|
static String |
COMPILER_PB_UNSAFE_TYPE_OPERATION
Deprecated.
Use
COMPILER_PB_UNCHECKED_TYPE_OPERATION instead. |
static String |
COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION
Compiler option ID: Reporting Unused Declared Thrown Exception.
|
static String |
COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_EXEMPT_EXCEPTION_AND_THROWABLE
Compiler option ID: Reporting Unused Declared Thrown Exception Exempts Exception And Throwable.
|
static String |
COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_INCLUDE_DOC_COMMENT_REFERENCE
Compiler option ID: Consider Reference in Doc Comment for Unused Declared Thrown Exception Check.
|
static String |
COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING
Compiler option ID: Reporting Unused Declared Thrown Exception in Overriding Method.
|
static String |
COMPILER_PB_UNUSED_EXCEPTION_PARAMETER
Compiler option ID: Reporting Unused Exception Parameter.
|
static String |
COMPILER_PB_UNUSED_IMPORT
Compiler option ID: Reporting Unused Import.
|
static String |
COMPILER_PB_UNUSED_LABEL
Compiler option ID: Reporting Unreferenced Label.
|
static String |
COMPILER_PB_UNUSED_LOCAL
Compiler option ID: Reporting Unused Local.
|
static String |
COMPILER_PB_UNUSED_OBJECT_ALLOCATION
Compiler option ID: Reporting Allocation of an Unused Object.
|
static String |
COMPILER_PB_UNUSED_PARAMETER
Compiler option ID: Reporting Unused Parameter.
|
static String |
COMPILER_PB_UNUSED_PARAMETER_INCLUDE_DOC_COMMENT_REFERENCE
Compiler option ID: Consider Reference in Doc Comment for Unused Parameter Check.
|
static String |
COMPILER_PB_UNUSED_PARAMETER_WHEN_IMPLEMENTING_ABSTRACT
Compiler option ID: Reporting Unused Parameter if Implementing Abstract Method.
|
static String |
COMPILER_PB_UNUSED_PARAMETER_WHEN_OVERRIDING_CONCRETE
Compiler option ID: Reporting Unused Parameter if Overriding Concrete Method.
|
static String |
COMPILER_PB_UNUSED_PRIVATE_MEMBER
Compiler option ID: Reporting Unused Private Members.
|
static String |
COMPILER_PB_UNUSED_TYPE_ARGUMENTS_FOR_METHOD_INVOCATION
Compiler option ID: Reporting Presence of Type Arguments for a Non-Generic Method Invocation.
|
static String |
COMPILER_PB_UNUSED_TYPE_PARAMETER
Compiler option ID: Reporting Unused Type Parameter.
|
static String |
COMPILER_PB_UNUSED_WARNING_TOKEN
Compiler option ID: Reporting Unnecessary
@SuppressWarnings . |
static String |
COMPILER_PB_VARARGS_ARGUMENT_NEED_CAST
Compiler option ID: Reporting Varargs Argument Needing a Cast in Method/Constructor Invocation.
|
static String |
COMPILER_SOURCE
Compiler option ID: Setting Source Compatibility Mode.
|
static String |
COMPILER_SOURCE_FILE_ATTR
Compiler option ID: Generating Source Debug Attribute.
|
static String |
COMPILER_TASK_CASE_SENSITIVE
Compiler option ID: Determining whether task tags are case-sensitive.
|
static String |
COMPILER_TASK_PRIORITIES
Compiler option ID: Defining the Automatic Task Priorities.
|
static String |
COMPILER_TASK_PRIORITY_HIGH
Configurable option value for
COMPILER_TASK_PRIORITIES : "HIGH". |
static String |
COMPILER_TASK_PRIORITY_LOW
Configurable option value for
COMPILER_TASK_PRIORITIES : "LOW". |
static String |
COMPILER_TASK_PRIORITY_NORMAL
Configurable option value for
COMPILER_TASK_PRIORITIES : "NORMAL". |
static String |
COMPILER_TASK_TAGS
Compiler option ID: Defining the Automatic Task Tags.
|
static String |
COMPUTE
Configurable option value: "compute".
|
static String |
CORE_CIRCULAR_CLASSPATH
Core option ID: Reporting Classpath Cycle.
|
static String |
CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS
Core option ID: Enabling Usage of Classpath Exclusion Patterns.
|
static String |
CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS
Core option ID: Enabling Usage of Classpath Multiple Output Locations.
|
static String |
CORE_ENCODING
Core option ID: Default Source Encoding Format.
|
static String |
CORE_INCOMPATIBLE_JDK_LEVEL
Core option ID: Reporting Incompatible JDK Level for Required Binaries.
|
static String |
CORE_INCOMPLETE_CLASSPATH
Core option ID: Reporting Incomplete Classpath.
|
static String |
CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER
Core option ID: Cleaning Output Folder(s).
|
static String |
CORE_JAVA_BUILD_DUPLICATE_RESOURCE
Core option ID: Reporting Duplicate Resources.
|
static String |
CORE_JAVA_BUILD_INVALID_CLASSPATH
Core option ID: Abort if Invalid Classpath.
|
static String |
CORE_JAVA_BUILD_ORDER
Core option ID: Computing Project Build Order.
|
static String |
CORE_JAVA_BUILD_RECREATE_MODIFIED_CLASS_FILES_IN_OUTPUT_FOLDER
Core option ID: Recreate Modified class files in Output Folder.
|
static String |
CORE_JAVA_BUILD_RESOURCE_COPY_FILTER
Core option ID: Specifying Filters for Resource Copying Control.
|
static String |
CORE_OUTPUT_LOCATION_OVERLAPPING_ANOTHER_SOURCE
Core option ID: Reporting an output location overlapping another source location.
|
static String |
DEFAULT
Configurable option value: "default".
|
static String |
DEFAULT_JAVA_FORMATTER
The ID of the Eclipse built-in formatter.
|
static String |
DEFAULT_TASK_PRIORITIES
Configurable option value: "NORMAL,HIGH,NORMAL".
|
static String |
DEFAULT_TASK_PRIORITY
Deprecated.
Use
DEFAULT_TASK_PRIORITIES instead. |
static String |
DEFAULT_TASK_TAG
Deprecated.
Use
DEFAULT_TASK_TAGS instead. |
static String |
DEFAULT_TASK_TAGS
Configurable option value: "TODO,FIXME,XXX".
|
static String |
DISABLED
Configurable option value: "disabled".
|
static String |
DO_NOT_GENERATE
Configurable option value: "do not generate".
|
static String |
DO_NOT_INSERT
Configurable option value: "do not insert".
|
static String |
ENABLED
Configurable option value: "enabled".
|
static String |
ERROR
Configurable option value: "error".
|
static String |
FORMATTER_CLEAR_BLANK_LINES
Deprecated.
|
static String |
FORMATTER_COMPACT_ASSIGNMENT
Deprecated.
|
static String |
FORMATTER_LINE_SPLIT
Deprecated.
|
static String |
FORMATTER_NEWLINE_CONTROL
Deprecated.
Use
DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_CATCH_IN_TRY_STATEMENT ,
DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_ELSE_IN_IF_STATEMENT ,
DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_FINALLY_IN_TRY_STATEMENT ,
DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_WHILE_IN_DO_STATEMENT instead. |
static String |
FORMATTER_NEWLINE_ELSE_IF
Deprecated.
|
static String |
FORMATTER_NEWLINE_EMPTY_BLOCK
Deprecated.
|
static String |
FORMATTER_NEWLINE_OPENING_BRACE
Deprecated.
Use
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_ANONYMOUS_TYPE_DECLARATION ,
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_BLOCK ,
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_CONSTRUCTOR_DECLARATION ,
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_METHOD_DECLARATION ,
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_SWITCH ,
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_TYPE_DECLARATION instead. |
static String |
FORMATTER_SPACE_CASTEXPRESSION
Deprecated.
|
static String |
FORMATTER_TAB_CHAR
Deprecated.
Use
DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR instead. |
static String |
FORMATTER_TAB_SIZE
Deprecated.
Use
DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE instead. |
static String |
GENERATE
Configurable option value: "generate".
|
static String |
IGNORE
Configurable option value: "ignore".
|
static String |
INSERT
Configurable option value: "insert".
|
static String |
JAVA_FORMATTER
Core option ID: The ID of the formatter to use in formatting operations.
|
static String |
JAVA_FORMATTER_EXTENSION_POINT_ID
Name of the extension point for contributing a source code formatter
|
static String |
JAVA_SOURCE_CONTENT_TYPE
Value of the content-type for Java source files.
|
static String |
MODEL_ID
The identifier for the Java model
(value
"org.eclipse.jdt.core.javamodel" ). |
static String |
NATURE_ID
The identifier for the Java nature
(value
"org.eclipse.jdt.core.javanature" ). |
static String |
NEVER
Configurable option value: "never".
|
static String |
NORMAL
Configurable option value: "normal".
|
static String |
OPTIMIZE_OUT
Configurable option value: "optimize out".
|
static String |
PLUGIN_ID
The plug-in identifier of the Java core support
(value
"org.eclipse.jdt.core" ). |
static String |
PRESERVE
Configurable option value: "preserve".
|
static String |
PRESERVE_ONE
Configurable option value: "preserve one".
|
static String |
PRIVATE
Configurable option value: "private".
|
static String |
PROTECTED
Configurable option value: "protected".
|
static String |
PUBLIC
Configurable option value: "public".
|
static String |
SPACE
Configurable option value: "space".
|
static String |
TAB
Configurable option value: "tab".
|
static String |
TIMEOUT_FOR_PARAMETER_NAME_FROM_ATTACHED_JAVADOC
Core option ID: Set the timeout value for retrieving the method's parameter names from javadoc.
|
static String |
USER_LIBRARY_CONTAINER_ID
Name of the User Library Container id.
|
static String |
VERSION_1_1
Configurable option value: "1.1".
|
static String |
VERSION_1_2
Configurable option value: "1.2".
|
static String |
VERSION_1_3
Configurable option value: "1.3".
|
static String |
VERSION_1_4
Configurable option value: "1.4".
|
static String |
VERSION_1_5
Configurable option value: "1.5".
|
static String |
VERSION_1_6
Configurable option value: "1.6".
|
static String |
VERSION_1_7
Configurable option value: "1.7".
|
static String |
VERSION_1_8
Configurable option value: "1.8".
|
static String |
VERSION_CLDC_1_1
Configurable option value: "cldc1.1".
|
static String |
WARNING
Configurable option value: "warning".
|
PLUGIN_PREFERENCE_SCOPE, PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME, PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME
Constructor and Description |
---|
JavaCore()
Creates the Java core plug-in.
|
Modifier and Type | Method and Description |
---|---|
static void |
addElementChangedListener(IElementChangedListener listener)
Adds the given listener for changes to Java elements.
|
static void |
addElementChangedListener(IElementChangedListener listener,
int eventMask)
Adds the given listener for changes to Java elements.
|
static void |
addJavaElementMarkerAttributes(Map attributes,
IJavaElement element)
Configures the given marker attribute map for the given Java element.
|
static void |
addPreProcessingResourceChangedListener(IResourceChangeListener listener)
Deprecated.
use addPreProcessingResourceChangedListener(listener, IResourceChangeEvent.POST_CHANGE) instead
|
static void |
addPreProcessingResourceChangedListener(IResourceChangeListener listener,
int eventMask)
Adds the given listener for resource change events of the given types to the Java core.
|
void |
configureJavaElementMarker(IMarker marker,
IJavaElement element)
Configures the given marker for the given Java element.
|
static IJavaElement |
create(IFile file)
Returns the Java element corresponding to the given file, or
null if unable to associate the given file
with a Java element. |
static IJavaElement |
create(IFolder folder)
Returns the package fragment or package fragment root corresponding to the given folder, or
null if unable to associate the given folder with a Java element. |
static IJavaProject |
create(IProject project)
Returns the Java project corresponding to the given project.
|
static IJavaElement |
create(IResource resource)
Returns the Java element corresponding to the given resource, or
null if unable to associate the given resource
with a Java element. |
static IJavaElement |
create(IResource resource,
IJavaProject project)
Returns the Java element corresponding to the given file, its project being the given
project.
|
static IJavaModel |
create(IWorkspaceRoot root)
Returns the Java model.
|
static IJavaElement |
create(String handleIdentifier)
Returns the Java model element corresponding to the given handle identifier
generated by
IJavaElement.getHandleIdentifier() , or
null if unable to create the associated element. |
static IJavaElement |
create(String handleIdentifier,
WorkingCopyOwner owner)
Returns the Java model element corresponding to the given handle identifier
generated by
IJavaElement.getHandleIdentifier() , or
null if unable to create the associated element. |
static IClassFile |
createClassFileFrom(IFile file)
Creates and returns a class file element for
the given
.class file. |
static ICompilationUnit |
createCompilationUnitFrom(IFile file)
Creates and returns a compilation unit element for
the given source file (i.e. a file with one of the
Java-like extensions ). |
static IPackageFragmentRoot |
createJarPackageFragmentRootFrom(IFile file)
Creates and returns a handle for the given JAR file.
|
static IClasspathContainer |
getClasspathContainer(IPath containerPath,
IJavaProject project)
Answers the project specific value for a given classpath container.
|
static ClasspathContainerInitializer |
getClasspathContainerInitializer(String containerID)
Helper method finding the classpath container initializer registered for a given classpath container ID
or
null if none was found while iterating over the contributions to extension point to
the extension point "org.eclipse.jdt.core.classpathContainerInitializer". |
static IPath |
getClasspathVariable(String variableName)
Returns the path held in the given classpath variable.
|
static String |
getClasspathVariableDeprecationMessage(String variableName)
Returns deprecation message of a given classpath variable.
|
static ClasspathVariableInitializer |
getClasspathVariableInitializer(String variable)
Helper method finding the classpath variable initializer registered for a given classpath variable name
or
null if none was found while iterating over the contributions to extension point to
the extension point "org.eclipse.jdt.core.classpathVariableInitializer". |
static String[] |
getClasspathVariableNames()
Returns the names of all known classpath variables.
|
static Hashtable |
getDefaultOptions()
Returns a table of all known configurable options with their default values.
|
static String |
getEncoding()
Returns the workspace root default charset encoding.
|
static IResource[] |
getGeneratedResources(IRegion region,
boolean includesNonJavaResources)
Returns an array that contains the resources generated by the Java builder when building the
compilation units contained in the given region.
|
static JavaCore |
getJavaCore()
Returns the single instance of the Java core plug-in runtime class.
|
static String[] |
getJavaLikeExtensions()
Returns the list of known Java-like extensions.
|
static String |
getOption(String optionName)
Helper method for returning one option value only.
|
static String |
getOptionForConfigurableSeverity(int problemID)
Returns the option that can be used to configure the severity of the
compiler problem identified by
problemID if any,
null otherwise. |
static Hashtable |
getOptions()
Returns the table of the current options.
|
static Plugin |
getPlugin()
Returns the single instance of the Java core plug-in runtime class.
|
static IClasspathEntry[] |
getReferencedClasspathEntries(IClasspathEntry libraryEntry,
IJavaProject project)
Returns an array of classpath entries that are referenced directly or indirectly
by a given classpath entry.
|
static IClasspathEntry |
getResolvedClasspathEntry(IClasspathEntry entry)
This is a helper method, which returns the resolved classpath entry denoted
by a given entry (if it is a variable entry).
|
static IPath |
getResolvedVariablePath(IPath variablePath)
Resolve a variable path (helper method).
|
static IWorkingCopy[] |
getSharedWorkingCopies(IBufferFactory factory)
Deprecated.
Use
getWorkingCopies(WorkingCopyOwner) instead |
static String[] |
getUserLibraryNames()
Returns the names of all defined user libraries.
|
static ICompilationUnit[] |
getWorkingCopies(WorkingCopyOwner owner)
Returns the working copies that have the given owner.
|
static void |
initializeAfterLoad(IProgressMonitor monitor)
Initializes JavaCore internal structures to allow subsequent operations (such
as the ones that need a resolved classpath) to run full speed.
|
static boolean |
isClasspathVariableReadOnly(String variableName)
Returns whether a given classpath variable is read-only or not.
|
static boolean |
isJavaLikeFileName(String fileName)
Returns whether the given file name's extension is a Java-like extension.
|
static boolean |
isReferencedBy(IJavaElement element,
IMarker marker)
Returns whether the given marker references the given Java element.
|
static boolean |
isReferencedBy(IJavaElement element,
IMarkerDelta markerDelta)
Returns whether the given marker delta references the given Java element.
|
static IAccessRule |
newAccessRule(IPath filePattern,
int kind)
Creates and returns a new access rule with the given file pattern and kind.
|
static IClasspathAttribute |
newClasspathAttribute(String name,
String value)
Creates and returns a new classpath attribute with the given name and the given value.
|
static IClasspathEntry |
newContainerEntry(IPath containerPath)
Creates and returns a new classpath entry of kind
CPE_CONTAINER
for the given path. |
static IClasspathEntry |
newContainerEntry(IPath containerPath,
boolean isExported)
Creates and returns a new classpath entry of kind
CPE_CONTAINER
for the given path. |
static IClasspathEntry |
newContainerEntry(IPath containerPath,
IAccessRule[] accessRules,
IClasspathAttribute[] extraAttributes,
boolean isExported)
Creates and returns a new classpath entry of kind
CPE_CONTAINER
for the given path. |
static IClasspathEntry |
newLibraryEntry(IPath path,
IPath sourceAttachmentPath,
IPath sourceAttachmentRootPath)
Creates and returns a new non-exported classpath entry of kind
CPE_LIBRARY for the
JAR or folder identified by the given absolute path. |
static IClasspathEntry |
newLibraryEntry(IPath path,
IPath sourceAttachmentPath,
IPath sourceAttachmentRootPath,
boolean isExported)
Creates and returns a new classpath entry of kind
CPE_LIBRARY for the JAR or folder
identified by the given absolute path. |
static IClasspathEntry |
newLibraryEntry(IPath path,
IPath sourceAttachmentPath,
IPath sourceAttachmentRootPath,
IAccessRule[] accessRules,
IClasspathAttribute[] extraAttributes,
boolean isExported)
Creates and returns a new classpath entry of kind
CPE_LIBRARY for the JAR or folder
identified by the given absolute path. |
static IClasspathEntry |
newProjectEntry(IPath path)
Creates and returns a new non-exported classpath entry of kind
CPE_PROJECT
for the project identified by the given absolute path. |
static IClasspathEntry |
newProjectEntry(IPath path,
boolean isExported)
Creates and returns a new classpath entry of kind
CPE_PROJECT
for the project identified by the given absolute path. |
static IClasspathEntry |
newProjectEntry(IPath path,
IAccessRule[] accessRules,
boolean combineAccessRules,
IClasspathAttribute[] extraAttributes,
boolean isExported)
Creates and returns a new classpath entry of kind
CPE_PROJECT
for the project identified by the given absolute path. |
static IRegion |
newRegion()
Returns a new empty region.
|
static IClasspathEntry |
newSourceEntry(IPath path)
Creates and returns a new classpath entry of kind
CPE_SOURCE
for all files in the project's source folder identified by the given
absolute workspace-relative path. |
static IClasspathEntry |
newSourceEntry(IPath path,
IPath[] exclusionPatterns)
Creates and returns a new classpath entry of kind
CPE_SOURCE
for the project's source folder identified by the given absolute
workspace-relative path but excluding all source files with paths
matching any of the given patterns. |
static IClasspathEntry |
newSourceEntry(IPath path,
IPath[] exclusionPatterns,
IPath specificOutputLocation)
Creates and returns a new classpath entry of kind
CPE_SOURCE
for the project's source folder identified by the given absolute
workspace-relative path but excluding all source files with paths
matching any of the given patterns, and associated with a specific output location
(that is, ".class" files are not going to the project default output location). |
static IClasspathEntry |
newSourceEntry(IPath path,
IPath[] inclusionPatterns,
IPath[] exclusionPatterns,
IPath specificOutputLocation)
Creates and returns a new classpath entry of kind
CPE_SOURCE
for the project's source folder identified by the given absolute
workspace-relative path but excluding all source files with paths
matching any of the given patterns, and associated with a specific output location
(that is, ".class" files are not going to the project default output location). |
static IClasspathEntry |
newSourceEntry(IPath path,
IPath[] inclusionPatterns,
IPath[] exclusionPatterns,
IPath specificOutputLocation,
IClasspathAttribute[] extraAttributes)
Creates and returns a new classpath entry of kind
CPE_SOURCE
for the project's source folder identified by the given absolute
workspace-relative path using the given inclusion and exclusion patterns
to determine which source files are included, and the given output path
to control the output location of generated files. |
static ITypeHierarchy |
newTypeHierarchy(IRegion region,
WorkingCopyOwner owner,
IProgressMonitor monitor)
Creates and returns a type hierarchy for all types in the given
region, considering subtypes within that region and considering types in the
working copies with the given owner.
|
static IClasspathEntry |
newVariableEntry(IPath variablePath,
IPath variableSourceAttachmentPath,
IPath sourceAttachmentRootPath)
Creates and returns a new non-exported classpath entry of kind
CPE_VARIABLE
for the given path. |
static IClasspathEntry |
newVariableEntry(IPath variablePath,
IPath variableSourceAttachmentPath,
IPath variableSourceAttachmentRootPath,
boolean isExported)
Creates and returns a new classpath entry of kind
CPE_VARIABLE
for the given path. |
static IClasspathEntry |
newVariableEntry(IPath variablePath,
IPath variableSourceAttachmentPath,
IPath variableSourceAttachmentRootPath,
IAccessRule[] accessRules,
IClasspathAttribute[] extraAttributes,
boolean isExported)
Creates and returns a new classpath entry of kind
CPE_VARIABLE
for the given path. |
static void |
removeClasspathVariable(String variableName)
Deprecated.
|
static void |
removeClasspathVariable(String variableName,
IProgressMonitor monitor)
Removed the given classpath variable.
|
static void |
removeElementChangedListener(IElementChangedListener listener)
Removes the given element changed listener.
|
static String |
removeJavaLikeExtension(String fileName)
Removes the file extension from the given file name, if it has a Java-like file
extension.
|
static void |
removePreProcessingResourceChangedListener(IResourceChangeListener listener)
Removes the given pre-processing resource changed listener.
|
static void |
run(IWorkspaceRunnable action,
IProgressMonitor monitor)
Runs the given action as an atomic Java model operation.
|
static void |
run(IWorkspaceRunnable action,
ISchedulingRule rule,
IProgressMonitor monitor)
Runs the given action as an atomic Java model operation.
|
static void |
setClasspathContainer(IPath containerPath,
IJavaProject[] affectedProjects,
IClasspathContainer[] respectiveContainers,
IProgressMonitor monitor)
Bind a container reference path to some actual containers (
IClasspathContainer ). |
static void |
setClasspathVariable(String variableName,
IPath path)
Deprecated.
|
static void |
setClasspathVariable(String variableName,
IPath path,
IProgressMonitor monitor)
Sets the value of the given classpath variable.
|
static void |
setClasspathVariables(String[] variableNames,
IPath[] paths,
IProgressMonitor monitor)
Sets the values of all the given classpath variables at once.
|
static void |
setComplianceOptions(String compliance,
Map options)
Sets the default compiler options inside the given options map according
to the given compliance.
|
static void |
setOptions(Hashtable newOptions)
Sets the current table of options.
|
void |
start(BundleContext context) |
void |
stop(BundleContext context) |
find, find, getBundle, getDescriptor, getLog, getPluginPreferences, getStateLocation, initializeDefaultPluginPreferences, internalInitializeDefaultPluginPreferences, isDebugging, openStream, openStream, savePluginPreferences, setDebugging, shutdown, startup, toString
public static final String PLUGIN_ID
"org.eclipse.jdt.core"
).public static final String BUILDER_ID
"org.eclipse.jdt.core.javabuilder"
).public static final String MODEL_ID
"org.eclipse.jdt.core.javamodel"
).public static final String NATURE_ID
"org.eclipse.jdt.core.javanature"
).
The presence of this nature on a project indicates that it is
Java-capable.protected static final String ATT_HANDLE_ID
public static final String USER_LIBRARY_CONTAINER_ID
public static final String COMPILER_LOCAL_VARIABLE_ATTR
When generated, this attribute will enable local variable names to be displayed in debugger, only in place where variables are definitely assigned (.class file is then bigger).
"org.eclipse.jdt.core.compiler.debug.localVariable"
{ "generate", "do not generate" }
"generate"
public static final String COMPILER_LINE_NUMBER_ATTR
When generated, this attribute will enable source code highlighting in debugger (.class file is then bigger).
"org.eclipse.jdt.core.compiler.debug.lineNumber"
{ "generate", "do not generate" }
"generate"
public static final String COMPILER_SOURCE_FILE_ATTR
When generated, this attribute will enable the debugger to present the corresponding source code.
"org.eclipse.jdt.core.compiler.debug.sourceFile"
{ "generate", "do not generate" }
"generate"
public static final String COMPILER_CODEGEN_UNUSED_LOCAL
Unless requested to preserve unused local variables (that is, never read), the compiler will optimize them out, potentially altering debugging.
"org.eclipse.jdt.core.compiler.codegen.unusedLocal"
{ "preserve", "optimize out" }
"preserve"
public static final String COMPILER_CODEGEN_METHOD_PARAMETERS_ATTR
When generated, this attribute will enable information about the formal parameters of a method (such as their names) to be accessed from reflection libraries, annotation processing, code weaving, and in the debugger, from platform target level 1.8 and later.
"org.eclipse.jdt.core.compiler.codegen.methodParameters"
{ "generate", "do not generate" }
"do not generate"
public static final String COMPILER_CODEGEN_TARGET_PLATFORM
For binary compatibility reasons, .class files are tagged with a minimal required VM version.
Note that "1.4"
and higher target versions require the compliance mode to be at least as high
as the target version. Usually, compliance, target, and source versions are set to the same values.
"cldc1.1"
requires the source version to be "1.3"
and the compliance version to be "1.4"
or lower.
"org.eclipse.jdt.core.compiler.codegen.targetPlatform"
{ "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "cldc1.1" }
"1.2"
COMPILER_COMPLIANCE
,
COMPILER_SOURCE
,
setComplianceOptions(String, Map)
,
Constant Field Valuespublic static final String COMPILER_CODEGEN_INLINE_JSR_BYTECODE
When enabled, the compiler will no longer generate JSR instructions, but rather inline corresponding subroutine code sequences (mostly corresponding to try finally blocks). The generated code will thus get bigger, but will load faster on virtual machines since the verification process is then much simpler.
This mode is anticipating support for the Java Specification Request 202.
Note that JSR inlining is optional only for target platform lesser than 1.5. From 1.5 on, the JSR
inlining is mandatory (also see related setting COMPILER_CODEGEN_TARGET_PLATFORM
).
"org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_DOC_COMMENT_SUPPORT
When this support is disabled, the compiler will ignore all javadoc problems options settings and will not report any javadoc problem. It will also not find any reference in javadoc comment and DOM AST Javadoc node will be only a flat text instead of having structured tag elements.
"org.eclipse.jdt.core.compiler.doc.comment.support"
{ "enabled", "disabled" }
"enabled"
public static final String COMPILER_PB_UNREACHABLE_CODE
public static final String COMPILER_PB_INVALID_IMPORT
public static final String COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD
A package visible method, which is any method that is not explicitly declared as public, protected or private, is not visible from other packages, and thus cannot be overridden from another package. Attempting to override a package visible method from another package introduces a new method that is unrelated to the original one. When enabling this option, the compiler will signal such situations as an error or a warning.
"org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME
Naming a method with a constructor name is generally considered poor style programming. When enabling this option, the compiler will signal such scenario either as an error or a warning.
"org.eclipse.jdt.core.compiler.problem.methodWithConstructorName"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_DEPRECATION
When enabled, the compiler will signal use of deprecated API either as an error or a warning.
"org.eclipse.jdt.core.compiler.problem.deprecation"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_DEPRECATION_IN_DEPRECATED_CODE
When enabled, the compiler will signal use of deprecated API inside deprecated code.
The severity of the problem is controlled with option COMPILER_PB_DEPRECATION
.
"org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_DEPRECATION_WHEN_OVERRIDING_DEPRECATED_METHOD
When enabled, the compiler will signal the declaration of a method overriding a deprecated one.
The severity of the problem is controlled with option COMPILER_PB_DEPRECATION
.
"org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_HIDDEN_CATCH_BLOCK
Locally to a try statement, some catch blocks may hide others. For example,
try { throw new java.io.CharConversionException(); } catch (java.io.CharConversionException e) { } catch (java.io.IOException e) {}.
When enabling this option, the compiler will issue an error or a warning for hidden catch blocks corresponding to checked exceptions.
"org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_UNUSED_LOCAL
When enabled, the compiler will issue an error or a warning for unused local variables (that is, variables never read from).
"org.eclipse.jdt.core.compiler.problem.unusedLocal"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_UNUSED_PARAMETER
When enabled, the compiler will issue an error or a warning for unused method parameters (that is, parameters never read from).
"org.eclipse.jdt.core.compiler.problem.unusedParameter"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_UNUSED_EXCEPTION_PARAMETER
When enabled, the compiler will issue an error or a warning for unused exception parameters (that is, the thrown exception is never read from).
"org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_UNUSED_PARAMETER_WHEN_IMPLEMENTING_ABSTRACT
When enabled, the compiler will signal unused parameters in abstract method implementations.
The severity of the problem is controlled with option COMPILER_PB_UNUSED_PARAMETER
.
"org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_UNUSED_PARAMETER_WHEN_OVERRIDING_CONCRETE
When enabled, the compiler will signal unused parameters in methods overriding concrete ones.
The severity of the problem is controlled with option COMPILER_PB_UNUSED_PARAMETER
.
"org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_UNUSED_PARAMETER_INCLUDE_DOC_COMMENT_REFERENCE
When enabled, the compiler will consider doc comment references to parameters (i.e. @param
clauses) for the unused
parameter check. Thus, documented parameters will be considered as mandated as per doc contract.
The severity of the unused parameter problem is controlled with option COMPILER_PB_UNUSED_PARAMETER
.
Note: this option has no effect until the doc comment support is enabled according to the
option COMPILER_DOC_COMMENT_SUPPORT
.
"org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference"
{ "enabled", "disabled" }
"enabled"
public static final String COMPILER_PB_UNUSED_IMPORT
When enabled, the compiler will issue an error or a warning for unused import reference.
"org.eclipse.jdt.core.compiler.problem.unusedImport"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_UNUSED_TYPE_ARGUMENTS_FOR_METHOD_INVOCATION
When enabled, the compiler will issue an error or a warning whenever type arguments are encountered for a
non-generic method invocation. Note that prior to compliance level is "1.7"
, this situation would automatically result
in an error. From Java7 on, unused type arguments are being tolerated, and optionally warned against.
"org.eclipse.jdt.core.compiler.problem.unusedTypeArgumentsForMethodInvocation"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_SYNTHETIC_ACCESS_EMULATION
When enabled, the compiler will issue an error or a warning whenever it emulates access to a non-accessible member of an enclosing type. Such access can have performance implications.
"org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_UNUSED_TYPE_PARAMETER
When enabled, the compiler will issue an error or a warning whenever it encounters an unused type parameter.
"org.eclipse.jdt.core.compiler.problem.unusedTypeParameter"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_NON_NLS_STRING_LITERAL
When enabled, the compiler will issue an error or a warning for non externalized
String literal (that is, not tagged with //$NON-NLS-<n>$
).
"org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_ASSERT_IDENTIFIER
'assert'
Identifier.
When enabled, the compiler will issue an error or a warning whenever 'assert'
is
used as an identifier (reserved keyword in 1.4).
"org.eclipse.jdt.core.compiler.problem.assertIdentifier"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_ENUM_IDENTIFIER
'enum'
Identifier.
When enabled, the compiler will issue an error or a warning whenever 'enum'
is
used as an identifier (reserved keyword in 1.5).
"org.eclipse.jdt.core.compiler.problem.enumIdentifier"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_STATIC_ACCESS_RECEIVER
When enabled, the compiler will issue an error or a warning whenever a static field or method is accessed with an expression receiver. A reference to a static member should be qualified with a type name.
"org.eclipse.jdt.core.compiler.problem.staticAccessReceiver"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_INDIRECT_STATIC_ACCESS
When enabled, the compiler will issue an error or a warning whenever a static field or method is accessed in an indirect way. A reference to a static member should preferably be qualified with its declaring type name.
"org.eclipse.jdt.core.compiler.problem.indirectStaticAccess"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_NO_EFFECT_ASSIGNMENT
When enabled, the compiler will issue an error or a warning whenever an assignment
has no effect (e.g 'x = x'
).
"org.eclipse.jdt.core.compiler.problem.noEffectAssignment"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD
When enabled, the compiler will issue an error or a warning whenever an interface
defines a method incompatible with a non-inherited Object
method. Until this conflict
is resolved, such an interface cannot be implemented. For example,
interface I { int clone(); }
"org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_UNUSED_PRIVATE_MEMBER
When enabled, the compiler will issue an error or a warning whenever a private method or field is declared but never used within the same unit.
"org.eclipse.jdt.core.compiler.problem.unusedPrivateMember"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_LOCAL_VARIABLE_HIDING
When enabled, the compiler will issue an error or a warning whenever a local variable declaration is hiding some field or local variable (either locally, inherited or defined in enclosing type).
"org.eclipse.jdt.core.compiler.problem.localVariableHiding"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_SPECIAL_PARAMETER_HIDING_FIELD
When enabled, the compiler will signal cases where a constructor or setter method parameter declaration is hiding some field (either locally, inherited or defined in enclosing type).
The severity of the problem is controlled with option COMPILER_PB_LOCAL_VARIABLE_HIDING
.
"org.eclipse.jdt.core.compiler.problem.specialParameterHidingField"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_FIELD_HIDING
When enabled, the compiler will issue an error or a warning whenever a field declaration is hiding some field or local variable (either locally, inherited or defined in enclosing type).
"org.eclipse.jdt.core.compiler.problem.fieldHiding"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_TYPE_PARAMETER_HIDING
When enabled, the compiler will issue an error or a warning in situations where a type parameter declaration is hiding some type, when a nested type is hiding some type parameter, or when a nested type is hiding another nested type defined in same unit.
"org.eclipse.jdt.core.compiler.problem.typeParameterHiding"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_POSSIBLE_ACCIDENTAL_BOOLEAN_ASSIGNMENT
When enabled, the compiler will issue an error or a warning if a boolean assignment is acting as the condition of a control statement (where it probably was meant to be a boolean comparison).
"org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_FALLTHROUGH_CASE
When enabled, the compiler will issue an error or a warning if a case may be entered by falling through previous case. Empty cases are allowed.
"org.eclipse.jdt.core.compiler.problem.fallthroughCase"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_EMPTY_STATEMENT
When enabled, the compiler will issue an error or a warning if an empty statement or a unnecessary semicolon is encountered.
"org.eclipse.jdt.core.compiler.problem.emptyStatement"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_BOOLEAN_METHOD_THROWING_EXCEPTION
"org.eclipse.jdt.core.compiler.problem.booleanMethodThrowingException"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_UNNECESSARY_TYPE_CHECK
When enabled, the compiler will issue an error or a warning when a cast or an instanceof
operation
is unnecessary.
"org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_UNNECESSARY_ELSE
When enabled, the compiler will issue an error or a warning when a statement is unnecessarily
nested within an else
clause (in situation where then clause is not completing normally).
"org.eclipse.jdt.core.compiler.problem.unnecessaryElse"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_UNDOCUMENTED_EMPTY_BLOCK
When enabled, the compiler will issue an error or a warning when an empty block is detected and it is not documented with any comment.
"org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_FINALLY_BLOCK_NOT_COMPLETING
When enabled, the compiler will issue an error or a warning when a finally block does not complete normally.
"org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION
When enabled, the compiler will issue an error or a warning when a method or a constructor is declaring a checked exception as thrown, but its body actually raises neither that exception, nor any other exception extending it.
This diagnostic is further tuned by options
COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_INCLUDE_DOC_COMMENT_REFERENCE
,
COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_EXEMPT_EXCEPTION_AND_THROWABLE
,
and COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING
.
"org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING
When disabled, the compiler will report unused declared thrown exceptions neither on overriding methods nor on implementing methods.
The severity of the unused declared thrown exception problem is
controlled with option COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION
.
This diagnostic is further tuned by options
COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_INCLUDE_DOC_COMMENT_REFERENCE
and
COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_EXEMPT_EXCEPTION_AND_THROWABLE
.
"org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_INCLUDE_DOC_COMMENT_REFERENCE
When enabled, the compiler will consider doc comment references to
exceptions (i.e. @throws
clauses) for the unused
declared thrown exception check. Thus, documented exceptions will be
considered as mandated as per doc contract.
The severity of the unused declared thrown exception problem is controlled with option COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION
.
Note: this option has no effect until the doc comment support is enabled according to the
option COMPILER_DOC_COMMENT_SUPPORT
.
This diagnostic is further tuned by options
COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_EXEMPT_EXCEPTION_AND_THROWABLE
and COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING
.
"org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference"
{ "enabled", "disabled" }
"enabled"
public static final String COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_EXEMPT_EXCEPTION_AND_THROWABLE
When enabled, the compiler will issue an error or a warning when a
method or a constructor is declaring a checked exception else than
Throwable
or Exception
as thrown,
but its body actually raises neither that exception, nor any other
exception extending it. When disabled, the compiler will issue an
error or a warning when a method or a constructor is declaring a
checked exception (including Throwable
and
Exception
) as thrown, but its body actually raises
neither that exception, nor any other exception extending it.
The severity of the unused declared thrown exception problem is
controlled with option
COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION
.
This diagnostic is further tuned by options
COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_INCLUDE_DOC_COMMENT_REFERENCE
and COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING
.
"org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable"
{ "enabled", "disabled" }
"enabled"
public static final String COMPILER_PB_UNQUALIFIED_FIELD_ACCESS
When enabled, the compiler will issue an error or a warning when a field is access without any qualification.
In order to improve code readability, it should be qualified, e.g. 'x'
should rather be written 'this.x'
.
"org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_UNSAFE_TYPE_OPERATION
COMPILER_PB_UNCHECKED_TYPE_OPERATION
instead.public static final String COMPILER_PB_UNCHECKED_TYPE_OPERATION
When enabled, the compiler will issue an error or a warning whenever an operation involves generic types, and potentially
invalidates type safety since involving raw types (e.g. invoking #foo(X<String>)
with arguments (X)
).
"org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_RAW_TYPE_REFERENCE
When enabled, the compiler will issue an error or a warning when detecting references to raw types. Raw types are discouraged, and are intended to help interfacing with legacy code. In the future, the language specification may reject raw references to generic types.
"org.eclipse.jdt.core.compiler.problem.rawTypeReference"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_UNAVOIDABLE_GENERIC_TYPE_PROBLEMS
When enabled, the compiler will issue an error or warning even when it detects a generics-related type problem that could not have been avoided by the programmer, because a referenced API already contains raw types. As an example, a type may be forced to use raw types in its method signatures and return types because the methods it overrides from a super type are declared to use raw types in the first place.
"org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems"
{ "enabled", "disabled" }
"enabled"
public static final String COMPILER_PB_FINAL_PARAMETER_BOUND
When enabled, the compiler will issue an error or a warning whenever a generic type parameter is associated with a bound corresponding to a final type; since final types cannot be further extended, the parameter is pretty useless.
"org.eclipse.jdt.core.compiler.problem.finalParameterBound"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_MISSING_SERIAL_VERSION
When enabled, the compiler will issue an error or a warning whenever a serializable class is missing a local declaration
of a serialVersionUID
field. This field must be declared as static final and be of type long
.
"org.eclipse.jdt.core.compiler.problem.missingSerialVersion"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_VARARGS_ARGUMENT_NEED_CAST
When enabled, the compiler will issue an error or a warning whenever a varargs arguments should be cast
when passed to a method/constructor invocation. (e.g. Class.getMethod(String name, Class ... args )
invoked with arguments ("foo", null)
).
"org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_AUTOBOXING
When enabled, the compiler will issue an error or a warning whenever a boxing or an unboxing conversion is performed.
"org.eclipse.jdt.core.compiler.problem.autoboxing"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_ANNOTATION_SUPER_INTERFACE
When enabled, the compiler will issue an error or a warning whenever an annotation type is used as a super-interface. Though legal, this is discouraged.
"org.eclipse.jdt.core.compiler.problem.annotationSuperInterface"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_MISSING_OVERRIDE_ANNOTATION
@Override
Annotation.
When enabled, the compiler will issue an error or a warning whenever encountering a method
declaration which overrides a superclass method but has no @Override
annotation.
"org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_MISSING_OVERRIDE_ANNOTATION_FOR_INTERFACE_METHOD_IMPLEMENTATION
@Override
Annotation for interface method implementation.
When enabled, the compiler will issue an error or a warning whenever encountering a method
declaration which overrides or implements a superinterface method but has no @Override
annotation.
This option only has an effect if the compiler compliance is 1.6 or greater.
The severity of the problem is controlled with option COMPILER_PB_MISSING_OVERRIDE_ANNOTATION
.
"org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation"
{ "enabled", "disabled" }
"enabled"
public static final String COMPILER_PB_MISSING_DEPRECATED_ANNOTATION
@Deprecated
Annotation.
When enabled, the compiler will issue an error or a warning whenever encountering a declaration
carrying a @deprecated
doc tag but having no corresponding @Deprecated
annotation.
"org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_MISSING_HASHCODE_METHOD
When enabled, the compiler will issue an error or a warning if a type overrides Object.equals(Object) but does not override hashCode().
"org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_DEAD_CODE
When enabled, the compiler will issue an error or a warning if some non fatal dead code is detected. For instance, if (false) foo();
is not reported as truly unreachable code by the Java Language Specification. If this diagnostic is enabled, then the invocation of foo()
is
going to be signaled as being dead code.
"org.eclipse.jdt.core.compiler.problem.deadCode"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_DEAD_CODE_IN_TRIVIAL_IF_STATEMENT
When enabled, the compiler will signal presence of dead code inside trivial IF statement, e.g. if (DEBUG)...
.
The severity of the problem is controlled with option COMPILER_PB_DEAD_CODE
.
"org.eclipse.jdt.core.compiler.problem.deadCodeInTrivialIfStatement"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_INCOMPLETE_ENUM_SWITCH
When enabled, the compiler will issue an error or a warning
regarding each enum constant for which a corresponding case label is lacking.
Reporting is further controlled by the option COMPILER_PB_MISSING_ENUM_CASE_DESPITE_DEFAULT
.
"org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_MISSING_ENUM_CASE_DESPITE_DEFAULT
This option further controls the option COMPILER_PB_INCOMPLETE_ENUM_SWITCH
:
COMPILER_PB_INCOMPLETE_ENUM_SWITCH
is set to "ignore"
.
"org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_SWITCH_MISSING_DEFAULT_CASE
When enabled, the compiler will issue an error or a warning against each switch statement that lacks a default case.
"org.eclipse.jdt.core.compiler.problem.missingDefaultCase"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_INCONSISTENT_NULL_CHECK
COMPILER_PB_NULL_REFERENCE
instead.public static final String COMPILER_PB_UNUSED_LABEL
When enabled, the compiler will issue an error or a warning when encountering a labeled statement which label is never explicitly referenced. A label is considered to be referenced if its name explicitly appears behind a break or continue statement; for instance the following label would be considered unreferenced:
LABEL: { break; }
"org.eclipse.jdt.core.compiler.problem.unusedLabel"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_INVALID_JAVADOC
This is the generic control for the severity of Javadoc problems. When enabled, the compiler will issue an error or a warning for a problem in Javadoc.
"org.eclipse.jdt.core.compiler.problem.invalidJavadoc"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_INVALID_JAVADOC_TAGS
When enabled, the compiler will signal unbound or unexpected reference tags in Javadoc.
A @throws
tag referencing an undeclared exception would be considered as unexpected.
Note that this diagnosis can be enabled based on the visibility of the construct associated with the Javadoc;
also see the setting COMPILER_PB_INVALID_JAVADOC_TAGS_VISIBILITY
.
"org.eclipse.jdt.core.compiler.problem.invalidJavadocTags"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_INVALID_JAVADOC_TAGS__DEPRECATED_REF
Specify whether the compiler will report deprecated references used in Javadoc tags.
Note that this diagnosis can be enabled based on the visibility of the construct associated with the Javadoc;
also see the setting COMPILER_PB_INVALID_JAVADOC_TAGS_VISIBILITY
.
"org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_INVALID_JAVADOC_TAGS__NOT_VISIBLE_REF
Specify whether the compiler will report non-visible references used in Javadoc tags.
Note that this diagnosis can be enabled based on the visibility of the construct associated with the Javadoc;
also see the setting COMPILER_PB_INVALID_JAVADOC_TAGS_VISIBILITY
.
"org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_INVALID_JAVADOC_TAGS_VISIBILITY
Set the minimum visibility level for Javadoc tag problems. Below this level problems will be ignored.
"org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility"
{ "public", "protected", "default", "private" }
"public"
public static final String COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION
When enabled, the compiler will report a warning or an error for any Javadoc tag missing a required description.
The severity of the problem is controlled with option COMPILER_PB_INVALID_JAVADOC
.
It does not depend on option COMPILER_PB_INVALID_JAVADOC_TAGS
.
When this option is valued to COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION_ALL_STANDARD_TAGS
,
a subset of the standard Javadoc tags
that have a description, text or label are checked. While this set may grow in the future, note that user-defined tags are not and will not be checked.
"org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription"
{ "return_tag", "all_standard_tags", "no_tag" }
"return_tag"
public static final String COMPILER_PB_MISSING_JAVADOC_TAGS
This is the generic control for the severity of Javadoc missing tag problems. When enabled, the compiler will issue an error or a warning when tags are missing in Javadoc comments.
Note that this diagnosis can be enabled based on the visibility of the construct associated with the Javadoc;
also see the setting COMPILER_PB_MISSING_JAVADOC_TAGS_VISIBILITY
.
"org.eclipse.jdt.core.compiler.problem.missingJavadocTags"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_MISSING_JAVADOC_TAGS_VISIBILITY
Set the minimum visibility level for Javadoc missing tag problems. Below this level problems will be ignored.
"org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility"
{ "public", "protected", "default", "private" }
"public"
public static final String COMPILER_PB_MISSING_JAVADOC_TAGS_OVERRIDING
Specify whether the compiler will verify overriding methods in order to report Javadoc missing tag problems.
"org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_MISSING_JAVADOC_TAGS_METHOD_TYPE_PARAMETERS
Specify whether a missing @param
for a type parameter in a method declaration should be reported.
When enabled, the compiler will issue a missing Javadoc tag error or warning for a type parameter without a
corresponding @param
tag.
This option only has an effect if the compiler compliance is 1.5 or greater.
"org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_MISSING_JAVADOC_COMMENTS
This is the generic control for the severity of missing Javadoc comment problems. When enabled, the compiler will issue an error or a warning when Javadoc comments are missing.
Note that this diagnosis can be enabled based on the visibility of the construct associated with the expected Javadoc;
also see the setting COMPILER_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY
.
"org.eclipse.jdt.core.compiler.problem.missingJavadocComments"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY
Set the minimum visibility level for missing Javadoc problems. Below this level problems will be ignored.
"org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility"
{ "public", "protected", "default", "private" }
"public"
public static final String COMPILER_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING
Specify whether the compiler will verify overriding methods in order to report missing Javadoc comment problems.
"org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION
char[]
Expressions in String Concatenations.
When enabled, the compiler will issue an error or a warning whenever a char[]
expression
is used in String concatenations (for example, "hello" + new char[]{'w','o','r','l','d'}
).
"org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_MAX_PER_UNIT
Specify the maximum number of problems reported on each compilation unit.
"org.eclipse.jdt.core.compiler.maxProblemPerUnit"
"<n>"
where <n>
is zero or a positive integer (if zero then all problems are reported)."100"
public static final String COMPILER_PB_FATAL_OPTIONAL_ERROR
When enabled, optional errors (i.e. optional problems which severity is set to "error"
) will be treated as standard
compiler errors, yielding problem methods/types preventing from running offending code until the issue got resolved.
When disabled, optional errors are only considered as warnings, still carrying an error indication to make them more severe. Note that by default, optional errors are not fatal. Non-optional errors are always fatal.
"org.eclipse.jdt.core.compiler.problem.fatalOptionalError"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_PARAMETER_ASSIGNMENT
When enabled, the compiler will issue an error or a warning if a parameter is assigned to.
"org.eclipse.jdt.core.compiler.problem.parameterAssignment"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_MISSING_STATIC_ON_METHOD
When enabled, the compiler will issue an error or a warning if a method has
not been declared as static
, even though it qualifies as one.
"org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_POTENTIALLY_MISSING_STATIC_ON_METHOD
When enabled, the compiler will issue an error or a warning if a method has
not been declared as static
, even though it may qualify as one,
when another method doesn't override it.
"org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_UNCLOSED_CLOSEABLE
When enabled, the compiler will issue an error or a warning if
a local variable holds a value of type java.lang.AutoCloseable
(compliance>=1.7)
or a value of type java.io.Closeable
(compliance<=1.6) and if
flow analysis shows that the method close()
is not invoked locally on that value.
"org.eclipse.jdt.core.compiler.problem.reportUnclosedCloseable"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_POTENTIALLY_UNCLOSED_CLOSEABLE
When enabled, the compiler will issue an error or a warning if
a local variable holds a value of type java.lang.AutoCloseable
(compliance>=1.7)
or a value of type java.io.Closeable
(compliance<=1.6) and if
flow analysis shows that the method close()
is
not invoked locally on that value for all execution paths.
"org.eclipse.jdt.core.compiler.problem.reportPotentiallyUnclosedCloseable"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_EXPLICITLY_CLOSED_AUTOCLOSEABLE
When enabled, the compiler will issue an error or a warning if a local variable
holds a value of type java.lang.AutoCloseable
, and if the method
close()
is explicitly invoked on that resource, but the resource is
not managed by a try-with-resources block.
"org.eclipse.jdt.core.compiler.problem.reportPotentiallyUnclosedCloseable"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_ANNOTATION_NULL_ANALYSIS
This option controls whether the compiler will use null annotations for improved analysis of (potential) null references.
When enabled, the compiler will interpret the annotation types defined using
COMPILER_NONNULL_ANNOTATION_NAME
and COMPILER_NULLABLE_ANNOTATION_NAME
as specifying whether or not a given type includes the value null
.
The effect of these analyses is further controlled by the options
COMPILER_PB_NULL_SPECIFICATION_VIOLATION
,
COMPILER_PB_NULL_ANNOTATION_INFERENCE_CONFLICT
and
COMPILER_PB_NULL_UNCHECKED_CONVERSION
.
"org.eclipse.jdt.core.compiler.annotation.nullanalysis"
{ "disabled", "enabled" }
"disabled"
public static final String COMPILER_NULLABLE_ANNOTATION_NAME
This option defines a fully qualified Java type name that the compiler may use to perform special null analysis.
If the annotation specified by this option is applied to a type in a method
signature or variable declaration, this will be interpreted as a specification
that null
is a legal value in that position. Currently supported
positions are: method parameters, method return type, fields and local variables.
If a value whose type
is annotated with this annotation is dereferenced without checking for null,
the compiler will trigger a diagnostic as further controlled by
COMPILER_PB_POTENTIAL_NULL_REFERENCE
.
The compiler may furthermore check adherence to the null specification as
further controlled by COMPILER_PB_NULL_SPECIFICATION_VIOLATION
,
COMPILER_PB_NULL_ANNOTATION_INFERENCE_CONFLICT
and
COMPILER_PB_NULL_UNCHECKED_CONVERSION
.
This option only has an effect if the option COMPILER_ANNOTATION_NULL_ANALYSIS
is enabled.
"org.eclipse.jdt.core.compiler.annotation.nullable"
"org.eclipse.jdt.annotation.Nullable"
public static final String COMPILER_NONNULL_ANNOTATION_NAME
This option defines a fully qualified Java type name that the compiler may use to perform special null analysis.
If the annotation specified by this option is applied to a type in a method
signature or variable declaration, this will be interpreted as a specification
that null
is not a legal value in that position. Currently
supported positions are: method parameters, method return type, fields and local variables.
For values declared with this annotation, the compiler will never trigger a null
reference diagnostic (as controlled by COMPILER_PB_POTENTIAL_NULL_REFERENCE
and COMPILER_PB_NULL_REFERENCE
), because the assumption is made that null
will never occur at runtime in these positions.
The compiler may furthermore check adherence to the null specification as further
controlled by COMPILER_PB_NULL_SPECIFICATION_VIOLATION
,
COMPILER_PB_NULL_ANNOTATION_INFERENCE_CONFLICT
and
COMPILER_PB_NULL_UNCHECKED_CONVERSION
.
This option only has an effect if the option COMPILER_ANNOTATION_NULL_ANALYSIS
is enabled.
"org.eclipse.jdt.core.compiler.annotation.nonnull"
"org.eclipse.jdt.annotation.NonNull"
public static final String COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME
This option defines a fully qualified Java type name that the compiler may use to perform special null analysis.
If the annotation is applied without an argument, all unannotated types in method signatures
and field declarations within the annotated element will be treated as if they were specified
with the non-null annotation (see COMPILER_NONNULL_ANNOTATION_NAME
).
If the annotation is applied with the constant false
as its argument
all corresponding defaults at outer scopes will be canceled for the annotated element.
This option only has an effect if the option COMPILER_ANNOTATION_NULL_ANALYSIS
is enabled.
"org.eclipse.jdt.core.compiler.annotation.nonnullbydefault"
"org.eclipse.jdt.annotation.NonNullByDefault"
public static final String COMPILER_PB_MISSING_NONNULL_BY_DEFAULT_ANNOTATION
When enabled, the compiler will issue an error or a warning in the following cases:
This option only has an effect if the option COMPILER_ANNOTATION_NULL_ANALYSIS
is enabled.
"org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation"
{ "error", "warning", "ignore" }
."ignore"
public static final String COMPILER_PB_NULL_SPECIFICATION_VIOLATION
Depending on this option, the compiler will issue either an error or a warning whenever one of the following situations is detected:
null
, or if it is
declared with a nullable annotation.
The compiler options COMPILER_NONNULL_ANNOTATION_NAME
and
COMPILER_NULLABLE_ANNOTATION_NAME
control which annotations the compiler
shall interpret as nonnull or nullable annotations, respectively.
This option only has an effect if the option COMPILER_ANNOTATION_NULL_ANALYSIS
is enabled.
"org.eclipse.jdt.core.compiler.problem.nullSpecViolation"
{ "error", "warning" }
"error"
public static final String COMPILER_PB_NULL_ANNOTATION_INFERENCE_CONFLICT
When enabled, the compiler will issue an error or a warning whenever one of the following situations is detected:
The compiler options COMPILER_NONNULL_ANNOTATION_NAME
and
COMPILER_NULLABLE_ANNOTATION_NAME
control which annotations the compiler
shall interpret as nonnull or nullable annotations, respectively.
This option only has an effect if the option COMPILER_ANNOTATION_NULL_ANALYSIS
is enabled.
"org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict"
{ "error", "warning", "ignore" }
"error"
public static final String COMPILER_PB_NULL_UNCHECKED_CONVERSION
When enabled, the compiler will issue an error or a warning whenever one of the following situations is detected:
Unchecked null conversion is usually a consequence of using other unannotated variables or methods.
The compiler options COMPILER_NONNULL_ANNOTATION_NAME
and
COMPILER_NULLABLE_ANNOTATION_NAME
control which annotations the compiler
shall interpret as nonnull or nullable annotations, respectively.
This option only has an effect if the option COMPILER_ANNOTATION_NULL_ANALYSIS
is enabled.
"org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_REDUNDANT_NULL_ANNOTATION
When enabled, the compiler will issue an error or a warning when a non-null annotation
(see COMPILER_NONNULL_ANNOTATION_NAME
)
is applied although the same effect is already achieved by a default applicable at the
current location. Such a default may be set by using the annotation specified by the option
COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME
.
This option only has an effect if the option COMPILER_ANNOTATION_NULL_ANALYSIS
is enabled.
"org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_SYNTACTIC_NULL_ANALYSIS_FOR_FIELDS
When enabled, the compiler will detect certain syntactic constellations where a null related warning against a field reference would normally be raised but can be suppressed at low risk given that the same field reference was known to be non-null immediately before.
"org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields"
{ "disabled", "enabled" }
"disabled"
public static final String COMPILER_INHERIT_NULL_ANNOTATIONS
When enabled, the compiler will check for each method without any explicit null annotations: If it overrides a method which has null annotations, it will treat the current method as if it had the same annotations as the overridden method.
Annotation inheritance will use the effective nullness of the overridden method
after transitively applying inheritance and after applying any default nullness
(see COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME
) at the site of the overridden method.
If different implicit null annotations (from a nonnull default and/or overridden methods) are applicable to the same type in a method signature, this is flagged as an error and an explicit null annotation must be used to disambiguate.
"org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations"
{ "disabled", "enabled" }
"disabled"
public static final String COMPILER_PB_NONNULL_PARAMETER_ANNOTATION_DROPPED
When enabled, the compiler will issue an error or a warning against a parameter of a method that overrides an inherited method if all of the following hold:
COMPILER_NONNULL_ANNOTATION_NAME
).COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME
).COMPILER_INHERIT_NULL_ANNOTATIONS
).This particular situation bears the same inherent risk as any unannotated method parameter,
because the compiler's null ananysis cannot decide wither null
is or is not a legal value for this parameter.
However, the annotation in the overridden method suggests that the parameter should also be annotated as non-null.
If that is not intended or possible, it is recommended to annotate the parameter as nullable,
in order to make this (legal) change of contract explicit.
"org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_SOURCE
Specify whether which source level compatibility is used. From 1.4 on, 'assert'
is a keyword
reserved for assertion support. Also note, than when toggling to 1.4 mode, the target VM
level should be set to "1.4"
and the compliance mode should be "1.4"
.
Source level 1.5 is necessary to enable generics, autoboxing, covariance, annotations, enumerations enhanced for loop, static imports and varargs.
In source levels "1.5"
and higher, the compliance and target settings should be
set to the same version as the source level.
"org.eclipse.jdt.core.compiler.source"
{ "1.3", "1.4", "1.5", "1.6", "1.7", "1.8" }
"1.3"
COMPILER_COMPLIANCE
,
COMPILER_CODEGEN_TARGET_PLATFORM
,
setComplianceOptions(String, Map)
,
Constant Field Valuespublic static final String COMPILER_COMPLIANCE
Select the compliance level for the compiler.
COMPILER_SOURCE
and COMPILER_CODEGEN_TARGET_PLATFORM
settings cannot be
higher than the compiler compliance level. In "1.5"
and higher compliance, source and target settings
should match the compliance setting.
"org.eclipse.jdt.core.compiler.compliance"
{ "1.3", "1.4", "1.5", "1.6", "1.7", "1.8" }
"1.4"
COMPILER_SOURCE
,
COMPILER_CODEGEN_TARGET_PLATFORM
,
setComplianceOptions(String, Map)
,
Constant Field Valuespublic static final String COMPILER_TASK_PRIORITIES
In parallel with the Automatic Task Tags, this list defines the priorities (high, normal or low)
of the task markers issued by the compiler.
If the default is specified, the priority of each task marker is "NORMAL"
.
Task Priorities and task tags must have the same length. If task priorities are set, then task tags should also be set.
"org.eclipse.jdt.core.compiler.taskPriorities"
{ "<priority>[,<priority>]*" }
where <priority>
is one of "HIGH"
, "NORMAL"
or "LOW"
"NORMAL,HIGH,NORMAL"
COMPILER_TASK_TAGS
,
Constant Field Valuespublic static final String COMPILER_TASK_TAGS
When the tag list is not empty, the compiler will issue a task marker whenever it encounters one of the corresponding tags inside any comment in Java source code.
Generated task messages will start with the tag, and range until the next line separator, comment ending, or tag.
When a given line of code bears multiple tags, each tag will be reported separately. Moreover, a tag immediately followed by another tag will be reported using the contents of the next non-empty tag of the line, if any.
Note that tasks messages are trimmed. If a tag is starting with a letter or digit, then it cannot be leaded by
another letter or digit to be recognized ("fooToDo"
will not be recognized as a task for tag "ToDo"
, but "foo#ToDo"
will be detected for either tag "ToDo"
or "#ToDo"
). Respectively, a tag ending with a letter or digit cannot be followed
by a letter or digit to be recognized ("ToDofoo"
will not be recognized as a task for tag "ToDo"
, but "ToDo:foo"
will
be detected either for tag "ToDo"
or "ToDo:"
).
Task Priorities and task tags must have the same length. If task tags are set, then task priorities should also be set.
"org.eclipse.jdt.core.compiler.taskTags"
{ "<tag>[,<tag>]*" }
where <tag>
is a String without any wild-card or leading/trailing spaces"TODO,FIXME,XXX"
COMPILER_TASK_PRIORITIES
,
Constant Field Valuespublic static final String COMPILER_TASK_CASE_SENSITIVE
When enabled, task tags are considered in a case-sensitive way.
"org.eclipse.jdt.core.compiler.taskCaseSensitive"
{ "enabled", "disabled" }
"enabled"
public static final String COMPILER_PB_FORBIDDEN_REFERENCE
When enabled, the compiler will issue an error or a warning when referring to a type that is non accessible, as defined according to the access rule specifications.
"org.eclipse.jdt.core.compiler.problem.forbiddenReference"
{ "error", "warning", "ignore" }
"error"
public static final String COMPILER_PB_DISCOURAGED_REFERENCE
When enabled, the compiler will issue an error or a warning when referring to a type with discouraged access, as defined according to the access rule specifications.
"org.eclipse.jdt.core.compiler.problem.discouragedReference"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_SUPPRESS_WARNINGS
@SuppressWarnings
.
When enabled, the @SuppressWarnings
annotation can be used to suppress some compiler warnings.
When disabled, all @SupressWarnings
annotations are ignored; i.e., warnings are reported.
"org.eclipse.jdt.core.compiler.problem.suppressWarnings"
{ "enabled", "disabled" }
"enabled"
public static final String COMPILER_PB_INCLUDE_ASSERTS_IN_NULL_ANALYSIS
When enabled, the compiler will flag all null related errors or warnings that have been enabled by the user, irrespective of whether a variable occurred in an assert statement.
When disabled, the compiler will not flag null related errors or warnings on variables that got marked as maybe or definitely
null
in an assert statement upstream.
"org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_SUPPRESS_OPTIONAL_ERRORS
@SuppressWarnings
if also
COMPILER_PB_SUPPRESS_WARNINGS
is enabled.
When enabled, the @SuppressWarnings
annotation can additionally be used to suppress
optional compiler diagnostics that have been configured as ERROR
.
When disabled, all @SuppressWarnings
annotations only affects warnings.
"org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors"
{ "enabled", "disabled" }
"disabled"
public static final String COMPILER_PB_UNHANDLED_WARNING_TOKEN
@SuppressWarnings
.
When enabled, the compiler will issue an error or a warning when encountering a token
it cannot handle inside a @SuppressWarnings
annotation.
"org.eclipse.jdt.core.compiler.problem.unhandledWarningToken"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_UNUSED_WARNING_TOKEN
@SuppressWarnings
.
When enabled, the compiler will issue an error or a warning when encountering @SuppressWarnings
annotation
for which no corresponding warning got detected in the code. This diagnostic is provided to help developers to get
rid of transient @SuppressWarnings
no longer needed. Note that @SuppressWarnings("all")
is still
silencing the warning for unnecessary @SuppressWarnings
, as it is the master switch to silence ALL warnings.
"org.eclipse.jdt.core.compiler.problem.unusedWarningToken"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_NULL_REFERENCE
When enabled, the compiler will issue an error or a warning whenever a variable that is statically known to hold a null value is used to access a field or method.
Assert statements are ignored unless COMPILER_PB_INCLUDE_ASSERTS_IN_NULL_ANALYSIS
is enabled.
"org.eclipse.jdt.core.compiler.problem.nullReference"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_POTENTIAL_NULL_REFERENCE
When enabled, the compiler will issue an error or a warning whenever a variable that has formerly been tested against null but is not (no more) statically known to hold a non-null value is used to access a field or method.
Assert statements are ignored unless COMPILER_PB_INCLUDE_ASSERTS_IN_NULL_ANALYSIS
is enabled.
"org.eclipse.jdt.core.compiler.problem.potentialNullReference"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_REDUNDANT_NULL_CHECK
When enabled, the compiler will issue an error or a warning whenever a variable that is statically known to hold a null or a non-null value is tested against null.
Assert statements are ignored unless COMPILER_PB_INCLUDE_ASSERTS_IN_NULL_ANALYSIS
is enabled.
"org.eclipse.jdt.core.compiler.problem.redundantNullCheck"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_OVERRIDING_METHOD_WITHOUT_SUPER_INVOCATION
When enabled, the compiler will issue an error or a warning if a method is overriding a method without calling the super invocation.
"org.eclipse.jdt.core.compiler.problem.overridingMethodWithoutSuperInvocation"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_REDUNDANT_SUPERINTERFACE
When enabled, the compiler will issue an error or a warning if a type explicitly implements an interface that is already implemented by any of its supertypes.
"org.eclipse.jdt.core.compiler.problem.redundantSuperinterface"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_COMPARING_IDENTICAL
When enabled, the compiler will issue an error or a warning if a comparison
is involving identical operands (e.g 'x == x'
).
"org.eclipse.jdt.core.compiler.problem.comparingIdentical"
{ "error", "warning", "ignore" }
"warning"
public static final String COMPILER_PB_MISSING_SYNCHRONIZED_ON_INHERITED_METHOD
When enabled, the compiler will issue an error or a warning if a method overrides a synchronized method without having a synchronized modifier.
"org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_UNUSED_OBJECT_ALLOCATION
When enabled, the compiler will issue an error or a warning if an object is allocated but never used, neither by holding a reference nor by invoking one of the object's methods.
"org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation"
{ "error", "warning", "ignore" }
"ignore"
public static final String COMPILER_PB_REDUNDANT_TYPE_ARGUMENTS
When enabled, the compiler will issue an error or a warning if type arguments are used in a class instance creation, when the '<>' operator can be used instead.
This option only has an effect if the compiler compliance is 1.7 or greater.
"org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments"
{ "error", "warning", "ignore" }
"ignore"
public static final String CORE_JAVA_BUILD_ORDER
Indicate whether JavaCore should enforce the project build order to be based on the classpath prerequisite chain. When requesting to compute, this takes over the platform default order (based on project references).
"org.eclipse.jdt.core.computeJavaBuildOrder"
{ "compute", "ignore" }
"ignore"
public static final String CORE_JAVA_BUILD_RESOURCE_COPY_FILTER
Allow to specify some filters to control the resource copy process.
"org.eclipse.jdt.core.builder.resourceCopyExclusionFilter"
{ "<name>[,<name>]* }
where <name>
is a file name pattern (* and ? wild-cards allowed)
or the name of a folder which ends with '/'
""
public static final String CORE_JAVA_BUILD_DUPLICATE_RESOURCE
Indicate the severity of the problem reported when more than one occurrence of a resource is to be copied into the output location.
"org.eclipse.jdt.core.builder.duplicateResourceTask"
{ "error", "warning" }
"warning"
public static final String CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER
Indicate whether the JavaBuilder is allowed to clean the output folders when performing full build operations.
"org.eclipse.jdt.core.builder.cleanOutputFolder"
{ "clean", "ignore" }
"clean"
public static final String CORE_JAVA_BUILD_RECREATE_MODIFIED_CLASS_FILES_IN_OUTPUT_FOLDER
Indicate whether the JavaBuilder should check for any changes to .class files in the output folders while performing incremental build operations. If changes are detected to managed .class files, then a full build is performed, otherwise the changes are left as is. Tools further altering generated .class files, like optimizers, should ensure this option remains set in its default state of ignore.
"org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder"
{ "enabled", "ignore" }
"ignore"
public static final String CORE_INCOMPLETE_CLASSPATH
Indicate the severity of the problem reported when an entry on the classpath does not exist, is not legitimate or is not visible (for example, a referenced project is closed).
"org.eclipse.jdt.core.incompleteClasspath"
{ "error", "warning"}
"error"
public static final String CORE_CIRCULAR_CLASSPATH
Indicate the severity of the problem reported when a project is involved in a cycle.
"org.eclipse.jdt.core.circularClasspath"
{ "error", "warning" }
"error"
public static final String CORE_INCOMPATIBLE_JDK_LEVEL
Indicate the severity of the problem reported when a project prerequisites another project or library with an incompatible target JDK level (e.g. project targeting 1.1 vm, but compiled against 1.4 libraries).
"org.eclipse.jdt.core.incompatibleJDKLevel"
{ "error", "warning", "ignore" }
"ignore"
public static final String CORE_JAVA_BUILD_INVALID_CLASSPATH
Allow to toggle the builder to abort if the classpath is invalid.
"org.eclipse.jdt.core.builder.invalidClasspath"
{ "abort", "ignore" }
"abort"
public static final String CORE_ENCODING
Get the default encoding format of source files. This value is
immutable and preset to the result of ResourcesPlugin.getEncoding()
.
It is offered as a convenience shortcut only.
"org.eclipse.jdt.core.encoding"
<immutable, platform default value>
public static final String CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS
When disabled, no entry on a project classpath can be associated with an exclusion pattern.
"org.eclipse.jdt.core.classpath.exclusionPatterns"
{ "enabled", "disabled" }
"enabled"
public static final String CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS
When disabled, no entry on a project classpath can be associated with a specific output location, preventing thus usage of multiple output locations.
"org.eclipse.jdt.core.classpath.multipleOutputLocations"
{ "enabled", "disabled" }
"enabled"
public static final String CORE_OUTPUT_LOCATION_OVERLAPPING_ANOTHER_SOURCE
Indicate the severity of the problem reported when a source entry's output location overlaps another source entry.
"org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource"
{ "error", "warning", "ignore" }
"error"
public static final String TIMEOUT_FOR_PARAMETER_NAME_FROM_ATTACHED_JAVADOC
Timeout in milliseconds to retrieve the method's parameter names from javadoc.
If the value is 0
, the parameter names are not fetched and the raw names are returned.
"org.eclipse.jdt.core.timeoutForParameterNameFromAttachedJavadoc"
"<n>"
, where n
is an integer greater than or equal to 0
"50"
public static final String JAVA_FORMATTER
"org.eclipse.jdt.core.javaFormatter"
"org.eclipse.jdt.core.defaultJavaFormatter"
DEFAULT_JAVA_FORMATTER
,
JAVA_FORMATTER_EXTENSION_POINT_ID
,
Constant Field Valuespublic static final String FORMATTER_NEWLINE_OPENING_BRACE
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_ANONYMOUS_TYPE_DECLARATION
,
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_BLOCK
,
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_CONSTRUCTOR_DECLARATION
,
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_METHOD_DECLARATION
,
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_SWITCH
,
DefaultCodeFormatterConstants.FORMATTER_BRACE_POSITION_FOR_TYPE_DECLARATION
instead.public static final String FORMATTER_NEWLINE_CONTROL
DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_CATCH_IN_TRY_STATEMENT
,
DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_ELSE_IN_IF_STATEMENT
,
DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_FINALLY_IN_TRY_STATEMENT
,
DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_WHILE_IN_DO_STATEMENT
instead.public static final String FORMATTER_NEWLINE_ELSE_IF
DefaultCodeFormatterConstants.FORMATTER_COMPACT_ELSE_IF
instead.public static final String FORMATTER_NEWLINE_EMPTY_BLOCK
DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_IN_EMPTY_BLOCK
instead.public static final String FORMATTER_CLEAR_BLANK_LINES
DefaultCodeFormatterConstants.FORMATTER_NUMBER_OF_EMPTY_LINES_TO_PRESERVE
instead.public static final String FORMATTER_LINE_SPLIT
DefaultCodeFormatterConstants.FORMATTER_LINE_SPLIT
insteadpublic static final String FORMATTER_COMPACT_ASSIGNMENT
DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_BEFORE_ASSIGNMENT_OPERATOR
instead.public static final String FORMATTER_TAB_CHAR
DefaultCodeFormatterConstants.FORMATTER_TAB_CHAR
instead.public static final String FORMATTER_TAB_SIZE
DefaultCodeFormatterConstants.FORMATTER_TAB_SIZE
instead.public static final String FORMATTER_SPACE_CASTEXPRESSION
DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_AFTER_CLOSING_PAREN_IN_CAST
instead.public static final String CODEASSIST_VISIBILITY_CHECK
When active, completion doesn't show that you can not see (for example, you can not see private methods of a super class).
"org.eclipse.jdt.core.codeComplete.visibilityCheck"
{ "enabled", "disabled" }
"disabled"
public static final String CODEASSIST_DEPRECATION_CHECK
When enabled, completion doesn't propose deprecated members and types.
"org.eclipse.jdt.core.codeComplete.deprecationCheck"
{ "enabled", "disabled" }
"disabled"
public static final String CODEASSIST_CAMEL_CASE_MATCH
When enabled, completion shows proposals whose name match the CamelCase pattern.
"org.eclipse.jdt.core.codeComplete.camelCaseMatch"
{ "enabled", "disabled" }
"enabled"
public static final String CODEASSIST_IMPLICIT_QUALIFICATION
When active, completion automatically qualifies completion on implicit field references and message expressions.
"org.eclipse.jdt.core.codeComplete.forceImplicitQualification"
{ "enabled", "disabled" }
"disabled"
public static final String CODEASSIST_FIELD_PREFIXES
When the prefixes is non empty, completion for field name will begin with one of the proposed prefixes.
"org.eclipse.jdt.core.codeComplete.fieldPrefixes"
{ "<prefix>[,<prefix>]*" }
where <prefix>
is a String without any wild-card""
public static final String CODEASSIST_STATIC_FIELD_PREFIXES
When the prefixes is non empty, completion for static field name will begin with one of the proposed prefixes.
"org.eclipse.jdt.core.codeComplete.staticFieldPrefixes"
{ "<prefix>[,<prefix>]*" }
where <prefix>
is a String without any wild-card""
public static final String CODEASSIST_STATIC_FINAL_FIELD_PREFIXES
When the prefixes is non empty, completion for static final field name will begin with one of the proposed prefixes.
"org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes"
{ "<prefix>[,<prefix>]*" }
where <prefix>
is a String without any wild-card""
public static final String CODEASSIST_LOCAL_PREFIXES
When the prefixes is non empty, completion for local variable name will begin with one of the proposed prefixes.
"org.eclipse.jdt.core.codeComplete.localPrefixes"
{ "<prefix>[,<prefix>]*" }
where <prefix>
is a String without any wild-card""
public static final String CODEASSIST_ARGUMENT_PREFIXES
When the prefixes is non empty, completion for argument name will begin with one of the proposed prefixes.
"org.eclipse.jdt.core.codeComplete.argumentPrefixes"
{ "<prefix>[,<prefix>]*" }
where <prefix>
is a String without any wild-card""
public static final String CODEASSIST_FIELD_SUFFIXES
When the suffixes is non empty, completion for field name will end with one of the proposed suffixes.
"org.eclipse.jdt.core.codeComplete.fieldSuffixes"
{ "<suffix>[,<suffix>]*" }
where <suffix>
is a String without any wild-card""
public static final String CODEASSIST_STATIC_FIELD_SUFFIXES
When the suffixes is non empty, completion for static field name will end with one of the proposed suffixes.
"org.eclipse.jdt.core.codeComplete.staticFieldSuffixes"
{ "<suffix>[,<suffix>]*" }
< where <suffix>
is a String without any wild-card""
public static final String CODEASSIST_STATIC_FINAL_FIELD_SUFFIXES
When the suffixes is non empty, completion for static final field name will end with one of the proposed suffixes.
"org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes"
{ "<suffix>[,<suffix>]*" }
< where <suffix>
is a String without any wild-card""
public static final String CODEASSIST_LOCAL_SUFFIXES
When the suffixes is non empty, completion for local variable name will end with one of the proposed suffixes.
"org.eclipse.jdt.core.codeComplete.localSuffixes"
{ "<suffix>[,<suffix>]*" }
where <suffix>
is a String without any wild-card""
public static final String CODEASSIST_ARGUMENT_SUFFIXES
When the suffixes is non empty, completion for argument name will end with one of the proposed suffixes.
"org.eclipse.jdt.core.codeComplete.argumentSuffixes"
{ "<suffix>[,<suffix>]*" }
where <suffix>
is a String without any wild-card""
public static final String CODEASSIST_FORBIDDEN_REFERENCE_CHECK
When enabled, completion doesn't propose elements which match a forbidden reference rule.
"org.eclipse.jdt.core.codeComplete.forbiddenReferenceCheck"
{ "enabled", "disabled" }
"enabled"
public static final String CODEASSIST_DISCOURAGED_REFERENCE_CHECK
When enabled, completion doesn't propose elements which match a discouraged reference rule.
"org.eclipse.jdt.core.codeComplete.discouragedReferenceCheck"
{ "enabled", "disabled" }
"disabled"
public static final String CODEASSIST_SUGGEST_STATIC_IMPORTS
When enabled, completion proposals can contain static import pattern.
"org.eclipse.jdt.core.codeComplete.suggestStaticImports"
{ "enabled", "disabled" }
"enabled"
public static final String DEFAULT_TASK_TAG
DEFAULT_TASK_TAGS
instead.public static final String DEFAULT_TASK_PRIORITY
DEFAULT_TASK_PRIORITIES
instead.public static final String DEFAULT_TASK_TAGS
public static final String DEFAULT_TASK_PRIORITIES
public static final String GENERATE
public static final String DO_NOT_GENERATE
public static final String PRESERVE
public static final String OPTIMIZE_OUT
public static final String COMPILER_TASK_PRIORITY_HIGH
COMPILER_TASK_PRIORITIES
: "HIGH".public static final String COMPILER_TASK_PRIORITY_LOW
COMPILER_TASK_PRIORITIES
: "LOW".public static final String COMPILER_TASK_PRIORITY_NORMAL
COMPILER_TASK_PRIORITIES
: "NORMAL".public static final String VERSION_1_1
public static final String VERSION_1_2
public static final String VERSION_1_3
public static final String VERSION_1_4
public static final String VERSION_1_5
public static final String VERSION_1_6
public static final String VERSION_1_7
public static final String VERSION_1_8
public static final String VERSION_CLDC_1_1
public static final String ABORT
public static final String ERROR
public static final String WARNING
public static final String IGNORE
public static final String COMPUTE
public static final String INSERT
public static final String DO_NOT_INSERT
public static final String PRESERVE_ONE
public static final String CLEAR_ALL
public static final String NORMAL
public static final String COMPACT
public static final String TAB
public static final String SPACE
public static final String ENABLED
public static final String DISABLED
public static final String CLEAN
public static final String PUBLIC
public static final String PROTECTED
public static final String DEFAULT
public static final String PRIVATE
public static final String NEVER
public static final String COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION_NO_TAG
public static final String COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION_RETURN_TAG
public static final String COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION_ALL_STANDARD_TAGS
public static final String JAVA_SOURCE_CONTENT_TYPE
IContentTypeManager.getContentType(String)
,
getJavaLikeExtensions()
,
Constant Field Valuespublic static final String DEFAULT_JAVA_FORMATTER
JAVA_FORMATTER
,
JAVA_FORMATTER_EXTENSION_POINT_ID
,
Constant Field Valuespublic static final String JAVA_FORMATTER_EXTENSION_POINT_ID
JAVA_FORMATTER
,
DEFAULT_JAVA_FORMATTER
,
Constant Field Valuespublic JavaCore()
The plug-in instance is created automatically by the Eclipse platform. Clients must not call.
public static void addElementChangedListener(IElementChangedListener listener)
This listener will only be notified during the POST_CHANGE resource change notification and any reconcile operation (POST_RECONCILE).
For finer control of the notification, use addElementChangedListener(IElementChangedListener,int)
,
which allows to specify a different eventMask.
listener
- the listenerElementChangedEvent
public static void addElementChangedListener(IElementChangedListener listener, int eventMask)
Once registered, a listener starts receiving notification of changes to java elements in the model. The listener continues to receive notifications until it is replaced or removed.
Listeners can listen for several types of event as defined in ElementChangeEvent
.
Clients are free to register for any number of event types however if they register
for more than one, it is their responsibility to ensure they correctly handle the
case where the same java element change shows up in multiple notifications.
Clients are guaranteed to receive only the events for which they are registered.
listener
- the listenereventMask
- the bit-wise OR of all event types of interest to the listenerIElementChangedListener
,
ElementChangedEvent
,
removeElementChangedListener(IElementChangedListener)
public static void addJavaElementMarkerAttributes(Map attributes, IJavaElement element)
attributes
- the mutable marker attribute map (key type: String
,
value type: String
)element
- the Java element for which the marker needs to be configuredpublic static void addPreProcessingResourceChangedListener(IResourceChangeListener listener)
Has no effect if an identical listener is already registered.
listener
- the listenerremovePreProcessingResourceChangedListener(IResourceChangeListener)
public static void addPreProcessingResourceChangedListener(IResourceChangeListener listener, int eventMask)
If an identical listener is already registered, the given event types are added to the event types of interest to the listener.
Supported event types are:
This list may increase in the future.listener
- the listenereventMask
- the bit-wise OR of all event types of interest to the
listenerremovePreProcessingResourceChangedListener(IResourceChangeListener)
,
IResourceChangeEvent
public void configureJavaElementMarker(IMarker marker, IJavaElement element) throws CoreException
marker
- the marker to be configuredelement
- the Java element for which the marker needs to be configuredCoreException
- if the IMarker.setAttribute
on the marker failspublic static IJavaElement create(String handleIdentifier)
IJavaElement.getHandleIdentifier()
, or
null
if unable to create the associated element.handleIdentifier
- the given handle identifierpublic static IJavaElement create(String handleIdentifier, WorkingCopyOwner owner)
IJavaElement.getHandleIdentifier()
, or
null
if unable to create the associated element.
If the returned Java element is an ICompilationUnit
or an element
inside a compilation unit, the compilation unit's owner is the given owner if such a
working copy exists, otherwise the compilation unit is a primary compilation unit.handleIdentifier
- the given handle identifierowner
- the owner of the returned compilation unit, ignored if the returned
element is not a compilation unit, or an element inside a compilation unitpublic static IJavaElement create(IFile file)
null
if unable to associate the given file
with a Java element.
The file must be one of:
Java-like extensions
- the element returned is the corresponding ICompilationUnit
.class
file - the element returned is the corresponding IClassFile
.jar
, a .zip
file, etc.) - the element returned is the corresponding IPackageFragmentRoot
Creating a Java element has the side effect of creating and opening all of the element's parents if they are not yet open.
file
- the given filenull
if unable to associate the given file
with a Java elementpublic static IJavaElement create(IFolder folder)
null
if unable to associate the given folder with a Java element.
Note that a package fragment root is returned rather than a default package.
Creating a Java element has the side effect of creating and opening all of the element's parents if they are not yet open.
folder
- the given foldernull
if unable to associate the given folder with a Java elementpublic static IJavaProject create(IProject project)
Creating a Java Project has the side effect of creating and opening all of the project's parents if they are not yet open.
Note that no check is done at this time on the existence or the java nature of this project.
project
- the given projectpublic static IJavaElement create(IResource resource)
null
if unable to associate the given resource
with a Java element.
The resource must be one of:
IJavaProject
Java-like extensions
- the element returned is the corresponding ICompilationUnit
.class
file - the element returned is the corresponding IClassFile
.jar
, a .zip
file, etc.) - the element returned is the corresponding IPackageFragmentRoot
IPackageFragmentRoot
or IPackageFragment
IJavaModel
Creating a Java element has the side effect of creating and opening all of the element's parents if they are not yet open.
resource
- the given resourcenull
if unable to associate the given resource
with a Java elementpublic static IJavaElement create(IResource resource, IJavaProject project)
null
if unable to associate the given resource
with a Java element.
The resource must be one of:
IJavaProject
Java-like extensions
- the element returned is the corresponding ICompilationUnit
.class
file - the element returned is the corresponding IClassFile
.jar
, a .zip
file, etc.) - the element returned is the corresponding IPackageFragmentRoot
IPackageFragmentRoot
or IPackageFragment
IJavaModel
Creating a Java element has the side effect of creating and opening all of the element's parents if they are not yet open.
resource
- the given resourcenull
if unable to associate the given file
with a Java elementpublic static IJavaModel create(IWorkspaceRoot root)
root
- the given rootnull
if the root is nullpublic static IClassFile createClassFileFrom(IFile file)
.class
file. Returns null
if unable
to recognize the class file.file
- the given .class
file.class
file, or null
if unable
to recognize the class filepublic static ICompilationUnit createCompilationUnitFrom(IFile file)
Java-like extensions
). Returns null
if unable
to recognize the compilation unit.file
- the given source filenull
if unable
to recognize the compilation unitpublic static IPackageFragmentRoot createJarPackageFragmentRootFrom(IFile file)
file
- the given JAR filenull
if unable to create a JAR package fragment root.
(for example, if the JAR file represents a non-Java resource)public static IClasspathContainer getClasspathContainer(IPath containerPath, IJavaProject project) throws JavaModelException
null
.
Both the container path and the project context are supposed to be non-null.
The containerPath is a formed by a first ID segment followed with extra segments, which can be
used as additional hints for resolution. If no container was ever recorded for this container path
onto this project (using setClasspathContainer
, then a
ClasspathContainerInitializer
will be activated if any was registered for this container
ID onto the extension point "org.eclipse.jdt.core.classpathContainerInitializer".
There is no assumption that the returned container must answer the exact same containerPath
when requested IClasspathContainer#getPath
.
Indeed, the containerPath is just an indication for resolving it to an actual container object.
Classpath container values are persisted locally to the workspace, but
are not preserved from a session to another. It is thus highly recommended to register a
ClasspathContainerInitializer
for each referenced container
(through the extension point "org.eclipse.jdt.core.ClasspathContainerInitializer").
containerPath
- the name of the container, which needs to be resolvedproject
- a specific project in which the container is being resolvednull
if unable to find one.JavaModelException
- if an exception occurred while resolving the container, or if the resolved container
contains illegal entries (contains CPE_CONTAINER entries or null entries).ClasspathContainerInitializer
,
IClasspathContainer
,
setClasspathContainer(IPath, IJavaProject[], IClasspathContainer[], IProgressMonitor)
public static ClasspathContainerInitializer getClasspathContainerInitializer(String containerID)
null
if none was found while iterating over the contributions to extension point to
the extension point "org.eclipse.jdt.core.classpathContainerInitializer".
A containerID is the first segment of any container path, used to identify the registered container initializer.
containerID
- - a containerID identifying a registered initializernull
if
none was found.public static IPath getClasspathVariable(String variableName)
null
if unable to bind.
Classpath variable values are persisted locally to the workspace, and are preserved from session to session.
Note that classpath variables can be contributed registered initializers for, using the extension point "org.eclipse.jdt.core.classpathVariableInitializer". If an initializer is registered for a variable, its persisted value will be ignored: its initializer will thus get the opportunity to rebind the variable differently on each session.
variableName
- the name of the classpath variablenull
if nonesetClasspathVariable(String, IPath)
public static String getClasspathVariableDeprecationMessage(String variableName)
variableName
- null
otherwise.public static ClasspathVariableInitializer getClasspathVariableInitializer(String variable)
null
if none was found while iterating over the contributions to extension point to
the extension point "org.eclipse.jdt.core.classpathVariableInitializer".variable
- the given variablenull
if
none was found.public static String[] getClasspathVariableNames()
Classpath variable values are persisted locally to the workspace, and are preserved from session to session.
setClasspathVariable(String, IPath)
public static Hashtable getDefaultOptions()
setOptions
.
Helper constants have been defined on JavaCore for each of the option IDs (categorized in Code assist option ID, Compiler option ID and Core option ID) and some of their acceptable values (categorized in Option value). Some options accept open value sets beyond the documented constant values.
Note: each release may add new options.
public static String getEncoding()
IContainer.getDefaultCharset()
,
ResourcesPlugin.getEncoding()
public static IResource[] getGeneratedResources(IRegion region, boolean includesNonJavaResources)
The contents of the array is accurate only if the elements of the given region have been built.
The given region can contain instances of:
org.eclipse.jdt.core.ICompilationUnit
org.eclipse.jdt.core.IPackageFragment
org.eclipse.jdt.core.IPackageFragmentRoot
org.eclipse.jdt.core.IJavaProject
All other types of org.eclipse.jdt.core.IJavaElement
are ignored.
region
- the given regionincludesNonJavaResources
- a flag that indicates if non-java resources should be includedIllegalArgumentException
- if the given region is null
public static JavaCore getJavaCore()
(JavaCore) getPlugin()
.public static String[] getJavaLikeExtensions()
content type manager
for the JAVA_SOURCE_CONTENT_TYPE
.
Note that a Java-like extension doesn't include the leading dot ('.'). Also note that the "java" extension is always defined as a Java-like extension.
public static String getOption(String optionName)
(String)JavaCore.getOptions().get(optionName)
Note that it may answer null
if this option does not exist.
Helper constants have been defined on JavaCore for each of the option IDs (categorized in Code assist option ID, Compiler option ID and Core option ID) and some of their acceptable values (categorized in Option value). Some options accept open value sets beyond the documented constant values.
Note: each release may add new options.
optionName
- the name of an optiongetDefaultOptions()
,
for changing default settings
public static String getOptionForConfigurableSeverity(int problemID)
problemID
if any,
null
otherwise. Non-null return values are taken from the
constants defined by this class whose names start with
COMPILER_PB
and for which the possible values of the
option are defined by { "error", "warning", "ignore" }
. A
null return value means that the provided problem ID is unknown or that
it matches a problem whose severity cannot be configured.problemID
- one of the problem IDs defined by IProblem
problemID
if any,
null
otherwisepublic static Hashtable getOptions()
Helper constants have been defined on JavaCore for each of the option IDs (categorized in Code assist option ID, Compiler option ID and Core option ID) and some of their acceptable values (categorized in Option value). Some options accept open value sets beyond the documented constant values.
Note: each release may add new options.
Returns a default set of options even if the platform is not running.
String
; value type: String
)getDefaultOptions()
,
for changing default settings
public static Plugin getPlugin()
public static IClasspathEntry getResolvedClasspathEntry(IClasspathEntry entry)
null
if unable to resolve using
the following algorithm:
null
null
Variable source attachment path and root path are also resolved and recorded in the resulting classpath entry.
NOTE: This helper method does not handle classpath containers, for which should rather be used
JavaCore#getClasspathContainer(IPath, IJavaProject)
.
entry
- the given variable entrynull
if the given variable entry could not be resolved to a valid classpath entrypublic static IPath getResolvedVariablePath(IPath variablePath)
variablePath
- the given variable pathnull
if nonepublic static IWorkingCopy[] getSharedWorkingCopies(IBufferFactory factory)
getWorkingCopies(WorkingCopyOwner)
insteadIWorkingCopy.getSharedWorkingCopy
.factory
- the given buffer factorypublic static String[] getUserLibraryNames()
public static ICompilationUnit[] getWorkingCopies(WorkingCopyOwner owner)
null
, primary working copies are returned.owner
- the given working copy owner or null
for primary working copy ownerpublic static void initializeAfterLoad(IProgressMonitor monitor) throws CoreException
However calling this method is optional. Services will lazily perform initialization when invoked. This is only a way to reduce initialization overhead on user actions, if it can be performed before at some appropriate moment.
This initialization runs across all Java projects in the workspace. Thus the workspace root scheduling rule is used during this operation.
This method may return before the initialization is complete. The initialization will then continue in a background thread.
This method can be called concurrently.
monitor
- a progress monitor, or null
if progress
reporting and cancellation are not desiredCoreException
- if the initialization fails,
the status of the exception indicates the reason of the failurepublic static boolean isClasspathVariableReadOnly(String variableName)
variableName
- true
if the classpath variable is read-only,
false
otherwise.public static boolean isJavaLikeFileName(String fileName)
getJavaLikeExtensions()
public static boolean isReferencedBy(IJavaElement element, IMarker marker) throws CoreException
element
- the elementmarker
- the markertrue
if the marker references the element, false otherwiseCoreException
- if the IMarker.getAttribute
on the marker failspublic static boolean isReferencedBy(IJavaElement element, IMarkerDelta markerDelta) throws CoreException
element
- the elementmarkerDelta
- the marker deltatrue
if the marker delta references the elementCoreException
- if the IMarkerDelta.getAttribute
on the marker delta failspublic static IAccessRule newAccessRule(IPath filePattern, int kind)
The rule kind is one of IAccessRule.K_ACCESSIBLE
, IAccessRule.K_DISCOURAGED
,
or IAccessRule.K_NON_ACCESSIBLE
, optionally combined with IAccessRule.IGNORE_IF_BETTER
,
e.g. IAccessRule.K_NON_ACCESSIBLE | IAccessRule.IGNORE_IF_BETTER
.
filePattern
- the file pattern this access rule should matchkind
- one of IAccessRule.K_ACCESSIBLE
, IAccessRule.K_DISCOURAGED
,
or IAccessRule.K_NON_ACCESSIBLE
, optionally combined with
IAccessRule.IGNORE_IF_BETTER
IClasspathEntry.getExclusionPatterns()
public static IClasspathAttribute newClasspathAttribute(String name, String value)
public static IClasspathEntry newContainerEntry(IPath containerPath)
CPE_CONTAINER
for the given path. This method is fully equivalent to calling
newContainerEntry(containerPath, new IAccessRule[0], new IClasspathAttribute[0], false)
.containerPath
- the path identifying the container, it must be formed of two
segmentsgetClasspathContainer(IPath, IJavaProject)
public static IClasspathEntry newContainerEntry(IPath containerPath, boolean isExported)
CPE_CONTAINER
for the given path. This method is fully equivalent to calling
newContainerEntry(containerPath, new IAccessRule[0], new IClasspathAttribute[0], isExported)
.containerPath
- the path identifying the container, it must be formed of at least
one segment (ID+hints)isExported
- a boolean indicating whether this entry is contributed to dependent
projects in addition to the output locationgetClasspathContainer(IPath, IJavaProject)
,
setClasspathContainer(IPath, IJavaProject[], IClasspathContainer[], IProgressMonitor)
public static IClasspathEntry newContainerEntry(IPath containerPath, IAccessRule[] accessRules, IClasspathAttribute[] extraAttributes, boolean isExported)
CPE_CONTAINER
for the given path. The path of the container will be used during resolution so as to map this
container entry to a set of other classpath entries the container is acting for.
A container entry allows to express indirect references to a set of libraries, projects and variable entries,
which can be interpreted differently for each Java project where it is used.
A classpath container entry can be resolved using JavaCore.getResolvedClasspathContainer
,
and updated with JavaCore.classpathContainerChanged
A container is exclusively resolved by a ClasspathContainerInitializer
registered onto the
extension point "org.eclipse.jdt.core.classpathContainerInitializer".
A container path must be formed of at least one segment, where:
Example of an ClasspathContainerInitializer for a classpath container denoting a default JDK container:
containerEntry = JavaCore.newContainerEntry(new Path("MyProvidedJDK/default")); <extension point="org.eclipse.jdt.core.classpathContainerInitializer"> <containerInitializer id="MyProvidedJDK" class="com.example.MyInitializer"/>
The access rules determine the set of accessible source and class files
in the container. If the list of access rules is empty, then all files
in this container are accessible.
See IAccessRule
for a detailed description of access
rules. Note that if an entry defined by the container defines access rules,
then these access rules are combined with the given access rules.
The given access rules are considered first, then the entry's access rules are
considered.
The extraAttributes
list contains name/value pairs that must be persisted with
this entry. If no extra attributes are provided, an empty array must be passed in.
Note that this list should not contain any duplicate name.
The isExported
flag indicates whether this entry is contributed to dependent
projects. If not exported, dependent projects will not see any of the classes from this entry.
If exported, dependent projects will concatenate the accessible files patterns of this entry with the
accessible files patterns of the projects, and they will concatenate the non accessible files patterns of this entry
with the non accessible files patterns of the project.
Note that this operation does not attempt to validate classpath containers or access the resources at the given paths.
containerPath
- the path identifying the container, it must be formed of at least
one segment (ID+hints)accessRules
- the possibly empty list of access rules for this entryextraAttributes
- the possibly empty list of extra attributes to persist with this entryisExported
- a boolean indicating whether this entry is contributed to dependent
projects in addition to the output locationgetClasspathContainer(IPath, IJavaProject)
,
setClasspathContainer(IPath, IJavaProject[], IClasspathContainer[], IProgressMonitor)
,
newContainerEntry(IPath, boolean)
,
newAccessRule(IPath, int)
public static ITypeHierarchy newTypeHierarchy(IRegion region, WorkingCopyOwner owner, IProgressMonitor monitor) throws JavaModelException
Note that if a working copy is empty, it will be as if the original compilation unit had been deleted.
monitor
- the given progress monitorregion
- the given regionowner
- the owner of working copies that take precedence over their original compilation units,
or null
if the primary working copy owner should be usedJavaModelException
- if an element in the region does not exist or if an
exception occurs while accessing its corresponding resourceIllegalArgumentException
- if region is null
public static IClasspathEntry newLibraryEntry(IPath path, IPath sourceAttachmentPath, IPath sourceAttachmentRootPath)
CPE_LIBRARY
for the
JAR or folder identified by the given absolute path. This specifies that all package fragments
within the root will have children of type IClassFile
.
This method is fully equivalent to calling
newLibraryEntry(path, sourceAttachmentPath, sourceAttachmentRootPath, new IAccessRule[0], new IClasspathAttribute[0], false)
.path
- the path to the librarysourceAttachmentPath
- the absolute path of the corresponding source archive or folder,
or null
if none. Note, since 3.0, an empty path is allowed to denote no source attachment.
Since 3.4, this path can also denote a path external to the workspace.
and will be automatically converted to null
.sourceAttachmentRootPath
- the location of the root of the source files within the source archive or folder
or null
if this location should be automatically detected.public static IClasspathEntry newLibraryEntry(IPath path, IPath sourceAttachmentPath, IPath sourceAttachmentRootPath, boolean isExported)
CPE_LIBRARY
for the JAR or folder
identified by the given absolute path. This specifies that all package fragments within the root
will have children of type IClassFile
.
This method is fully equivalent to calling
newLibraryEntry(path, sourceAttachmentPath, sourceAttachmentRootPath, new IAccessRule[0], new IClasspathAttribute[0], isExported)
.
path
- the path to the librarysourceAttachmentPath
- the absolute path of the corresponding source archive or folder,
or null
if none. Note, since 3.0, an empty path is allowed to denote no source attachment.
and will be automatically converted to null
. Since 3.4, this path can also denote a path external
to the workspace.sourceAttachmentRootPath
- the location of the root of the source files within the source archive or folder
or null
if this location should be automatically detected.isExported
- indicates whether this entry is contributed to dependent
projects in addition to the output locationpublic static IClasspathEntry newLibraryEntry(IPath path, IPath sourceAttachmentPath, IPath sourceAttachmentRootPath, IAccessRule[] accessRules, IClasspathAttribute[] extraAttributes, boolean isExported)
CPE_LIBRARY
for the JAR or folder
identified by the given absolute path. This specifies that all package fragments within the root
will have children of type IClassFile
.
A library entry is used to denote a prerequisite JAR or root folder containing binaries. The target JAR can either be defined internally to the workspace (absolute path relative to the workspace root), or externally to the workspace (absolute path in the file system). The target root folder can also be defined internally to the workspace (absolute path relative to the workspace root), or - since 3.4 - externally to the workspace (absolute path in the file system). Since 3.5, the path to the library can also be relative to the project using ".." as the first segment.
e.g. Here are some examples of binary path usage
"c:\jdk1.2.2\jre\lib\rt.jar"
- reference to an external JAR on Windows "/Project/someLib.jar"
- reference to an internal JAR on Windows or Linux "/Project/classes/"
- reference to an internal binary folder on Windows or Linux "/home/usr/classes"
- reference to an external binary folder on Linux "../../lib/someLib.jar"
- reference to an external JAR that is a sibling of the workspace on either platform"/some/lib.jar"
is ambiguous.
It can be a path to an external JAR (its file system path being "/some/lib.jar"
)
or it can be a path to an internal JAR ("some"
being a project in the workspace).
Such an ambiguity is solved when the classpath entry is used (e.g. in IJavaProject.getPackageFragmentRoots()
).
If the resource "lib.jar"
exists in project "some"
, then it is considered an
internal JAR. Otherwise it is an external JAR.
Also note that this operation does not attempt to validate or access the resources at the given paths.
The access rules determine the set of accessible class files
in the library. If the list of access rules is empty then all files
in this library are accessible.
See IAccessRule
for a detailed description of access
rules.
The extraAttributes
list contains name/value pairs that must be persisted with
this entry. If no extra attributes are provided, an empty array must be passed in.
Note that this list should not contain any duplicate name.
The isExported
flag indicates whether this entry is contributed to dependent
projects. If not exported, dependent projects will not see any of the classes from this entry.
If exported, dependent projects will concatenate the accessible files patterns of this entry with the
accessible files patterns of the projects, and they will concatenate the non accessible files patterns of this entry
with the non accessible files patterns of the project.
Since 3.5, if the library is a ZIP archive, the "Class-Path" clause (if any) in the "META-INF/MANIFEST.MF" is read
and referenced ZIP archives are added to the resolved classpath
.
path
- the path to the librarysourceAttachmentPath
- the absolute path of the corresponding source archive or folder,
or null
if none. Note, since 3.0, an empty path is allowed to denote no source attachment.
and will be automatically converted to null
. Since 3.4, this path can also denote a path external
to the workspace.sourceAttachmentRootPath
- the location of the root of the source files within the source archive or folder
or null
if this location should be automatically detected.accessRules
- the possibly empty list of access rules for this entryextraAttributes
- the possibly empty list of extra attributes to persist with this entryisExported
- indicates whether this entry is contributed to dependent
projects in addition to the output locationpublic static IClasspathEntry newProjectEntry(IPath path)
CPE_PROJECT
for the project identified by the given absolute path.
This method is fully equivalent to calling
newProjectEntry(path, new IAccessRule[0], true, new IClasspathAttribute[0], false)
.
path
- the absolute path of the binary archivepublic static IClasspathEntry newProjectEntry(IPath path, boolean isExported)
CPE_PROJECT
for the project identified by the given absolute path.
This method is fully equivalent to calling
newProjectEntry(path, new IAccessRule[0], true, new IClasspathAttribute[0], isExported)
.
path
- the absolute path of the prerequisite projectisExported
- indicates whether this entry is contributed to dependent
projects in addition to the output locationpublic static IClasspathEntry newProjectEntry(IPath path, IAccessRule[] accessRules, boolean combineAccessRules, IClasspathAttribute[] extraAttributes, boolean isExported)
CPE_PROJECT
for the project identified by the given absolute path.
A project entry is used to denote a prerequisite project on a classpath. The referenced project will be contributed as a whole, either as sources (in the Java Model, it contributes all its package fragment roots) or as binaries (when building, it contributes its whole output location).
A project reference allows to indirect through another project, independently from its internal layout.
The prerequisite project is referred to using an absolute path relative to the workspace root.
The access rules determine the set of accessible class files
in the project. If the list of access rules is empty then all files
in this project are accessible.
See IAccessRule
for a detailed description of access rules.
The combineAccessRules
flag indicates whether access rules of one (or more)
exported entry of the project should be combined with the given access rules. If they should
be combined, the given access rules are considered first, then the entry's access rules are
considered.
The extraAttributes
list contains name/value pairs that must be persisted with
this entry. If no extra attributes are provided, an empty array must be passed in.
Note that this list should not contain any duplicate name.
The isExported
flag indicates whether this entry is contributed to dependent
projects. If not exported, dependent projects will not see any of the classes from this entry.
If exported, dependent projects will concatenate the accessible files patterns of this entry with the
accessible files patterns of the projects, and they will concatenate the non accessible files patterns of this entry
with the non accessible files patterns of the project.
path
- the absolute path of the prerequisite projectaccessRules
- the possibly empty list of access rules for this entrycombineAccessRules
- whether the access rules of the project's exported entries should be combined with the given access rulesextraAttributes
- the possibly empty list of extra attributes to persist with this entryisExported
- indicates whether this entry is contributed to dependent
projects in addition to the output locationpublic static IRegion newRegion()
public static IClasspathEntry newSourceEntry(IPath path)
CPE_SOURCE
for all files in the project's source folder identified by the given
absolute workspace-relative path.
The convenience method is fully equivalent to:
newSourceEntry(path, new IPath[] {}, new IPath[] {}, null);
path
- the absolute workspace-relative path of a source foldernewSourceEntry(IPath, IPath[], IPath[], IPath)
public static IClasspathEntry newSourceEntry(IPath path, IPath[] exclusionPatterns)
CPE_SOURCE
for the project's source folder identified by the given absolute
workspace-relative path but excluding all source files with paths
matching any of the given patterns.
The convenience method is fully equivalent to:
newSourceEntry(path, new IPath[] {}, exclusionPatterns, null);
path
- the absolute workspace-relative path of a source folderexclusionPatterns
- the possibly empty list of exclusion patterns
represented as relative pathsnewSourceEntry(IPath, IPath[], IPath[], IPath)
public static IClasspathEntry newSourceEntry(IPath path, IPath[] exclusionPatterns, IPath specificOutputLocation)
CPE_SOURCE
for the project's source folder identified by the given absolute
workspace-relative path but excluding all source files with paths
matching any of the given patterns, and associated with a specific output location
(that is, ".class" files are not going to the project default output location).
The convenience method is fully equivalent to:
newSourceEntry(path, new IPath[] {}, exclusionPatterns, specificOutputLocation);
path
- the absolute workspace-relative path of a source folderexclusionPatterns
- the possibly empty list of exclusion patterns
represented as relative pathsspecificOutputLocation
- the specific output location for this source entry (null
if using project default output location)newSourceEntry(IPath, IPath[], IPath[], IPath)
public static IClasspathEntry newSourceEntry(IPath path, IPath[] inclusionPatterns, IPath[] exclusionPatterns, IPath specificOutputLocation)
CPE_SOURCE
for the project's source folder identified by the given absolute
workspace-relative path but excluding all source files with paths
matching any of the given patterns, and associated with a specific output location
(that is, ".class" files are not going to the project default output location).
The convenience method is fully equivalent to:
newSourceEntry(path, new IPath[] {}, exclusionPatterns, specificOutputLocation, new IClasspathAttribute[] {});
path
- the absolute workspace-relative path of a source folderinclusionPatterns
- the possibly empty list of inclusion patterns
represented as relative pathsexclusionPatterns
- the possibly empty list of exclusion patterns
represented as relative pathsspecificOutputLocation
- the specific output location for this source entry (null
if using project default output location)newSourceEntry(IPath, IPath[], IPath[], IPath, IClasspathAttribute[])
public static IClasspathEntry newSourceEntry(IPath path, IPath[] inclusionPatterns, IPath[] exclusionPatterns, IPath specificOutputLocation, IClasspathAttribute[] extraAttributes)
CPE_SOURCE
for the project's source folder identified by the given absolute
workspace-relative path using the given inclusion and exclusion patterns
to determine which source files are included, and the given output path
to control the output location of generated files.
The source folder is referred to using an absolute path relative to the
workspace root, e.g. /Project/src
. A project's source
folders are located with that project. That is, a source classpath
entry specifying the path /P1/src
is only usable for
project P1
.
The inclusion patterns determines the initial set of source files that
are to be included; the exclusion patterns are then used to reduce this
set. When no inclusion patterns are specified, the initial file set
includes all relevant files in the resource tree rooted at the source
entry's path. On the other hand, specifying one or more inclusion
patterns means that all and only files matching at least one of
the specified patterns are to be included. If exclusion patterns are
specified, the initial set of files is then reduced by eliminating files
matched by at least one of the exclusion patterns. Inclusion and
exclusion patterns look like relative file paths with wildcards and are
interpreted relative to the source entry's path. File patterns are
case-sensitive can contain '**', '*' or '?' wildcards (see
IClasspathEntry.getExclusionPatterns()
for the full description
of their syntax and semantics). The resulting set of files are included
in the corresponding package fragment root; all package fragments within
the root will have children of type ICompilationUnit
.
For example, if the source folder path is
/Project/src
, there are no inclusion filters, and the
exclusion pattern is
com/xyz/tests/**
, then source files
like /Project/src/com/xyz/Foo.java
and /Project/src/com/xyz/utils/Bar.java
would be included,
whereas /Project/src/com/xyz/tests/T1.java
and /Project/src/com/xyz/tests/quick/T2.java
would be
excluded.
Additionally, a source entry can be associated with a specific output location.
By doing so, the Java builder will ensure that the generated ".class" files will
be issued inside this output location, as opposed to be generated into the
project default output location (when output location is null
).
Note that multiple source entries may target the same output location.
The output location is referred to using an absolute path relative to the
workspace root, e.g. "/Project/bin"
, it must be located inside
the same project as the source folder.
Also note that all sources/binaries inside a project are contributed as
a whole through a project entry
(see JavaCore.newProjectEntry
). Particular source entries
cannot be selectively exported.
The extraAttributes
list contains name/value pairs that must be persisted with
this entry. If no extra attributes are provided, an empty array must be passed in.
Note that this list should not contain any duplicate name.
path
- the absolute workspace-relative path of a source folderinclusionPatterns
- the possibly empty list of inclusion patterns
represented as relative pathsexclusionPatterns
- the possibly empty list of exclusion patterns
represented as relative pathsspecificOutputLocation
- the specific output location for this source entry (null
if using project default ouput location)extraAttributes
- the possibly empty list of extra attributes to persist with this entryIClasspathEntry.getInclusionPatterns()
,
IClasspathEntry.getExclusionPatterns()
,
IClasspathEntry.getOutputLocation()
public static IClasspathEntry newVariableEntry(IPath variablePath, IPath variableSourceAttachmentPath, IPath sourceAttachmentRootPath)
CPE_VARIABLE
for the given path. This method is fully equivalent to calling
newVariableEntry(variablePath, variableSourceAttachmentPath, sourceAttachmentRootPath, new IAccessRule[0], new IClasspathAttribute[0], false)
.variablePath
- the path of the binary archive; first segment is the
name of a classpath variablevariableSourceAttachmentPath
- the path of the corresponding source archive,
or null
if none; if present, the first segment is the
name of a classpath variable (not necessarily the same variable
as the one that begins variablePath
)sourceAttachmentRootPath
- the location of the root of the source files within the source archive
or null
if variableSourceAttachmentPath
is also null
public static IClasspathEntry newVariableEntry(IPath variablePath, IPath variableSourceAttachmentPath, IPath variableSourceAttachmentRootPath, boolean isExported)
CPE_VARIABLE
for the given path. This method is fully equivalent to calling
newVariableEntry(variablePath, variableSourceAttachmentPath, sourceAttachmentRootPath, new IAccessRule[0], new IClasspathAttribute[0], isExported)
.variablePath
- the path of the binary archive; first segment is the
name of a classpath variablevariableSourceAttachmentPath
- the path of the corresponding source archive,
or null
if none; if present, the first segment is the
name of a classpath variable (not necessarily the same variable
as the one that begins variablePath
)variableSourceAttachmentRootPath
- the location of the root of the source files within the source archive
or null
if variableSourceAttachmentPath
is also null
isExported
- indicates whether this entry is contributed to dependent
projects in addition to the output locationpublic static IClasspathEntry newVariableEntry(IPath variablePath, IPath variableSourceAttachmentPath, IPath variableSourceAttachmentRootPath, IAccessRule[] accessRules, IClasspathAttribute[] extraAttributes, boolean isExported)
CPE_VARIABLE
for the given path. The first segment of the path is the name of a classpath variable.
The trailing segments of the path will be appended to resolved variable path.
A variable entry allows to express indirect references on a classpath to other projects or libraries, depending on what the classpath variable is referring.
It is possible to register an automatic initializer (ClasspathVariableInitializer
),
which will be invoked through the extension point "org.eclipse.jdt.core.classpathVariableInitializer".
After resolution, a classpath variable entry may either correspond to a project or a library entry.
e.g. Here are some examples of variable path usage
JDTCORE
is
bound to "c:/jars/jdtcore.jar". The resolved classpath entry is denoting the library "c:\jars\jdtcore.jar"JDTCORE
is
bound to "/Project_JDTCORE". The resolved classpath entry is denoting the project "/Project_JDTCORE"PLUGINS
is bound to "c:/eclipse/plugins". The resolved classpath entry is denoting the library "c:\eclipse\plugins\com.example\example.jar"
The access rules determine the set of accessible class files
in the project or library. If the list of access rules is empty then all files
in this project or library are accessible.
See IAccessRule
for a detailed description of access rules.
The extraAttributes
list contains name/value pairs that must be persisted with
this entry. If no extra attributes are provided, an empty array must be passed in.
Note that this list should not contain any duplicate name.
The isExported
flag indicates whether this entry is contributed to dependent
projects. If not exported, dependent projects will not see any of the classes from this entry.
If exported, dependent projects will concatenate the accessible files patterns of this entry with the
accessible files patterns of the projects, and they will concatenate the non accessible files patterns of this entry
with the non accessible files patterns of the project.
Note that this operation does not attempt to validate classpath variables or access the resources at the given paths.
variablePath
- the path of the binary archive; first segment is the
name of a classpath variablevariableSourceAttachmentPath
- the path of the corresponding source archive,
or null
if none; if present, the first segment is the
name of a classpath variable (not necessarily the same variable
as the one that begins variablePath
)variableSourceAttachmentRootPath
- the location of the root of the source files within the source archive
or null
if variableSourceAttachmentPath
is also null
accessRules
- the possibly empty list of access rules for this entryextraAttributes
- the possibly empty list of extra attributes to persist with this entryisExported
- indicates whether this entry is contributed to dependent
projects in addition to the output locationpublic static IClasspathEntry[] getReferencedClasspathEntries(IClasspathEntry libraryEntry, IJavaProject project)
IClasspathEntry.CPE_LIBRARY
,
the method returns the libraries that are included in the Class-Path section of
the MANIFEST.MF file. If a referenced JAR file has further references to other library
entries, they are processed recursively and added to the list. For entry kinds other
than IClasspathEntry.CPE_LIBRARY
, this method returns an empty array.
When a non-null project is passed, any additional attributes that may have been stored
previously in the project's .classpath file are retrieved and populated in the
corresponding referenced entry. If the project is null
, the raw referenced
entries are returned without any persisted attributes.
For more details on storing referenced entries, see
IJavaProject.setRawClasspath(IClasspathEntry[], IClasspathEntry[], IPath,
IProgressMonitor)
.
libraryEntry
- the library entry whose referenced entries are soughtproject
- project where the persisted referenced entries to be retrieved from. If null
persisted attributes are not attempted to be retrieved.public static void removeClasspathVariable(String variableName)
removeClasspathVariable(String, IProgressMonitor)
insteadThis functionality cannot be used while the resource tree is locked.
Classpath variable values are persisted locally to the workspace, and are preserved from session to session.
variableName
- the name of the classpath variablesetClasspathVariable(String, IPath)
public static void removeClasspathVariable(String variableName, IProgressMonitor monitor)
This functionality cannot be used while the resource tree is locked.
Classpath variable values are persisted locally to the workspace, and are preserved from session to session.
variableName
- the name of the classpath variablemonitor
- the progress monitor to report progresssetClasspathVariable(String, IPath)
public static void removeElementChangedListener(IElementChangedListener listener)
listener
- the listenerpublic static String removeJavaLikeExtension(String fileName)
fileName
- the name of a filepublic static void removePreProcessingResourceChangedListener(IResourceChangeListener listener)
Has no effect if an identical listener is not registered.
listener
- the listenerpublic static void run(IWorkspaceRunnable action, IProgressMonitor monitor) throws CoreException
After running a method that modifies java elements, registered listeners receive after-the-fact notification of what just transpired, in the form of a element changed event. This method allows clients to call a number of methods that modify java elements and only have element changed event notifications reported at the end of the entire batch.
If this method is called outside the dynamic scope of another such call, this method runs the action and then reports a single element changed event describing the net effect of all changes done to java elements by the action.
If this method is called in the dynamic scope of another such call, this method simply runs the action.
action
- the action to performmonitor
- a progress monitor, or null
if progress
reporting and cancellation are not desiredCoreException
- if the operation failed.public static void run(IWorkspaceRunnable action, ISchedulingRule rule, IProgressMonitor monitor) throws CoreException
After running a method that modifies java elements, registered listeners receive after-the-fact notification of what just transpired, in the form of a element changed event. This method allows clients to call a number of methods that modify java elements and only have element changed event notifications reported at the end of the entire batch.
If this method is called outside the dynamic scope of another such call, this method runs the action and then reports a single element changed event describing the net effect of all changes done to java elements by the action.
If this method is called in the dynamic scope of another such call, this method simply runs the action.
The supplied scheduling rule is used to determine whether this operation can be
run simultaneously with workspace changes in other threads. See
IWorkspace.run(...)
for more details.
action
- the action to performrule
- the scheduling rule to use when running this operation, or
null
if there are no scheduling restrictions for this operation.monitor
- a progress monitor, or null
if progress
reporting and cancellation are not desiredCoreException
- if the operation failed.public static void setClasspathContainer(IPath containerPath, IJavaProject[] affectedProjects, IClasspathContainer[] respectiveContainers, IProgressMonitor monitor) throws JavaModelException
IClasspathContainer
).
This API must be invoked whenever changes in container need to be reflected onto the JavaModel.
Containers can have distinct values in different projects, therefore this API considers a
set of projects with their respective containers.
containerPath
is the path under which these values can be referenced through
container classpath entries (IClasspathEntry#CPE_CONTAINER
). A container path
is formed by a first ID segment followed with extra segments, which can be used as additional hints
for the resolution. The container ID is used to identify a ClasspathContainerInitializer
registered on the extension point "org.eclipse.jdt.core.classpathContainerInitializer".
There is no assumption that each individual container value passed in argument
(respectiveContainers
) must answer the exact same path when requested
IClasspathContainer#getPath
.
Indeed, the containerPath is just an indication for resolving it to an actual container object. It can be
delegated to a ClasspathContainerInitializer
, which can be activated through the extension
point "org.eclipse.jdt.core.ClasspathContainerInitializer").
In reaction to changing container values, the JavaModel will be updated to reflect the new state of the updated container. A combined Java element delta will be notified to describe the corresponding classpath changes resulting from the container update. This operation is batched, and automatically eliminates unnecessary updates (new container is same as old one). This operation acquires a lock on the workspace's root.
This functionality cannot be used while the workspace is locked, since it may create/remove some resource markers.
Classpath container values are persisted locally to the workspace, but
are not preserved from a session to another. It is thus highly recommended to register a
ClasspathContainerInitializer
for each referenced container
(through the extension point "org.eclipse.jdt.core.ClasspathContainerInitializer").
Note: setting a container to null
will cause it to be lazily resolved again whenever
its value is required. In particular, this will cause a registered initializer to be invoked
again.
containerPath
- - the name of the container reference, which is being updatedaffectedProjects
- - the set of projects for which this container is being boundrespectiveContainers
- - the set of respective containers for the affected projectsmonitor
- a monitor to report progressJavaModelException
ClasspathContainerInitializer
,
getClasspathContainer(IPath, IJavaProject)
,
IClasspathContainer
public static void setClasspathVariable(String variableName, IPath path) throws JavaModelException
setClasspathVariable(String, IPath, IProgressMonitor)
insteadThis functionality cannot be used while the resource tree is locked.
Classpath variable values are persisted locally to the workspace, and are preserved from session to session.
variableName
- the name of the classpath variablepath
- the pathJavaModelException
getClasspathVariable(String)
public static void setClasspathVariable(String variableName, IPath path, IProgressMonitor monitor) throws JavaModelException
This functionality cannot be used while the resource tree is locked.
Classpath variable values are persisted locally to the workspace, and are preserved from session to session.
Updating a variable with the same value has no effect.
variableName
- the name of the classpath variablepath
- the pathmonitor
- a monitor to report progressJavaModelException
getClasspathVariable(String)
public static void setClasspathVariables(String[] variableNames, IPath[] paths, IProgressMonitor monitor) throws JavaModelException
A combined Java element delta will be notified to describe the corresponding classpath changes resulting from the variables update. This operation is batched, and automatically eliminates unnecessary updates (new variable is same as old one). This operation acquires a lock on the workspace's root.
This functionality cannot be used while the workspace is locked, since it may create/remove some resource markers.
Classpath variable values are persisted locally to the workspace, and are preserved from session to session.
Updating a variable with the same value has no effect.
variableNames
- an array of names for the updated classpath variablespaths
- an array of path updates for the modified classpath variables (null
meaning that the corresponding value will be removedmonitor
- a monitor to report progressJavaModelException
getClasspathVariable(String)
public static void setComplianceOptions(String compliance, Map options)
The given compliance must be one of those supported by the compiler,
that is one of the acceptable values for option COMPILER_COMPLIANCE
.
The list of modified options is currently:
COMPILER_COMPLIANCE
COMPILER_SOURCE
COMPILER_CODEGEN_TARGET_PLATFORM
COMPILER_PB_ASSERT_IDENTIFIER
COMPILER_PB_ENUM_IDENTIFIER
COMPILER_CODEGEN_INLINE_JSR_BYTECODE
for compliance levels 1.5 and greaterIf the given compliance is unknown, the given map is unmodified.
compliance
- the given compliance
options
- the given options mappublic static void setOptions(Hashtable newOptions)
Helper constants have been defined on JavaCore for each of the option IDs (categorized in Code assist option ID, Compiler option ID and Core option ID) and some of their acceptable values (categorized in Option value). Some options accept open value sets beyond the documented constant values.
Note: each release may add new options.newOptions
- the new options (key type: String
; value type:
String
), or null
to reset all
options to their default valuesgetDefaultOptions()
,
for changing default settings
public void stop(BundleContext context) throws Exception
stop
in interface BundleActivator
stop
in class Plugin
Exception
public void start(BundleContext context) throws Exception
start
in interface BundleActivator
start
in class Plugin
Exception
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.