1   package com.atlassian.plugins.codegen.modules.jira;
2   
3   import java.util.ArrayList;
4   import java.util.Collections;
5   import java.util.List;
6   
7   import com.atlassian.plugins.codegen.modules.BasicNameModuleProperties;
8   
9   /**
10   * @since 3.6
11   */
12  public class KeyboardShortcutProperties extends BasicNameModuleProperties
13  {
14  
15      public static final String HIDDEN = "HIDDEN";
16      public static final String ORDER = "ORDER";
17      public static final String SHORTCUT = "SHORTCUT";
18      public static final String OPERATION_TYPE = "OPERATION_TYPE";
19      public static final String OPERATION_VALUE = "OPERATION_VALUE";
20      public static final String CONTEXT = "CONTEXT";
21  
22      public static final List<String> ALLOWED_CONTEXTS = initContexts();
23      public static final List<String> ALLOWED_OPERATIONS = initOperations();
24  
25      private static List<String> initContexts()
26      {
27          List<String> contexts = new ArrayList<String>(3);
28          contexts.add("global");
29          contexts.add("issueaction");
30          contexts.add("issuenavigation");
31  
32          return Collections.unmodifiableList(contexts);
33      }
34  
35      private static List<String> initOperations()
36      {
37          List<String> operations = new ArrayList<String>();
38          operations.add("click");
39          operations.add("evaluate");
40          operations.add("execute");
41          operations.add("followLink");
42          operations.add("goTo");
43          operations.add("moveToAndClick");
44          operations.add("moveToAndFocus");
45          operations.add("moveToNextItem");
46          operations.add("moveToPrevItem");
47  
48          return Collections.unmodifiableList(operations);
49      }
50  
51      public KeyboardShortcutProperties()
52      {
53          this("My Keyboard Shortcut");
54      }
55  
56      public KeyboardShortcutProperties(String moduleName)
57      {
58          super(moduleName);
59          setHidden(false);
60          setOrder(10);
61          setContext("global");
62      }
63  
64      public void setHidden(boolean hidden)
65      {
66          setProperty(HIDDEN, Boolean.toString(hidden));
67      }
68  
69      public boolean isHidden()
70      {
71          return Boolean.valueOf(getProperty(HIDDEN));
72      }
73  
74      public void setOrder(int order)
75      {
76          setProperty(ORDER, Integer.toString(order));
77      }
78  
79      public String getOrder()
80      {
81          return getProperty(ORDER);
82      }
83  
84      public int getOrderAsInt()
85      {
86          return Integer.parseInt(getProperty(ORDER));
87      }
88  
89      public void setShortcut(String s)
90      {
91          setProperty(SHORTCUT, s);
92      }
93  
94      public String getShortcut()
95      {
96          return getProperty(SHORTCUT);
97      }
98  
99      public void setContext(String s)
100     {
101         setProperty(CONTEXT, s);
102     }
103 
104     public String getContext()
105     {
106         return getProperty(CONTEXT);
107     }
108 
109     public void setOperationType(String s)
110     {
111         setProperty(OPERATION_TYPE, s);
112     }
113 
114     public String getOperationType()
115     {
116         return getProperty(OPERATION_TYPE);
117     }
118 
119     public void setOperationValue(String s)
120     {
121         setProperty(OPERATION_VALUE, s);
122     }
123 
124     public String getOperationValue()
125     {
126         return getProperty(OPERATION_VALUE);
127     }
128 }