OSDN Git Service

initial commit
[xdf/git-repos.git] / xdf-swingx / src / main / java / jp / ac / aiit / xdf / component / swingx / SwingXTagReferences.java
1 package jp.ac.aiit.xdf.component.swingx;
2
3 import java.io.File;
4 import java.net.URISyntaxException;
5 import java.net.URL;
6 import java.util.Map;
7
8 import jp.ac.aiit.xdf.application.TagReferences;
9 import jp.ac.aiit.xdf.component.swing.SwingTagReferences;
10 import jp.ac.aiit.xdf.core.exceptions.UnexpectedBehaviorException;
11 import jp.ac.aiit.xdf.core.tags.TagLoader;
12 import jp.ac.aiit.xdf.core.tags.Tagdef.Tag;
13
14 import org.slf4j.Logger;
15 import org.slf4j.LoggerFactory;
16
17 /**
18  * SwingX用のタグセットを提供するクラス
19  * 
20  * @author Shunichi Takagi
21  *
22  */
23 public class SwingXTagReferences implements TagReferences {
24         private static final Logger log = LoggerFactory.getLogger(SwingTagReferences.class);
25         private static final String SWINGX_TAGS = "xdf-swingxtags.xml";
26         
27         @Override
28         public Map<String, Tag> getDefinedTags() {
29                 try {
30                         URL url = ClassLoader.getSystemResource(SWINGX_TAGS);
31                         
32                         TagLoader loader = new TagLoader();
33                         Map<String, Tag> result = loader.load(new File(url.toURI()));
34                         
35                         return result;
36                 } catch(URISyntaxException e) {
37                         log.error("SwingX用タグ定義ファイルがロードできません。", e);
38                         throw new UnexpectedBehaviorException("SwingX用タグ定義ファイルがロードできません。", e);
39                 }
40         }
41
42         @Override
43         public String getReferenceId() {
44                 return "swingx";
45         }
46 }