]> git.uio.no Git - ifi-stolz-refaktor.git/blobdiff - case-study/refaktor-after/src/no/uio/ifi/refaktor/contributions/SaferRefactoringContribution.java
Case Study: adding data and statistics
[ifi-stolz-refaktor.git] / case-study / refaktor-after / src / no / uio / ifi / refaktor / contributions / SaferRefactoringContribution.java
diff --git a/case-study/refaktor-after/src/no/uio/ifi/refaktor/contributions/SaferRefactoringContribution.java b/case-study/refaktor-after/src/no/uio/ifi/refaktor/contributions/SaferRefactoringContribution.java
new file mode 100644 (file)
index 0000000..232eca7
--- /dev/null
@@ -0,0 +1,44 @@
+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);
+       }
+}