1 4 package org.terracotta.dso.actions; 5 6 import org.eclipse.jdt.core.IJavaElement; 7 import org.eclipse.jdt.core.IJavaProject; 8 import org.eclipse.jdt.core.IPackageFragment; 9 import org.eclipse.jdt.core.IType; 10 import org.terracotta.dso.ConfigurationHelper; 11 import org.terracotta.dso.TcPlugin; 12 13 16 17 public class AdaptableAction extends BaseAction { 18 public AdaptableAction() { 19 super("Instrumented", AS_CHECK_BOX); 20 } 21 22 25 public void setJavaElement(IJavaElement element) { 26 if(!(element instanceof IType || 27 element instanceof IPackageFragment || 28 element instanceof IJavaProject)) 29 { 30 throw new IllegalArgumentException ( 31 "Java element must be IType, IPackageFragment, or IJavaProject"); 32 } 33 34 super.setJavaElement(element); 35 36 if(element instanceof IType) { 37 IType type = (IType)element; 38 boolean isBootClass = TcPlugin.getDefault().isBootClass(type); 39 40 setEnabled(!isBootClass); 41 setChecked(isBootClass || getConfigHelper().isAdaptable(type)); 42 } 43 else { 44 setChecked(getConfigHelper().isAdaptable(element)); 45 } 46 } 47 48 public void performAction() { 49 ConfigurationHelper helper = getConfigHelper(); 50 51 if(isChecked()) { 52 helper.ensureAdaptable(m_element); 53 } 54 else { 55 helper.ensureNotAdaptable(m_element); 56 } 57 58 inspectCompilationUnit(); 59 } 60 } 61 | Popular Tags |