--- /dev/null
+package no.uio.ifi.refaktor.contributions;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import no.uio.ifi.refaktor.descriptors.SaferRefactoringDescriptor;
+
+import org.eclipse.jdt.core.IMethod;
+import org.eclipse.ltk.core.refactoring.RefactoringContribution;
+import org.eclipse.ltk.core.refactoring.RefactoringDescriptor;
+
+public class SaferRefactoringContribution extends RefactoringContribution {
+
+ private IMethod method;
+
+ public RefactoringDescriptor createDescriptor(IMethod method) {
+ setMethod(method);
+ return createDescriptor();
+ }
+
+ public void setMethod(IMethod method) {
+ this.method = method;
+ }
+
+ @Override
+ public RefactoringDescriptor createDescriptor() {
+ return createDescriptor(
+ SaferRefactoringDescriptor.REFACTORING_ID,
+ "examples",
+ "This is a description",
+ "This is a comment",
+ new HashMap<String, String>(),
+ RefactoringDescriptor.STRUCTURAL_CHANGE | RefactoringDescriptor.MULTI_CHANGE
+ );
+ }
+
+ @Override
+ public RefactoringDescriptor createDescriptor(String id, String project,
+ String description, String comment, @SuppressWarnings("rawtypes") Map arguments, int flags)
+ throws IllegalArgumentException {
+ assert this.method != null;
+ return new SaferRefactoringDescriptor(id, project, description, comment, arguments, flags, this.method);
+ }
+}