| <!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" |
| content="text/html; charset=iso-8859-1"> |
| <meta name="Author" content="IBM"> |
| <title>JDT UI Breaking API changes</title> |
| <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" |
| type="text/css"> |
| </head> |
| <body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"> |
| <font color="#8080ff" size="-2">java development tooling ui</font> |
| <p>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. |
| </p> |
| <table border="0" cellpadding="2" cellspacing="5" width="100%"> |
| <tbody> |
| <tr> |
| <td align="left" width="72%"> <font size="+3"><b>jdt ui - |
| Breaking API changes from R3.1 to R3.2</b></font> <br> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <p> </p> |
| <table border="0" cellpadding="2" cellspacing="5" width="100%"> |
| <tbody> |
| <tr> |
| <td align="left" width="72%"> <font size="+3"><b>jdt ui - |
| Non-breaking API changes from R3.1 to R3.2</b></font> <br> |
| </td> |
| </tr> |
| <tr> |
| <td>New and deprecated API in <code>org.eclipse.jdt.ui.JavadocContentAccess</code>: |
| <ul><li><code>getHTMLContentReader(IMember, boolean)</code> has been |
| deprecated in favor of <code>getHTMLContentReader(IMember, boolean, |
| boolean)</code> which allows to specify whether attached Javadoc should |
| be respected.</li></ul> </td> |
| </tr> |
| <tr> |
| <td> New API added on JavaUI<br> |
| <ul> |
| <li>createPackageDialog(Shell parent, IRunnableContext |
| context, IJavaSearchScope scope, boolean |
| multipleSelection, boolean removeDuplicates, String filter)</li> |
| <li>getEditorInputJavaElement(IEditorInput)</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td> New API added to extend the 'open type' dialog |
| <ul> |
| <li> JavaUI.createTypeDialog(Shell, IRunnableContext, |
| IJavaSearchScope, int, boolean, String, TypeSelectionExtension) |
| (org.eclipse.jdt.ui.)</li> |
| <li>TypeSelectionExtension (org.eclipse.jdt.ui.dialogs)</li> |
| <li>ITypeInfoFilterExtension (org.eclipse.jdt.ui.dialogs)</li> |
| <li>ITypeInfoImageProvider (org.eclipse.jdt.ui.dialogs)</li> |
| <li>ITypeInfoRequestor (org.eclipse.jdt.ui.dialogs)</li> |
| <li>ITypeSelectionComponent (org.eclipse.jdt.ui.dialogs)</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>New API added to open wizards programmatically<br> |
| <ul> |
| <li>OpenNewAnnotationWizardAction (org.eclipse.jdt.ui.action)</li> |
| <li>OpenNewClassWizardAction (org.eclipse.jdt.ui.action)</li> |
| <li>OpenNewEnumWizardAction (org.eclipse.jdt.ui.action)</li> |
| <li>OpenNewInterfaceWizardAction (org.eclipse.jdt.ui.action)</li> |
| <li>OpenNewJavaProjectWizardAction (org.eclipse.jdt.ui.action)</li> |
| <li>OpenNewPackageWizardAction (org.eclipse.jdt.ui.action)</li> |
| <li>OpenNewSourceFolderWizardAction (org.eclipse.jdt.ui.action)</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>New API added on ISharedImages<br> |
| <ul> |
| <li>IMG_OBJS_CLASSPATH_VAR_ENTRY</li> |
| <li>IMG_OBJS_JAVADOCTAG</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td style="vertical-align: top;">New API added on |
| IPackagesViewPart<br> |
| <ul> |
| <li>isLinkingEnabled()</li> |
| <li>setLinkingEnabled(boolean)<br> |
| </li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>New API added on NewTypeWizardPage<br> |
| <ul> |
| <li>getCompilationUnitName(String)</li> |
| <li>accessors that return the input field labels can be overridden</li> |
| <ul> |
| <li>getPackageLabel()</li> |
| <li>getEnclosingTypeLabel()</li> |
| <li>getTypeNameLabel()</li> |
| <li>getModifiersLabel()</li> |
| <li>getSuperClassLabel()</li> |
| <li>getSuperInterfacesLabel()<br> |
| </li> |
| </ul> |
| <li>methods that open the selection dialogs can now be overridden</li> |
| <ul> |
| <li>choosePackage()</li> |
| <li>chooseEnclosingType()</li> |
| <li>chooseSuperClass()</li> |
| <li>chooseSuperInterfaces()<br> |
| </li> |
| </ul> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td style="vertical-align: top;">New API added on |
| NewContainerWizardPage<br> |
| <ul> |
| <li>accessors that return the input field labels can be overridden</li> |
| <ul> |
| <li>getContainerLabel()</li> |
| </ul> |
| <li>methods that open the selection dialogs can now be overridden</li> |
| <ul> |
| <li>chooseContainer()</li> |
| </ul> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>New API added on JavaCapabilityConfigurationPage<br> |
| <ul> |
| <li>createProject(IProject, URI locationURI, IProgressMonitor)</li> |
| </ul> |
| Deprecated API<br> |
| <ul> |
| <li>createProject(IProject, IPath locationPath, |
| IProgressMonitor)<br> |
| </li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>JDT action now support a pluggable selection provider so that |
| the actions can also be used on non-Java elements<br> |
| <ul> |
| <li>New constructor SelectionDispatchAction(IWorkbenchSite |
| site, ISelectionProvider provider)</li> |
| <li>New class</li> |
| <ul> |
| <li>ConvertingSelectionProvider</li> |
| </ul> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td>New API to use the functionality of OverrideMethodsAction and |
| AddUnimplementedConstructorsAction without UI.<br> |
| <ul> |
| <li>New method |
| OverrideMethodsAction.createRunnable(CompilationUnit |
| astRoot, ITypeBinding type, IMethodBinding[] methodToOverride, int |
| insertPos, boolean createComments)</li> |
| <li>New method |
| AddUnimplementedConstructorsAction.createRunnable(CompilationUnit |
| astRoot, |
| ITypeBinding type, IMethodBinding[] methodToOverride, int insertPos, |
| boolean createComments, int visibility, boolean omitSuper)</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td style="vertical-align: top;">New API to get a ImportRewrite |
| configured with the JDT.UI preference settings.<br> |
| <ul> |
| <li>CodeStyleConfiguration.createImportRewrite(...)</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td style="vertical-align: top;">New API on CodeGeneration |
| <ul> |
| <li>CodeGeneration.getTypeBody(...) and constants</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td style="vertical-align: top;">New API on JavaElementLabels |
| <ul> |
| <li>Constants added to show element categories</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td style="vertical-align: top;">New API JarWriter3 |
| <ul> |
| <li>JarWriter3 has been added to create JARs with refactoring scripts</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td style="vertical-align: top;">New API for folding structure provider |
| <ul> |
| <li>IJavaFoldingStructureProviderExtension</li> |
| <li>DefaultJavaFoldingStructureProvider</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td style="vertical-align: top;">New actions added to give access to new functionality |
| <ul> |
| <li>GenerateHashCodeEqualsAction</li> |
| <li>IntroduceIndirectionAction</li> |
| <li>ReplaceInvocationsAction</li> |
| </ul> |
| </td> |
| </tr> |
| <tr> |
| <td style="vertical-align: top;">New API to allow QuickFix and |
| QuickAssist processors to work on (non-jdt.core) problems contributed |
| by reconcile participants.<br> |
| <ul> |
| <li>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.</li> |
| <li>New API added on IProblemLocation: |
| IProblemLocation.getMarkerType() <br> |
| </li> |
| <li>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. <br> |
| </li> |
| </ul> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| <p> </p> |
| </body> |
| </html> |