View Javadoc

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>command</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_commands.html#e.command">command</a>
28   */
29  public class CommandElement extends AbstractConfigurationElement {
30      /**
31       * 要素名です。<br />
32       */
33      public static final String ELEMENT_NAME = "command";
34  
35      /**
36       * コマンドの詳細説明です。<br />
37       */
38      @ConfigurationAttribute
39      public String description;
40  
41      /**
42       * コマンドの ID です。<br />
43       */
44      @ConfigurationAttribute(required = true)
45      public String id;
46  
47      /**
48       * コマンドの名称です。<br />
49       */
50      @ConfigurationAttribute(required = true)
51      public String name;
52  
53      /**
54       * コマンドのカテゴリ ID です。<br />
55       */
56      @ConfigurationAttribute
57      public String categoryId;
58  
59      /**
60       * コマンドのデフォルトハンドラです。<br />
61       */
62      @ConfigurationAttribute
63      public String defaultHandler;
64  
65      /**
66       * コマンドの戻り値 ID です。<br />
67       */
68      @ConfigurationAttribute
69      public String returnTypeId;
70  
71      /**
72       * コマンドのヘルプコンテクスト ID です。<br />
73       */
74      @ConfigurationAttribute
75      public String helpContextId;
76  
77      /**
78       * {@link CommandElement} を構築します。<br />
79       * 
80       * @param id
81       *            コマンド ID
82       * @param name
83       *            コマンド名称
84       */
85      public CommandElement(final String id, final String name) {
86          super();
87  
88          AssertionUtil.assertNotNull("id", id);
89          AssertionUtil.assertNotNull("name", name);
90  
91          this.id = id;
92          this.name = name;
93      }
94  }