JDT UI Breaking API changes
Author: IBM

java development tooling ui

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

jdt ui - Breaking API changes from R3.3 to R3.4
None

jdt ui - Non-breaking API changes from R3.3 to R3.4
Added API `org.eclipse.jdt.ui.actions.OpenNewPackageWizardAction.setConfiguredWizardPage(NewPackageWizardPage)`.
Added constants for new refactorings: Added to `org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds`: INTRODUCE_PARAMETER_OBJECT EXTRACT_CLASS Added to `org.eclipse.jdt.ui.actions.JdtActionConstants`: INTRODUCE_PARAMETER_OBJECT EXTRACT_CLASS
Constants to `org.eclipse.jdt.ui.PreferenceConstants`: SPELLING_IGNORE_JAVA_STRINGS SPELLING_PROBLEMS_THRESHOLD
Added API to `org.eclipse.jdt.ui.PreferenceConstants`: getExcludedCompletionProposalCategories() setExcludedCompletionProposalCategories(..)
Added API `org.eclipse.jdt.ui.JavaUI.getEditorInputTypeRoot(IEditorInput)`
`org.eclipse.jdt.ui.SharedASTProvider` gives access to the AST used by the active Java editor SharedASTProvider.getAST(ITypeRoot, SharedASTProvider.WAIT_FLAG, IProgressMonitor)
New extension point `javadocExportWizardPage` allows to add pages to the Javadoc export wizard JavadocExportWizardPage is to be extended by contributors
Both new Java project wizard pages are now API. Clients can reuse or modify the pages for their own New Java project wizards. NewJavaProjectWizardPageOne (`org.eclipse.jdt.ui.wizards`) NewJavaProjectWizardPageTwo (`org.eclipse.jdt.ui.wizards`) OpenNewJavaProjectWizardAction.setConfiguredWizardPages(NewJavaProjectWizardPageOne, NewJavaProjectWizardPageTwo) (`org.eclipse.jdt.ui.actions`)
New extension point `classpathFixProcessors` allows to add functionality to fix a project class path when a type can not be resolved. For example PDE can add a plug-in dependency. ClasspathFixProcessor is to be extended by contributors
Added API for the JAR packager: Added `org.eclipse.jdt.ui.jarpackager.IJarBuilder` Added methods to set and get jar builder in `org.eclipse.jdt.ui.jarpackager.JarPackageData` Added factories to create jar builders in `org.eclipse.jdt.ui.jarpackager.JarPackageData` Added methods to set and get launch configuration name in `org.eclipse.jdt.ui.jarpackager.JarPackageData` Added method `org.eclipse.jdt.ui.jarpackager.JarWriter3.addEntry(JarEntry, InputStream)`
All occurrence actions available in for find occurrence. New actions and constants. FindBreakContinueTargetOccurrencesAction FindMethodExitOccurrencesAction IJavaEditorActionDefinitionIds: SEARCH_METHOD_EXIT_OCCURRENCES, SEARCH_BREAK_CONTINUE_TARGET_OCCURRENCES JdtActionConstants: FIND_METHOD_EXIT_OCCURRENCES, FIND_BREAK_CONTINUE_TARGET_OCCURRENCES
Support for external class folder selection: BuildPathDialogAccess.chooseExternalJAREntries(Shell) BuildPathDialogAccess.configureExternalClassFolderEntries(Shell, IPath)
Support for styled text labels in `JavaElementLabels`: `COLORIZE`: Constant to signal that colors should be applied to labels `getStyledTextLabel(element, flags)`: Construct a styled text label for the given element `getStyledElementLabel(..)`: Construct a styled text label for the given Java element `getXYLabel(..)`: Construct a styled text label for the given tytpe, method, field ...
Support for styled text labels in `JavaElementLabelProvider`: `JavaElementLabelProvider`now implements IStyledLabelProvider
Support for styled text labels in `org.eclipse.jdt.ui.text.java.CompletionProposalLabelProvider`: `createStyledLabel(CompletionProposal)`
Made preference page ID for build path preferences pages API: `org.eclipse.jdt.ui.JavaUI#ID_USER_LIBRARY_PREFERENCE_PAGE` `org.eclipse.jdt.ui.JavaUI#ID_CLASSPATH_VARIABLES_PREFERENCE_PAGE`
Constants added for 'Show Breadcrumbs' action: `org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds#TOGGLE_BREADCRUMB` `org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds#SHOW_IN_BREADCRUMB`
All action groups now also accept a special selection provider on construction which is used instead of the page selection provider. `BuildActionGroup` `CCPActionGroup` `DeclarationsSearchGroup` `GenerateActionGroup` `ImplementorsSearchGroup` `JavaSearchActionGroup` `NavigateActionGroup` `OccurrencesSearchGroup` `OpenEditorActionGroup` `ProjectActionGroup` `ReadReferencesSearchGroup` `RefactorActionGroup` `ReferencesSearchGroup` `WriteReferencesSearchGroup`

API changes from 3.2 to 3.3 can be found here.