blob: 9f80963819f41ca4839651ba7cd96149dd3c19d6 [file] [log] [blame]
<!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 &lt;handledMarkerTypes&gt;. 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>