KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > terracotta > dso > actions > NameLockedAction


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package org.terracotta.dso.actions;
5
6 import org.eclipse.jdt.core.IJavaElement;
7 import org.eclipse.jface.dialogs.IDialogConstants;
8 import org.eclipse.swt.widgets.Event;
9 import org.eclipse.swt.widgets.Shell;
10 import org.terracotta.dso.dialogs.LockAttributesDialog;
11
12 import com.terracottatech.config.LockLevel;
13
14 /**
15  * Marks the currently selected method as being name-locked.
16  * Creates a default name based on the simple name of the method and
17  * sets the lock-type to WRITE.
18  *
19  * @see org.eclipse.jdt.core.IMethod
20  * @see BaseAction
21  * @see org.terracotta.dso.ConfigurationHelper.isNameLocked
22  * @see org.terracotta.dso.ConfigurationHelper.ensureNameLocked
23  * @see org.terracotta.dso.ConfigurationHelper.ensureNotNameLocked
24  */

25  
26 public class NameLockedAction extends BaseAction {
27   public NameLockedAction() {
28     super("Name Locked", AS_CHECK_BOX);
29   }
30   
31   public void setJavaElement(IJavaElement element) {
32     super.setJavaElement(element);
33     setChecked(getConfigHelper().isNameLocked(element));
34   }
35   
36   public void performAction(Event event) {
37     if(isChecked()) {
38       Shell shell = ActionUtil.findSelectedEditorPart().getSite().getShell();
39       LockAttributesDialog dialog = new LockAttributesDialog(shell, m_element);
40             
41       if(dialog.open() != IDialogConstants.OK_ID) {
42         return;
43       }
44
45       String JavaDoc name = dialog.getLockName();
46       LockLevel.Enum level = dialog.getLockLevel();
47         
48       getConfigHelper().ensureNameLocked(m_element, name, level);
49     }
50     else {
51       getConfigHelper().ensureNotNameLocked(m_element);
52     }
53
54     inspectCompilationUnit();
55   }
56 }
57
Popular Tags