/** * Default implementation of the Nameable service. All methods are
no-ops. * * @since 3.1 */public class NullNameableService implements INameable { /** * Component constructor. Do not invoke directly. */ public NullNameableService() {} public void setName(String newName) {} public void setContentDescription(String contentDescription)
{} public void setImage(ImageDescriptor theImage) {} public void setTooltip(String toolTip) {}}/** * Default implementation of the IMessageDialogs interface. Takes
the part's * control as context and allows the part to open dialogs in a child
shell. * * @since 3.1 */public class DefaultMessageDialogs implements IMessageDialogs { private Composite control; /** * Component constructor. Do not invoke directly. */ public DefaultMessageDialogs(Composite control) { this.control = control; } public void open(IStatus message) { if (message.getSeverity() ==
IStatus.ERROR) { ErrorDialog.openError(control.getShell(),
null, null, message); } else { open(message.getSeverity(),
message.getMessage()); } } public void openError(String message, Throwable cause)
{ open(new Status(IStatus.ERROR,
WorkbenchPlugin.getDefault().getBundle().getSymbolicName(),
IStatus.OK,
message,
cause)); } public void open(int severity, String message) { if (severity == IStatus.ERROR)
{ MessageDialog.openError(control.getShell(),
null, message); } else if (severity == IStatus.WARNING)
{ MessageDialog.openWarning(control.getShell(),
null, message); } else { MessageDialog.openInformation(control.getShell(),
null, message); } }}Di seguito è riportata la markup del punto di estensione per DefaultMessageDialog.
<extension point="org.eclipse.core.component.types"> <component initializer="org.eclipse.ui.part.SiteInitializer" interface="org.eclipse.ui.part.services.IMessageDialogs" implementation="org.eclipse.ui.internal.part.services.DefaultMessageDialogs" singleton="false"/></extension>