Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Howto: Register Refactoring Support

Revision as of 08:09, 3 June 2008 by Unnamed Poltroon (Talk)

< To: Tigerstripe_APIs

Introduction

Some of the annotated objects URI can be changed (for example, annotated resource can be moved to another place and its path used for annotation URI will be changed). To solve this problem Annotation Framework supports annotated object refactoring. From the Annotation Framework side - refactoring is an operation which change one URI to another. To inform framework about refactoring changes we need to use org.eclipse.tigerstripe.annotation.core.IRefactoringSupport with the following methods:

  • deleted(URI uri) - notify framework about object with the passed URI deleted;
  • changed(URI newUri, URI oldUri) - notify framework about object's URI changed to another one;

Examples

Eclipse 3.3

You can found both Java and Resource refactoring support example in the org.eclipse.tigerstripe.annotation.java.ui.refactoring plugin:


protected void changed(Map<URI, URI> uris) { //inform annotation framework about changes for (URI uri : uris.keySet()) AnnotationPlugin.getManager().getRefactoringSupport().changed(uri, uris.get(uri)); } public void deleted(ILazyObject object) { IResource resource = getResource(object); if (resource != null) { URI uri = ResourceURIConverter.toURI(resource); if (uri != null) AnnotationPlugin.getManager().getRefactoringSupport().deleted(uri); } }

As you see, to support refactoring all what you need is convert object to URI and notify annotation framework (Using AnnotationPlugin.getManager().getRefactoringSupport()) about your changes.

Eclipse 3.4

In the Eclipse 3.4 refactoring didn't completely supported yet because of several concept changes in the LTK framework.

Back to the top