Eclipse JDT
2.0

org.eclipse.jdt.core
Class JavaCore

java.lang.Object
  |
  +--org.eclipse.core.runtime.Plugin
        |
        +--org.eclipse.jdt.core.JavaCore
All Implemented Interfaces:
IExecutableExtension

public final class JavaCore
extends Plugin
implements IExecutableExtension

The plug-in runtime class for the Java model plug-in containing the core (UI-free) support for Java projects.

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.


Field Summary
static String ABORT
          Possible configurable option value.
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 CLEAR_ALL
          Possible configurable option value.
static String CODEASSIST_IMPLICIT_QUALIFICATION
          Possible configurable option ID.
static String CODEASSIST_VISIBILITY_CHECK
          Possible configurable option ID.
static String COMPACT
          Possible configurable option value.
static String COMPILER_CODEGEN_TARGET_PLATFORM
          Possible configurable option ID.
static String COMPILER_CODEGEN_UNUSED_LOCAL
          Possible configurable option ID.
static String COMPILER_COMPLIANCE
          Possible configurable option ID.
static String COMPILER_LINE_NUMBER_ATTR
          Possible configurable option ID.
static String COMPILER_LOCAL_VARIABLE_ATTR
          Possible configurable option ID.
static String COMPILER_PB_ASSERT_IDENTIFIER
          Possible configurable option ID.
static String COMPILER_PB_DEPRECATION
          Possible configurable option ID.
static String COMPILER_PB_HIDDEN_CATCH_BLOCK
          Possible configurable option ID.
static String COMPILER_PB_INVALID_IMPORT
          Possible configurable option ID.
static String COMPILER_PB_MAX_PER_UNIT
          Possible configurable option ID.
static String COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME
          Possible configurable option ID.
static String COMPILER_PB_NON_NLS_STRING_LITERAL
          Possible configurable option ID.
static String COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD
          Possible configurable option ID.
static String COMPILER_PB_SYNTHETIC_ACCESS_EMULATION
          Possible configurable option ID.
static String COMPILER_PB_UNREACHABLE_CODE
          Possible configurable option ID.
static String COMPILER_PB_UNUSED_IMPORT
          Possible configurable option ID.
static String COMPILER_PB_UNUSED_LOCAL
          Possible configurable option ID.
static String COMPILER_PB_UNUSED_PARAMETER
          Possible configurable option ID.
static String COMPILER_SOURCE
          Possible configurable option ID.
static String COMPILER_SOURCE_FILE_ATTR
          Possible configurable option ID.
static String COMPUTE
          Possible configurable option value.
static String CORE_ENCODING
          Possible configurable option ID.
static String CORE_JAVA_BUILD_INVALID_CLASSPATH
          Possible configurable option ID.
static String CORE_JAVA_BUILD_ORDER
          Possible configurable option ID.
static String CORE_JAVA_BUILD_RESOURCE_COPY_FILTER
          Possible configurable option ID.
static String DISABLED
          Possible configurable option value.
static String DO_NOT_GENERATE
          Possible configurable option value.
static String DO_NOT_INSERT
          Possible configurable option value.
static String ENABLED
          Possible configurable option value.
static String ERROR
          Possible configurable option value.
static String FORMATTER_CLEAR_BLANK_LINES
          Possible configurable option ID.
static String FORMATTER_COMPACT_ASSIGNMENT
          Possible configurable option ID.
static String FORMATTER_LINE_SPLIT
          Possible configurable option ID.
static String FORMATTER_NEWLINE_CONTROL
          Possible configurable option ID.
static String FORMATTER_NEWLINE_ELSE_IF
          Possible configurable option ID.
static String FORMATTER_NEWLINE_EMPTY_BLOCK
          Possible configurable option ID.
static String FORMATTER_NEWLINE_OPENING_BRACE
          Possible configurable option ID.
static String FORMATTER_TAB_CHAR
          Possible configurable option ID.
static String FORMATTER_TAB_SIZE
          Possible configurable option ID.
static String GENERATE
          Possible configurable option value.
static String IGNORE
          Possible configurable option value.
static String INSERT
          Possible configurable option value.
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 NORMAL
          Possible configurable option value.
static String OPTIMIZE_OUT
          Possible configurable option value.
static String PLUGIN_ID
          The plug-in identifier of the Java core support (value "org.eclipse.jdt.core").
static String PRESERVE
          Possible configurable option value.
static String PRESERVE_ONE
          Possible configurable option value.
static String SPACE
          Possible configurable option value.
static String TAB
          Possible configurable option value.
static String VERSION_1_1
          Possible configurable option value.
static String VERSION_1_2
          Possible configurable option value.
static String VERSION_1_3
          Possible configurable option value.
static String VERSION_1_4
          Possible configurable option value.
static String WARNING
          Possible configurable option value.
 
Fields inherited from class org.eclipse.core.runtime.Plugin
PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME, PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME
 
Constructor Summary
JavaCore(IPluginDescriptor pluginDescriptor)
          Creates the Java core plug-in.
 
Method Summary
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.
 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 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 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 .java file.
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 IPath getClasspathVariable(String variableName)
          Returns the path held in the given classpath variable.
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 JavaCore getJavaCore()
          Returns the single instance of the Java core plug-in runtime class.
static String getOption(String optionName)
          Helper method for returning one option value only.
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 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)
          Answers the shared working copies currently registered for this buffer factory.
protected  void initializeDefaultPluginPreferences()
          Initializes the default preferences settings for this plug-in.
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 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 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 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 IRegion newRegion()
          Returns a new empty region.
static IClasspathEntry newSourceEntry(IPath path)
          Creates and returns a new classpath entry of kind CPE_SOURCE for the project's source folder identified by the given absolute path.
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 sourceAttachmentRootPath, boolean isExported)
          Creates and returns a new non-exported classpath entry of kind CPE_VARIABLE for the given path.
static void removeClasspathVariable(String variableName)
          Deprecated. - use version with extra IProgressMonitor
static void removeClasspathVariable(String variableName, IProgressMonitor monitor)
          Removed the given classpath variable.
static void removeElementChangedListener(IElementChangedListener listener)
          Removes the given element changed listener.
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. - use API with IProgressMonitor
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.
 void setInitializationData(IConfigurationElement cfig, String propertyName, Object data)
           
static void setOptions(Hashtable newOptions)
          Sets the current table of options.
 void shutdown()
          Shutdown the JavaCore plugin
 void startup()
          Startup of the JavaCore plugin
 
Methods inherited from class org.eclipse.core.runtime.Plugin
find, find, getDescriptor, getLog, getPluginPreferences, getStateLocation, isDebugging, openStream, openStream, savePluginPreferences, setDebugging, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PLUGIN_ID

public static final String PLUGIN_ID
The plug-in identifier of the Java core support (value "org.eclipse.jdt.core").

See Also:
Constant Field Values

BUILDER_ID

public static final String BUILDER_ID
The identifier for the Java builder (value "org.eclipse.jdt.core.javabuilder").

See Also:
Constant Field Values

MODEL_ID

public static final String MODEL_ID
The identifier for the Java model (value "org.eclipse.jdt.core.javamodel").

See Also:
Constant Field Values

NATURE_ID

public static final String NATURE_ID
The identifier for the Java nature (value "org.eclipse.jdt.core.javanature"). The presence of this nature on a project indicates that it is Java-capable.

See Also:
IProject.hasNature(java.lang.String), Constant Field Values

ATT_HANDLE_ID

protected static final String ATT_HANDLE_ID
Name of the handle id attribute in a Java marker

See Also:
Constant Field Values

COMPILER_LOCAL_VARIABLE_ATTR

public static final String COMPILER_LOCAL_VARIABLE_ATTR
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_LINE_NUMBER_ATTR

public static final String COMPILER_LINE_NUMBER_ATTR
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_SOURCE_FILE_ATTR

public static final String COMPILER_SOURCE_FILE_ATTR
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_CODEGEN_UNUSED_LOCAL

public static final String COMPILER_CODEGEN_UNUSED_LOCAL
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_CODEGEN_TARGET_PLATFORM

public static final String COMPILER_CODEGEN_TARGET_PLATFORM
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_UNREACHABLE_CODE

public static final String COMPILER_PB_UNREACHABLE_CODE
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_INVALID_IMPORT

public static final String COMPILER_PB_INVALID_IMPORT
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD

public static final String COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME

public static final String COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_DEPRECATION

public static final String COMPILER_PB_DEPRECATION
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_HIDDEN_CATCH_BLOCK

public static final String COMPILER_PB_HIDDEN_CATCH_BLOCK
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_UNUSED_LOCAL

public static final String COMPILER_PB_UNUSED_LOCAL
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_UNUSED_PARAMETER

public static final String COMPILER_PB_UNUSED_PARAMETER
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_UNUSED_IMPORT

public static final String COMPILER_PB_UNUSED_IMPORT
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_SYNTHETIC_ACCESS_EMULATION

public static final String COMPILER_PB_SYNTHETIC_ACCESS_EMULATION
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_NON_NLS_STRING_LITERAL

public static final String COMPILER_PB_NON_NLS_STRING_LITERAL
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_ASSERT_IDENTIFIER

public static final String COMPILER_PB_ASSERT_IDENTIFIER
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

COMPILER_PB_MAX_PER_UNIT

public static final String COMPILER_PB_MAX_PER_UNIT
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

COMPILER_SOURCE

public static final String COMPILER_SOURCE
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

COMPILER_COMPLIANCE

public static final String COMPILER_COMPLIANCE
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

CORE_JAVA_BUILD_ORDER

public static final String CORE_JAVA_BUILD_ORDER
Possible configurable option ID.

See Also:
getDefaultOptions(), Constant Field Values

CORE_JAVA_BUILD_RESOURCE_COPY_FILTER

public static final String CORE_JAVA_BUILD_RESOURCE_COPY_FILTER
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

CORE_JAVA_BUILD_INVALID_CLASSPATH

public static final String CORE_JAVA_BUILD_INVALID_CLASSPATH
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

CORE_ENCODING

public static final String CORE_ENCODING
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

FORMATTER_NEWLINE_OPENING_BRACE

public static final String FORMATTER_NEWLINE_OPENING_BRACE
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

FORMATTER_NEWLINE_CONTROL

public static final String FORMATTER_NEWLINE_CONTROL
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

FORMATTER_NEWLINE_ELSE_IF

public static final String FORMATTER_NEWLINE_ELSE_IF
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

FORMATTER_NEWLINE_EMPTY_BLOCK

public static final String FORMATTER_NEWLINE_EMPTY_BLOCK
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

FORMATTER_CLEAR_BLANK_LINES

public static final String FORMATTER_CLEAR_BLANK_LINES
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

FORMATTER_LINE_SPLIT

public static final String FORMATTER_LINE_SPLIT
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

FORMATTER_COMPACT_ASSIGNMENT

public static final String FORMATTER_COMPACT_ASSIGNMENT
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

FORMATTER_TAB_CHAR

public static final String FORMATTER_TAB_CHAR
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

FORMATTER_TAB_SIZE

public static final String FORMATTER_TAB_SIZE
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

CODEASSIST_VISIBILITY_CHECK

public static final String CODEASSIST_VISIBILITY_CHECK
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

CODEASSIST_IMPLICIT_QUALIFICATION

public static final String CODEASSIST_IMPLICIT_QUALIFICATION
Possible configurable option ID.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

GENERATE

public static final String GENERATE
Possible configurable option value.

See Also:
getDefaultOptions(), Constant Field Values

DO_NOT_GENERATE

public static final String DO_NOT_GENERATE
Possible configurable option value.

See Also:
getDefaultOptions(), Constant Field Values

PRESERVE

public static final String PRESERVE
Possible configurable option value.

See Also:
getDefaultOptions(), Constant Field Values

OPTIMIZE_OUT

public static final String OPTIMIZE_OUT
Possible configurable option value.

See Also:
getDefaultOptions(), Constant Field Values

VERSION_1_1

public static final String VERSION_1_1
Possible configurable option value.

See Also:
getDefaultOptions(), Constant Field Values

VERSION_1_2

public static final String VERSION_1_2
Possible configurable option value.

See Also:
getDefaultOptions(), Constant Field Values

VERSION_1_3

public static final String VERSION_1_3
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

VERSION_1_4

public static final String VERSION_1_4
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

ABORT

public static final String ABORT
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

ERROR

public static final String ERROR
Possible configurable option value.

See Also:
getDefaultOptions(), Constant Field Values

WARNING

public static final String WARNING
Possible configurable option value.

See Also:
getDefaultOptions(), Constant Field Values

IGNORE

public static final String IGNORE
Possible configurable option value.

See Also:
getDefaultOptions(), Constant Field Values

COMPUTE

public static final String COMPUTE
Possible configurable option value.

See Also:
getDefaultOptions(), Constant Field Values

INSERT

public static final String INSERT
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

DO_NOT_INSERT

public static final String DO_NOT_INSERT
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

PRESERVE_ONE

public static final String PRESERVE_ONE
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

CLEAR_ALL

public static final String CLEAR_ALL
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

NORMAL

public static final String NORMAL
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

COMPACT

public static final String COMPACT
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

TAB

public static final String TAB
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

SPACE

public static final String SPACE
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

ENABLED

public static final String ENABLED
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values

DISABLED

public static final String DISABLED
Possible configurable option value.

Since:
2.0
See Also:
getDefaultOptions(), Constant Field Values
Constructor Detail

JavaCore

public JavaCore(IPluginDescriptor pluginDescriptor)
Creates the Java core plug-in.

Method Detail

addElementChangedListener

public static void addElementChangedListener(IElementChangedListener listener)
Adds the given listener for changes to Java elements. Has no effect if an identical listener is already registered. 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.

Parameters:
listener - the listener
See Also:
ElementChangedEvent

addElementChangedListener

public static void addElementChangedListener(IElementChangedListener listener,
                                             int eventMask)
Adds the given listener for changes to Java elements. Has no effect if an identical listener is already registered. After completion of this method, the given listener will be registered for exactly the specified events. If they were previously registered for other events, they will be deregistered.

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.

Parameters:
listener - the listener
eventMask - the bit-wise OR of all event types of interest to the listener
Since:
2.0
See Also:
IElementChangedListener, ElementChangedEvent, removeElementChangedListener(IElementChangedListener)

addJavaElementMarkerAttributes

public static void addJavaElementMarkerAttributes(Map attributes,
                                                  IJavaElement element)
Configures the given marker attribute map for the given Java element. Used for markers, which denote a Java element rather than a resource.

Parameters:
attributes - the mutable marker attribute map (key type: String, value type: String)
element - the Java element for which the marker needs to be configured

configureJavaElementMarker

public void configureJavaElementMarker(IMarker marker,
                                       IJavaElement element)
                                throws CoreException
Configures the given marker for the given Java element. Used for markers, which denote a Java element rather than a resource.

Parameters:
marker - the marker to be configured
element - the Java element for which the marker needs to be configured
Throws:
CoreException - if the IMarker.setAttribute on the marker fails

create

public 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.


create

public 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.

The file must be one of:

Creating a Java element has the side effect of creating and opening all of the element's parents if they are not yet open.

Returns:
the Java element corresponding to the given file, or null if unable to associate the given file with a Java element

create

public 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.

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.

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

create

public static IJavaProject create(IProject project)
Returns the Java project corresponding to the given 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.

Parameters:
project - the given project
Returns:
the Java project corresponding to the given project, null if the given project is null

create

public 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.

The resource must be one of:

Creating a Java element has the side effect of creating and opening all of the element's parents if they are not yet open.

Parameters:
resource - the given resource
Returns:
the Java element corresponding to the given resource, or null if unable to associate the given resource with a Java element

create

public static IJavaModel create(IWorkspaceRoot root)
Returns the Java model.

Parameters:
root - the given root
Returns:
the Java model, or null if the root is null

createClassFileFrom

public static IClassFile createClassFileFrom(IFile file)
Creates and returns a class file element for the given .class file. Returns null if unable to recognize the class file.

Parameters:
file - the given .class file
Returns:
a class file element for the given .class file, or null if unable to recognize the class file

createCompilationUnitFrom

public static ICompilationUnit createCompilationUnitFrom(IFile file)
Creates and returns a compilation unit element for the given .java file. Returns null if unable to recognize the compilation unit.

Parameters:
file - the given .java file
Returns:
a compilation unit element for the given .java file, or null if unable to recognize the compilation unit

createJarPackageFragmentRootFrom

public static IPackageFragmentRoot createJarPackageFragmentRootFrom(IFile file)
Creates and returns a handle for the given JAR file. The Java model associated with the JAR's project may be created as a side effect.

Parameters:
file - the given JAR file
Returns:
a handle for the given JAR file, or null if unable to create a JAR package fragment root. (for example, if the JAR file represents a non-Java resource)

getClasspathContainer

public static IClasspathContainer getClasspathContainer(IPath containerPath,
                                                        IJavaProject project)
                                                 throws JavaModelException
Answers the project specific value for a given classpath container. In case this container path could not be resolved, then will answer 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").

Parameters:
containerPath - the name of the container, which needs to be resolved
project - a specific project in which the container is being resolved
Returns:
the corresponding classpath container or null if unable to find one.
Throws:
JavaModelException - if an exception occurred while resolving the container, or if the resolved container contains illegal entries (contains CPE_CONTAINER entries or null entries).
Since:
2.0
See Also:
ClasspathContainerInitializer, IClasspathContainer, setClasspathContainer(IPath, IJavaProject[], IClasspathContainer[], IProgressMonitor)

getClasspathVariable

public static IPath getClasspathVariable(String variableName)
Returns the path held in the given classpath variable. Returns 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".

Parameters:
variableName - the name of the classpath variable
Returns:
the path, or null if none
See Also:
setClasspathVariable(java.lang.String, org.eclipse.core.runtime.IPath)

getClasspathVariableNames

public static String[] getClasspathVariableNames()
Returns the names of all known classpath variables.

Classpath variable values are persisted locally to the workspace, and are preserved from session to session.

Returns:
the list of classpath variable names
See Also:
setClasspathVariable(java.lang.String, org.eclipse.core.runtime.IPath)

getDefaultOptions

public static Hashtable getDefaultOptions()
Returns a table of all known configurable options with their default values. These options allow to configure the behaviour of the underlying components. The client may safely use the result as a template that they can modify and then pass to setOptions. Helper constants have been defined on JavaCore for each of the option ID and their possible constant values. Note: more options might be added in further releases.
 RECOGNIZED OPTIONS:
	COMPILER / Generating Local Variable Debug Attribute
		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)
     		- option id:		"org.eclipse.jdt.core.compiler.debug.localVariable"
     		- possible values:	{ "generate", "do not generate" }
     		- default:			"generate"

	COMPILER / Generating Line Number Debug Attribute 
		When generated, this attribute will enable source code highlighting in debugger 
		(.class file is then bigger).
     		- option id:		"org.eclipse.jdt.core.compiler.debug.lineNumber"
     		- possible values:	{ "generate", "do not generate" }
     		- default:			"generate"
		
	COMPILER / Generating Source Debug Attribute 
		When generated, this attribute will enable the debugger to present the 
		corresponding source code.
     		- option id:		"org.eclipse.jdt.core.compiler.debug.sourceFile"
     		- possible values:	{ "generate", "do not generate" }
     		- default:			"generate"
		
	COMPILER / Preserving Unused Local Variables
		Unless requested to preserve unused local variables (i.e. never read), the 
		compiler will optimize them out, potentially altering debugging
     		- option id:		"org.eclipse.jdt.core.compiler.codegen.unusedLocal"
     		- possible values:	{ "preserve", "optimize out" }
     		- default:			"preserve"
 
	COMPILER / Defining Target Java Platform
		For binary compatibility reason, .class files can be tagged to with certain VM versions and later.
		Note that "1.4" target require to toggle compliance mode to "1.4" too.
     		- option id:		"org.eclipse.jdt.core.compiler.codegen.targetPlatform"
     		- possible values:	{ "1.1", "1.2", "1.3", "1.4" }
     		- default:			"1.1"

	COMPILER / Reporting Unreachable Code
		Unreachable code can optionally be reported as an error, warning or simply 
		ignored. The bytecode generation will always optimized it out.
     		- option id:		"org.eclipse.jdt.core.compiler.problem.unreachableCode"
     		- possible values:	{ "error", "warning", "ignore" }
     		- default:			"error"

	COMPILER / Reporting Invalid Import
		An import statement that cannot be resolved might optionally be reported 
		as an error, as a warning or ignored.
     		- option id:		"org.eclipse.jdt.core.compiler.problem.invalidImport"
     		- possible values:	{ "error", "warning", "ignore" }
     		- default:			"error"

	COMPILER / Reporting Attempt to Override Package-Default Method
		A package default method is not visible in a different package, and thus 
		cannot be overridden. When enabling this option, the compiler will signal 
		such scenarii either as an error or a warning.
     		- option id:		"org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod"
     		- possible values:	{ "error", "warning", "ignore" }
     		- default:			"warning"

	COMPILER / Reporting 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 
		scenarii either as an error or a warning.
     		- option id:		"org.eclipse.jdt.core.compiler.problem.methodWithConstructorName"
     		- possible values:	{ "error", "warning", "ignore" }
     		- default:			"warning"

	COMPILER / Reporting Deprecation
		When enabled, the compiler will signal use of deprecated API either as an 
		error or a warning.
     		- option id:		"org.eclipse.jdt.core.compiler.problem.deprecation"
     		- possible values:	{ "error", "warning", "ignore" }
     		- default:			"warning"

	COMPILER / Reporting Hidden Catch Block
		Locally to a try statement, some catch blocks may hide others , e.g.
			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
     		- option id:		"org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock"
     		- possible values:	{ "error", "warning", "ignore" }
     		- default:			"warning"

	COMPILER / Reporting Unused Local
		When enabled, the compiler will issue an error or a warning for unused local 
		variables (i.e. variables never read from)
     		- option id:		"org.eclipse.jdt.core.compiler.problem.unusedLocal"
     		- possible values:	{ "error", "warning", "ignore" }
     		- default:			"ignore"

	COMPILER / Reporting Unused Parameter
		When enabled, the compiler will issue an error or a warning for unused method 
		parameters (i.e. parameters never read from)
     		- option id:		"org.eclipse.jdt.core.compiler.problem.unusedParameter"
     		- possible values:	{ "error", "warning", "ignore" }
     		- default:			"ignore"

	COMPILER / Reporting Unused Import
		When enabled, the compiler will issue an error or a warning for unused import 
		reference 
     		- option id:		"org.eclipse.jdt.core.compiler.problem.unusedImport"
     		- possible values:	{ "error", "warning", "ignore" }
     		- default:			"ignore"

	COMPILER / Reporting 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.
     		- option id:		"org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation"
     		- possible values:	{ "error", "warning", "ignore" }
     		- default:			"ignore"

	COMPILER / Reporting Non-Externalized String Literal
		When enabled, the compiler will issue an error or a warning for non externalized 
		String literal (i.e. non tagged with //$NON-NLS-$). 
     		- option id:		"org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral"
     		- possible values:	{ "error", "warning", "ignore" }
     		- default:			"ignore"
 
 COMPILER / Reporting Usage of '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)
     - option id:			"org.eclipse.jdt.core.compiler.problem.assertIdentifier"
     - possible values:	{ "error", "warning", "ignore" }
     - default:			"ignore"
 
 COMPILER / Setting Source Compatibility Mode
    Specify whether source is 1.3 or 1.4 compatible. 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".
     - option id:			"org.eclipse.jdt.core.compiler.source"
     - possible values:	{ "1.3", "1.4" }
     - default:			"1.3"
 
 COMPILER / Setting Compliance Level
    Select the compliance level for the compiler. In "1.3" mode, source and target settings
    should not go beyond "1.3" level.
     - option id:			"org.eclipse.jdt.core.compiler.compliance"
     - possible values:	{ "1.3", "1.4" }
     - default:			"1.3"
 
 COMPILER / Maximum number of problems reported per compilation unit
    Specify the maximum number of problems reported on each compilation unit.
     - option id:			"org.eclipse.jdt.core.compiler.maxProblemPerUnit"
     - possible values:	"" where  is zero or a positive integer (if zero then all problems are reported).
     - default:			"100"
 
 BUILDER / Specifying Filters for Resource Copying Control
    Allow to specify some filters to control the resource copy process.
     - option id:			"org.eclipse.jdt.core.builder.resourceCopyExclusionFilter"
     - possible values:	{ "[,]* } where  is a file name pattern (only * wild-cards allowed)
       or the name of a folder which ends with '/'
     - default:			""
 
 BUILDER / Abort if Invalid Classpath
    Allow to toggle the builder to abort if the classpath is invalid
     - option id:			"org.eclipse.jdt.core.builder.invalidClasspath"
     - possible values:	{ "abort", "ignore" }
     - default:			"ignore"
 
	JAVACORE / Computing Project 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).
     - option id:			"org.eclipse.jdt.core.computeJavaBuildOrder"
     - possible values:	{ "compute", "ignore" }
     - default:			"ignore"	 
 
 JAVACORE / Specify Default Source Encoding Format
    Get the encoding format for compiled sources. This setting is read-only, it is equivalent
    to 'ResourcesPlugin.getEncoding()'.
     - option id:			"org.eclipse.jdt.core.encoding"
     - possible values:	{ any of the supported encoding name}.
     - default:			
 
	FORMATTER / Inserting New Line Before Opening Brace
    When Insert, a new line is inserted before an opening brace, otherwise nothing
    is inserted
     - option id:			"org.eclipse.jdt.core.formatter.newline.openingBrace"
     - possible values:	{ "insert", "do not insert" }
     - default:			"do not insert"
 
	FORMATTER / Inserting New Line Inside Control Statement
    When Insert, a new line is inserted between } and following else, catch, finally
     - option id:			"org.eclipse.jdt.core.formatter.newline.controlStatement"
     - possible values:	{ "insert", "do not insert" }
     - default:			"do not insert"
 
	FORMATTER / Clearing Blank Lines
    When Clear all, all blank lines are removed. When Preserve one, only one is kept
    and all others removed.
     - option id:			"org.eclipse.jdt.core.formatter.newline.clearAll"
     - possible values:	{ "clear all", "preserve one" }
     - default:			"preserve one"
 
	FORMATTER / Inserting New Line Between Else/If 
    When Insert, a blank line is inserted between an else and an if when they are 
    contiguous. When choosing to not insert, else-if will be kept on the same
    line when possible.
     - option id:			"org.eclipse.jdt.core.formatter.newline.elseIf"
     - possible values:	{ "insert", "do not insert" }
     - default:			"do not insert"
 
	FORMATTER / Inserting New Line In Empty Block
    When insert, a line break is inserted between contiguous { and }, if } is not followed
    by a keyword.
     - option id:			"org.eclipse.jdt.core.formatter.newline.emptyBlock"
     - possible values:	{ "insert", "do not insert" }
     - default:			"insert"
 
	FORMATTER / Splitting Lines Exceeding Length
    Enable splitting of long lines (exceeding the configurable length). Length of 0 will
    disable line splitting
     - option id:			"org.eclipse.jdt.core.formatter.lineSplit"
     - possible values:	"", where n is zero or a positive integer
     - default:			"80"
 
	FORMATTER / Compacting Assignment
    Assignments can be formatted asymmetrically, e.g. 'int x= 2;', when Normal, a space
    is inserted before the assignment operator
     - option id:			"org.eclipse.jdt.core.formatter.style.assignment"
     - possible values:	{ "compact", "normal" }
     - default:			"normal"
 
	FORMATTER / Defining Indentation Character
    Either choose to indent with tab characters or spaces
     - option id:			"org.eclipse.jdt.core.formatter.tabulation.char"
     - possible values:	{ "tab", "space" }
     - default:			"tab"
 
	FORMATTER / Defining Space Indentation Length
    When using spaces, set the amount of space characters to use for each 
    indentation mark.
     - option id:			"org.eclipse.jdt.core.formatter.tabulation.size"
     - possible values:	"", where n is a positive integer
     - default:			"4"
 
	CODEASSIST / Activate Visibility Sensitive Completion
    When active, completion doesn't show that you can not see
    (e.g. you can not see private methods of a super class).
     - option id:			"org.eclipse.jdt.core.codeComplete.visibilityCheck"
     - possible values:	{ "enabled", "disabled" }
     - default:			"disabled"
 
	CODEASSIST / Automatic Qualification of Implicit Members
    When active, completion automatically qualifies completion on implicit
    field references and message expressions.
     - option id:			"org.eclipse.jdt.core.codeComplete.forceImplicitQualification"
     - possible values:	{ "enabled", "disabled" }
     - default:			"disabled"
 

Returns:
a mutable table containing the default settings of all known options (key type: String; value type: String)
See Also:
setOptions(java.util.Hashtable)

getJavaCore

public static JavaCore getJavaCore()
Returns the single instance of the Java core plug-in runtime class. Equivalent to (JavaCore) getPlugin().

Returns:
the single instance of the Java core plug-in runtime class

getOption

public static String getOption(String optionName)
Helper method for returning one option value only. Equivalent to (String)JavaCore.getOptions().get(optionName) Note that it may answer null if this option does not exist.

For a complete description of the configurable options, see getDefaultOptions.

Parameters:
optionName - the name of an option
Returns:
the String value of a given option
Since:
2.0
See Also:
getDefaultOptions()

getOptions

public static Hashtable getOptions()
Returns the table of the current options. Initially, all options have their default values, and this method returns a table that includes all known options.

For a complete description of the configurable options, see getDefaultOptions.

Returns:
table of current settings of all options (key type: String; value type: String)
See Also:
getDefaultOptions()

getPlugin

public static Plugin getPlugin()
Returns the single instance of the Java core plug-in runtime class.

Returns:
the single instance of the Java core plug-in runtime class

getResolvedClasspathEntry

public 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). It is obtained by resolving the variable reference in the first segment. Returns null if unable to resolve using the following algorithm:
  • if variable segment cannot be resolved, returns null
  • finds a project, JAR or binary folder in the workspace at the resolved path location
  • if none finds an external JAR file or folder outside the workspace at the resolved path location
  • if none returns 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#getResolvedClasspathContainer(IPath, IJavaProject).

Parameters:
entry - the given variable entry
Returns:
the resolved library or project classpath entry, or null if the given variable entry could not be resolved to a valid classpath entry

getResolvedVariablePath

public static IPath getResolvedVariablePath(IPath variablePath)
Resolve a variable path (helper method)

Parameters:
variablePath - the given variable path
Returns:
the resolved variable path or null if none

getSharedWorkingCopies

public static IWorkingCopy[] getSharedWorkingCopies(IBufferFactory factory)
Answers the shared working copies currently registered for this buffer factory. Working copies can be shared by several clients using the same buffer factory,see IWorkingCopy##getSharedWorkingCopy.

Parameters:
factory - the given buffer factory
Returns:
the list of shared working copies for a given buffer factory
Since:
2.0
See Also:
IWorkingCopy

initializeDefaultPluginPreferences

protected void initializeDefaultPluginPreferences()
Initializes the default preferences settings for this plug-in.

Overrides:
initializeDefaultPluginPreferences in class Plugin

isReferencedBy

public static boolean isReferencedBy(IJavaElement element,
                                     IMarker marker)
                              throws CoreException
Returns whether the given marker references the given Java element. Used for markers, which denote a Java element rather than a resource.

Parameters:
element - the element
marker - the marker
Returns:
true if the marker references the element, false otherwise
Throws:
CoreException - if the IMarker.getAttribute on the marker fails

isReferencedBy

public static boolean isReferencedBy(IJavaElement element,
                                     IMarkerDelta markerDelta)
                              throws CoreException
Returns whether the given marker delta references the given Java element. Used for markers deltas, which denote a Java element rather than a resource.

Parameters:
element - the element
markerDelta - the marker delta
Returns:
true if the marker delta references the element
Throws:
CoreException - if the IMarkerDelta.getAttribute on the marker delta fails

newContainerEntry

public static IClasspathEntry newContainerEntry(IPath containerPath)
Creates and returns a new classpath entry of kind 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"));

Note that this operation does not attempt to validate classpath containers or access the resources at the given paths.

The resulting entry is not exported to dependent projects. This method is equivalent to newContainerEntry(-,false).

Parameters:
containerPath - the path identifying the container, it must be formed of two segments
Returns:
a new container classpath entry
Since:
2.0
See Also:
getClasspathContainer(IPath, IJavaProject), newContainerEntry(IPath, boolean)

newContainerEntry

public static IClasspathEntry newContainerEntry(IPath containerPath,
                                                boolean isExported)
Creates and returns a new classpath entry of kind 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"));

Note that this operation does not attempt to validate classpath containers or access the resources at the given paths.

Parameters:
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 location
Returns:
a new container classpath entry
Since:
2.0
See Also:
getClasspathContainer(IPath, IJavaProject), setClasspathContainer(IPath, IJavaProject[], IClasspathContainer[], IProgressMonitor), newContainerEntry(IPath, boolean)

newLibraryEntry

public 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. 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 or folder 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).

e.g. Here are some examples of binary path usage

Note that this operation does not attempt to validate or access the resources at the given paths.

The resulting entry is not exported to dependent projects. This method is equivalent to newLibraryEntry(-,-,-,false).

Parameters:
path - the absolute path of the binary archive
sourceAttachmentPath - the absolute path of the corresponding source archive, or null if none
sourceAttachmentRootPath - the location of the root within the source archive or null if archivePath is also null
Returns:
a new library classpath entry
See Also:
newLibraryEntry(IPath, IPath, IPath, boolean)

newLibraryEntry

public 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. 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 or folder 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).

e.g. Here are some examples of binary path usage

Note that this operation does not attempt to validate or access the resources at the given paths.

Parameters:
path - the absolute path of the binary archive
sourceAttachmentPath - the absolute path of the corresponding source archive, or null if none
sourceAttachmentRootPath - the location of the root within the source archive or null if archivePath is also null
isExported - indicates whether this entry is contributed to dependent projects in addition to the output location
Returns:
a new library classpath entry
Since:
2.0

newProjectEntry

public 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.

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 resulting entry is not exported to dependent projects. This method is equivalent to newProjectEntry(_,false).

Parameters:
path - the absolute path of the binary archive
Returns:
a new project classpath entry
See Also:
newProjectEntry(IPath, boolean)

newProjectEntry

public 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.

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.

Parameters:
path - the absolute path of the prerequisite project
isExported - indicates whether this entry is contributed to dependent projects in addition to the output location
Returns:
a new project classpath entry
Since:
2.0

newRegion

public static IRegion newRegion()
Returns a new empty region.

Returns:
a new empty region

newSourceEntry

public static IClasspathEntry newSourceEntry(IPath path)
Creates and returns a new classpath entry of kind CPE_SOURCE for the project's source folder identified by the given absolute path. This specifies that all package fragments within the root will have children of type ICompilationUnit.

The source folder is referred to using an absolute path relative to the workspace root, e.g. "/Project/src".

A source entry is used to set up the internal source layout of a project, and cannot be used out of the context of the containing project (a source entry "Proj1/src" cannot be used on the classpath of Proj2).

A particular source entry cannot be exported to other projects. All sources/binaries inside a project are contributed as a whole through a project entry (see JavaCore.newProjectEntry).

Parameters:
path - the absolute path of a source folder
Returns:
a new source classpath entry

newVariableEntry

public 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. 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

Note that this operation does not attempt to validate classpath variables or access the resources at the given paths.

The resulting entry is not exported to dependent projects. This method is equivalent to newVariableEntry(-,-,-,false).

Parameters:
variablePath - the path of the binary archive; first segment is the name of a classpath variable
variableSourceAttachmentPath - 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 within the source archive or null if archivePath is also null
Returns:
a new library classpath entry
See Also:
newVariableEntry(IPath, IPath, IPath, boolean)

newVariableEntry

public static IClasspathEntry newVariableEntry(IPath variablePath,
                                               IPath variableSourceAttachmentPath,
                                               IPath sourceAttachmentRootPath,
                                               boolean isExported)
Creates and returns a new non-exported classpath entry of kind 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

Note that this operation does not attempt to validate classpath variables or access the resources at the given paths.

Parameters:
variablePath - the path of the binary archive; first segment is the name of a classpath variable
variableSourceAttachmentPath - 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 within the source archive or null if archivePath is also null
isExported - indicates whether this entry is contributed to dependent projects in addition to the output location
Returns:
a new variable classpath entry
Since:
2.0

removeClasspathVariable

public static void removeClasspathVariable(String variableName)
Deprecated. - use version with extra IProgressMonitor

Removed the given classpath variable. Does nothing if no value was set for this classpath variable.

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.

Parameters:
variableName - the name of the classpath variable
See Also:
setClasspathVariable(java.lang.String, org.eclipse.core.runtime.IPath)

removeClasspathVariable

public static void removeClasspathVariable(String variableName,
                                           IProgressMonitor monitor)
Removed the given classpath variable. Does nothing if no value was set for this classpath variable.

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.

Parameters:
variableName - the name of the classpath variable
monitor - the progress monitor to report progress
See Also:
setClasspathVariable(java.lang.String, org.eclipse.core.runtime.IPath)

removeElementChangedListener

public static void removeElementChangedListener(IElementChangedListener listener)
Removes the given element changed listener. Has no affect if an identical listener is not registered.

Parameters:
listener - the listener

setClasspathContainer

public static void setClasspathContainer(IPath containerPath,
                                         IJavaProject[] affectedProjects,
                                         IClasspathContainer[] respectiveContainers,
                                         IProgressMonitor monitor)
                                  throws JavaModelException
Bind a container reference path to some actual containers (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.

This functionality cannot be used while the resource tree is locked.

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").

Parameters:
containerPath - - the name of the container reference, which is being updated
affectedProjects - - the set of projects for which this container is being bound
respectiveContainers - - the set of respective containers for the affected projects
monitor - a monitor to report progress
JavaModelException
Since:
2.0
See Also:
ClasspathContainerInitializer, getClasspathContainer(IPath, IJavaProject), IClasspathContainer

setClasspathVariable

public static void setClasspathVariable(String variableName,
                                        IPath path)
                                 throws JavaModelException
Deprecated. - use API with IProgressMonitor

Sets the value of the given classpath variable. The path must have at least one segment.

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.

Parameters:
variableName - the name of the classpath variable
path - the path
JavaModelException
See Also:
getClasspathVariable(java.lang.String)

setClasspathVariable

public static void setClasspathVariable(String variableName,
                                        IPath path,
                                        IProgressMonitor monitor)
                                 throws JavaModelException
Sets the value of the given classpath variable. The path must not be null.

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.

Parameters:
variableName - the name of the classpath variable
path - the path
monitor - a monitor to report progress
JavaModelException
See Also:
getClasspathVariable(java.lang.String)

setClasspathVariables

public static void setClasspathVariables(String[] variableNames,
                                         IPath[] paths,
                                         IProgressMonitor monitor)
                                  throws JavaModelException
Sets the values of all the given classpath variables at once. Null paths can be used to request corresponding variable removal.

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.

Parameters:
variableNames - an array of names for the updated classpath variables
paths - an array of path updates for the modified classpath variables (null meaning that the corresponding value will be removed
monitor - a monitor to report progress
JavaModelException
Since:
2.0
See Also:
getClasspathVariable(java.lang.String)

setInitializationData

public void setInitializationData(IConfigurationElement cfig,
                                  String propertyName,
                                  Object data)
                           throws CoreException
Specified by:
setInitializationData in interface IExecutableExtension
CoreException

setOptions

public static void setOptions(Hashtable newOptions)
Sets the current table of options. All and only the options explicitly included in the given table are remembered; all previous option settings are forgotten, including ones not explicitly mentioned.

For a complete description of the configurable options, see getDefaultOptions.

Parameters:
newOptions - the new options (key type: String; value type: String), or null to reset all options to their default values
See Also:
getDefaultOptions()

shutdown

public void shutdown()
Shutdown the JavaCore plugin

De-registers the JavaModelManager as a resource changed listener and save participant.

Overrides:
shutdown in class Plugin
See Also:
Plugin.shutdown()

startup

public void startup()
Startup of the JavaCore plugin

Registers the JavaModelManager as a resource changed listener and save participant. Starts the background indexing, and restore saved classpath variable values.

Overrides:
startup in class Plugin
See Also:
Plugin.startup()

Eclipse JDT
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.