JDT UI Breaking API changes
Author: IBM

java development tooling ui

This document lists the breaking API changes that occurred between R3.1 and R3.2 and how to migrate from the R3.1 API to the R3.2 API.

jdt ui - Breaking API changes from R3.1 to R3.2

jdt ui - Non-breaking API changes from R3.1 to R3.2
New and deprecated API in `org.eclipse.jdt.ui.JavadocContentAccess`: `getHTMLContentReader(IMember, boolean)` has been deprecated in favor of `getHTMLContentReader(IMember, boolean, boolean)` which allows to specify whether attached Javadoc should be respected.
New API added on JavaUI createPackageDialog(Shell parent, IRunnableContext context, IJavaSearchScope scope, boolean multipleSelection, boolean removeDuplicates, String filter) getEditorInputJavaElement(IEditorInput)
New API added to extend the 'open type' dialog JavaUI.createTypeDialog(Shell, IRunnableContext, IJavaSearchScope, int, boolean, String, TypeSelectionExtension) (org.eclipse.jdt.ui.) TypeSelectionExtension (org.eclipse.jdt.ui.dialogs) ITypeInfoFilterExtension (org.eclipse.jdt.ui.dialogs) ITypeInfoImageProvider (org.eclipse.jdt.ui.dialogs) ITypeInfoRequestor (org.eclipse.jdt.ui.dialogs) ITypeSelectionComponent (org.eclipse.jdt.ui.dialogs)
New API added to open wizards programmatically OpenNewAnnotationWizardAction (org.eclipse.jdt.ui.action) OpenNewClassWizardAction (org.eclipse.jdt.ui.action) OpenNewEnumWizardAction (org.eclipse.jdt.ui.action) OpenNewInterfaceWizardAction (org.eclipse.jdt.ui.action) OpenNewJavaProjectWizardAction (org.eclipse.jdt.ui.action) OpenNewPackageWizardAction (org.eclipse.jdt.ui.action) OpenNewSourceFolderWizardAction (org.eclipse.jdt.ui.action)
New API added on ISharedImages IMG_OBJS_CLASSPATH_VAR_ENTRY IMG_OBJS_JAVADOCTAG
New API added on IPackagesViewPart isLinkingEnabled() setLinkingEnabled(boolean)
New API added on NewTypeWizardPage getCompilationUnitName(String) accessors that return the input field labels can be overridden getPackageLabel() getEnclosingTypeLabel() getTypeNameLabel() getModifiersLabel() getSuperClassLabel() getSuperInterfacesLabel() methods that open the selection dialogs can now be overridden choosePackage() chooseEnclosingType() chooseSuperClass() chooseSuperInterfaces()
New API added on NewContainerWizardPage accessors that return the input field labels can be overridden getContainerLabel() methods that open the selection dialogs can now be overridden chooseContainer()
New API added on JavaCapabilityConfigurationPage createProject(IProject, URI locationURI, IProgressMonitor) Deprecated API createProject(IProject, IPath locationPath, IProgressMonitor)
JDT action now support a pluggable selection provider so that the actions can also be used on non-Java elements New constructor SelectionDispatchAction(IWorkbenchSite site, ISelectionProvider provider) New class ConvertingSelectionProvider
New API to use the functionality of OverrideMethodsAction and AddUnimplementedConstructorsAction without UI. New method OverrideMethodsAction.createRunnable(CompilationUnit astRoot, ITypeBinding type, IMethodBinding[] methodToOverride, int insertPos, boolean createComments) New method AddUnimplementedConstructorsAction.createRunnable(CompilationUnit astRoot, ITypeBinding type, IMethodBinding[] methodToOverride, int insertPos, boolean createComments, int visibility, boolean omitSuper)
New API to get a ImportRewrite configured with the JDT.UI preference settings. CodeStyleConfiguration.createImportRewrite(...)
New API on CodeGeneration CodeGeneration.getTypeBody(...) and constants
New API on JavaElementLabels Constants added to show element categories
New API JarWriter3 JarWriter3 has been added to create JARs with refactoring scripts
New API for folding structure provider IJavaFoldingStructureProviderExtension DefaultJavaFoldingStructureProvider
New actions added to give access to new functionality GenerateHashCodeEqualsAction IntroduceIndirectionAction ReplaceInvocationsAction
New API to allow QuickFix and QuickAssist processors to work on (non-jdt.core) problems contributed by reconcile participants. Extensions of quickFixProcessors can now specify which marker types they can handle: new element <handledMarkerTypes>. Processors will only receive problems of specified types. If no handled marker type are specified, the processor will only get problems of types org.eclipse.jdt.core.problem, org.eclipse.jdt.core.buildpath_problem and org.eclipse.jdt.core.task; this is compatible to the behavior prior to 3.2. New API added on IProblemLocation: IProblemLocation.getMarkerType() For historical reasons, IQuickFixProcessor.hasCorrections only gets the problem ID, but not the problem marker type. The possible marker types are defined by the extension. To avoid any conflicts on the ID, extenders are recommended to implement a processor per marker type.

API changes from 3.0 to 3.1 can be found here.