1 /*
2 * Copyright 2004-2008 the Seasar Foundation and the Others.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13 * either express or implied. See the License for the specific language
14 * governing permissions and limitations under the License.
15 */
16 package org.seasar.uruma.rcp.configuration.elements;
17
18 import org.seasar.uruma.annotation.ConfigurationAttribute;
19 import org.seasar.uruma.rcp.configuration.ConfigurationElement;
20 import org.seasar.uruma.util.AssertionUtil;
21
22 /**
23 * <code>key</code> 要素のための {@link ConfigurationElement} です。<br />
24 *
25 * @author y-komori
26 * @see <a
27 * href="http://help.eclipse.org/help33/topic/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_ui_bindings.html#e.key"
28 * >key</a>
29 */
30 public class KeyElement extends AbstractConfigurationElement {
31 /**
32 * 要素名です。<br />
33 */
34 public static final String ELEMENT_NAME = "key";
35
36 /**
37 * キーシーケンスです。<br />
38 */
39 @ConfigurationAttribute(required = true)
40 public String sequence;
41
42 /**
43 * スキーム ID です。<br />
44 */
45 @ConfigurationAttribute(required = true)
46 public String schemeId;
47
48 /**
49 * コンテクスト ID です。<br />
50 */
51 @ConfigurationAttribute(required = true)
52 public String contextId;
53
54 /**
55 * コマンド ID です。<br />
56 */
57 @ConfigurationAttribute
58 public String commandId;
59
60 /**
61 * キーバインディングを適用するプラットフォームです。<br />
62 */
63 @ConfigurationAttribute
64 public String platform;
65
66 /**
67 * キーバインディングを適用するロケールです。<br />
68 */
69 @ConfigurationAttribute
70 public String locale;
71
72 /**
73 * {@link KeyElement} を構築します。<br />
74 *
75 * @param sequence
76 * キーシーケンス
77 * @param schemeId
78 * スキームID
79 * @param contextId
80 * コンテクスト ID
81 */
82 public KeyElement(final String sequence, final String schemeId, final String contextId) {
83 super();
84 AssertionUtil.assertNotNull("sequence", sequence);
85 AssertionUtil.assertNotNull("schemeId", schemeId);
86 this.sequence = sequence;
87 this.schemeId = schemeId;
88 this.contextId = contextId;
89 }
90 }