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:
  • JavaElementLabelProvidernow 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.