JDT UI Breaking API changes

java development tooling ui

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

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

jdt ui - Non-breaking API changes from R3.2 to R3.3

New and deprecated API in `org.eclipse.jdt.ui.jarpackager.JarPackageData`:

- `createJarDescriptionWriter(OutputStream)` has been deprecated in favor of `createJarDescriptionWriter(OutputStream, String)` which allows to specify the encoding of the description file.

New API in `org.eclipse.jdt.ui.refactoring.IRefactoringProcessorIds`:

- COPY_PROCESSOR
- addition to RENAME_PACKAGE_FRAGMENT_PROCESSOR:
  participants can now get an IJavaElementMapper and an IResourceMapper from the processor to find the location of elements after the rename

New API `org.eclipse.jdt.ui.JavaUI.openInEditor(IJavaElement, activate, reveal)`

New API in `org.eclipse.jdt.ui.ITypeHierarchyViewPart`:

- showMembersInHierarchy(boolean)
- isShowMembersInHierarchy()
- showQualifiedTypeNames(boolean)
- isQualifiedTypeNamesEnabled()
- isLinkingEnabled()
- setLinkingEnabled(boolean)
- setViewLayout(int)
- getViewLayout()
- setHierarchyMode(int)
- getHierarchyMode()

New constants in `org.eclipse.jdt.ui.ITypeHierarchyViewPart`:

- VIEW_LAYOUT_VERTICAL
- VIEW_LAYOUT_HORIZONTAL
- VIEW_LAYOUT_SINGLE
- VIEW_LAYOUT_AUTOMATIC
- HIERARCHY_MODE_CLASSIC
- HIERARCHY_MODE_SUPERTYPES
- HIERARCHY_MODE_SUBTYPES

New API in `org.eclipse.jdt.ui.actions.OpenViewActionGroup`:

- containsOpenPropertiesAction(boolean)

Added API to `org.eclipse.jdt.ui.StandardJavaElementContentProvider` to simplify the customization of the content provider:

- getPackageFragmentRootContent(IPackageFragmentRoot)
- getPackageContent(IPackageFragment)
- getFolderContent(IFolder)

The following action has been deprecated `org.eclipse.jdt.ui.actions`:

- FindStringsToExternalizeAction: replaced by ExternalizeStringsAction

The following constants have been deprecated in `org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds`:

- SHOW_JAVADOC: replaced by ITextEditorActionDefinitionIds#SHOW_INFORMATION
- FIND_STRINGS_TO_EXTERNALIZE: replaced by IJavaEditorActionDefinitionIds#EXTERNALIZE_STRINGS

The following constants have been deprecated in `org.eclipse.jdt.ui.actions.JdtActionConstants`:

- SHOW_JAVADOC: replaced by ITextEditorActionConstants#SHOW_INFORMATION
- FIND_STRINGS_TO_EXTERNALIZE: replaced by JdtActionConstants#EXTERNALIZE_STRINGS

Added API to type wizard open actions: `OpenNewAnnotationWizardAction`, `OpenNewEnumWizardAction`, `OpenNewClassWizardAction`, `OpenNewInterfaceWizardAction (org.eclipse.jdt.ui.actions)` to control if an editor is opened after the type is created:

- setOpenEditorOnFinish(boolean openEditorOnFinish)

Added API to `org.eclipse.jdt.ui.actions.OpenViewActionGroup`:

- containsOpenPropertiesAction(boolean enable)
- containsShowInMenu(boolean enable)

Added API to the NewContainerWizardPage: `org.eclipse.jdt.ui.wizards`:

- getJavaProject(): Return the Java project that the element will be created in or `null`

Deprecated `JavaElementSorter`. Use new API `JavaElementComparator` instead (`org.eclipse.jdt.ui.wizards`):

The following constants have been added to `org.eclipse.jdt.ui.PreferenceConstants`:

- APPEARANCE_JAVADOC_FONT: the symbolic font name for the font used to display Javadoc
- EDITOR_JAVA_BRACKET_BOLD: controls whether brackets are rendered in bold
- EDITOR_JAVA_BRACKET_COLOR: the preference that holds the color used to render brackets
- EDITOR_JAVA_BRACKET_ITALIC: controls whether brackets are rendered in italic
- EDITOR_JAVA_BRACKET_STRIKETHROUGH: controls whether brackets are rendered in strikethrough
- EDITOR_JAVA_BRACKET_UNDERLINE: controls whether brackets are rendered underlined
- REFACTOR_LIGHTWEIGHT: controls whether certain refactorings use a lightweight UI when started from a Java editor
- SPELLING_IGNORE_NON_LETTERS: controls whether non-letters at word boundaries should be ignored during spell checking
- SPELLING_IGNORE_SINGLE_LETTERS: controls whether single letters should be ignored during spell checking
- SPELLING_IGNORE_AMPERSAND_IN_PROPERTIES: controls whether ampersands should be ignored during spell checking
- CODEASSIST_FAVORITE_STATIC_MEMBERS: the preference that holds the favorite static members
- EDITOR_SOURCE_HOVER_BACKGROUND_COLOR: the preference that holds the source hover background color
- EDITOR_SOURCE_HOVER_BACKGROUND_COLOR_SYSTEM_DEFAULT: the preference that tells whether to use the system default color for the source hover background color

The following constants have been deprecated in `org.eclipse.jdt.ui.PreferenceConstants`:

- LINK_PACKAGES_TO_EDITOR: Not used anymore
- LINK_TYPEHIERARCHY_TO_EDITOR: Not used anymore
- EDITOR_SHOW_TEXT_HOVER_AFFORDANCE: Replaced by AbstractDecoratedTextEditorPreferenceConstants#EDITOR_SHOW_TEXT_HOVER_AFFORDANCE
- EDITOR_SMART_HOME_END: Replaced by AbstractDecoratedTextEditorPreferenceConstants#EDITOR_SMART_HOME_END

Added new extension point: `org.eclipse.jdt.ui.classpathAttributeConfiguration`:

- Extenders can define how custom class path attributes (`IClasspathAttribute`) are rendered and configured
- New API `org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration` to be extended by extension point clients.

Added API `ProjectActionGroup.getOpenProjectAction()` (org.eclipse.jdt.ui.actions)

Added API to `org.eclipse.jdt.ui.JavaElementImageDescriptor`:

- JavaElementImageDescriptor.VOLATILE
- JavaElementImageDescriptor.TRANSIENT

Added API to `org.eclipse.jdt.ui.refactoring.RenameSupport`:

- static RenameSupport create(RenameJavaElementDescriptor descriptor) throws CoreException

Added API to `org.eclipse.jdt.ui.wizards.JavaCapabilityConfigurationPage`:

- protected void setFocus()

API changes from 3.1 to 3.2 can be found here.