1 using System.Collections.Generic;
\r
2 using System.Data.SQLite;
\r
3 using com.andoutomo.kybernetes.data.connection;
\r
4 using com.andoutomo.kybernetes.data.DAO;
\r
7 namespace com.andoutomo.kybernetes.data.accessor
\r
9 public class CommandDataAccessor
\r
12 private static CommandDataAccessor accessor;
\r
13 private CommandDataAccessor()
\r
16 public static CommandDataAccessor getObject
\r
20 if (accessor == null)
\r
22 accessor = new CommandDataAccessor();
\r
31 /// DBテーブル"tbl_command"から、呼び出すクラス名を取得する
\r
33 /// <param name="commandStr">呼び出したコマンド(引数は別)</param>
\r
34 /// <returns>コマンドデータ</returns>
\r
35 public CommandData getCommandData(string commandStr)
\r
37 CommandData result = null;
\r
38 List<object> list = new List<object>();
\r
39 list.Add(commandStr);
\r
40 SettingDBConnection.Connection.selectData(CommandSqlDictionary.getCommand, list,
\r
41 (SQLiteDataReader reader) =>
\r
43 if (reader.HasRows != false)
\r
45 result = new CommandData();
\r
47 result.TargetClass = reader["TARGETCLASS"].ToString();
\r
48 result.ArgClass = reader["ARGCLASS"].ToString();
\r
49 result.CmdStr = commandStr;
\r
55 public List<HelpData> getAllHelp()
\r
57 List<HelpData> allHelp = new List<HelpData>();
\r
58 SettingDBConnection.Connection.selectData(CommandSqlDictionary.HELPALL, new List<object>(),
\r
59 (SQLiteDataReader reader)=>{
\r
60 while (reader.Read())
\r
62 HelpData data = new HelpData(reader["CMDSTR"].ToString(), reader["SUMMARY"].ToString());
\r
69 /// 個別コマンドのヘルプを出力します。
\r
71 /// <param name="cmdStr"></param>
\r
72 /// <returns></returns>
\r
73 public HelpData getHelpData(string cmdStr)
\r
75 List<object> parameters = new List<object>();
\r
76 parameters.Add(cmdStr);
\r
77 HelpData retVal =null;
\r
78 SettingDBConnection.Connection.selectData(CommandSqlDictionary.getHelp, parameters,
\r
79 (SQLiteDataReader reader) =>
\r
84 retVal = new HelpData(
\r
85 reader["CMDSTR"].ToString(),
\r
86 reader["SUMMARY"].ToString(),
\r
87 reader["Detail"].ToString());
\r
93 /// そのコマンドに紐づくアライアスを抽出します。
\r
95 /// <param name="cmdStr"></param>
\r
96 /// <returns></returns>
\r
97 public string getAlies(string cmdStr)
\r
99 List<object> parameters = new List<object>();
\r
100 parameters.Add(cmdStr);
\r
101 string retStr = string.Empty;
\r
103 SettingDBConnection.Connection.selectData(CommandSqlDictionary.getLink, parameters,
\r
104 (SQLiteDataReader reader) =>
\r
106 while (reader.Read())
\r
108 if (string.IsNullOrEmpty(retStr))
\r
110 retStr += reader["link_command"].ToString();
\r
114 retStr += "," + reader["link_command"].ToString();
\r
121 /// コマンド用のdllリストを抽出します。
\r
123 /// <returns></returns>
\r
124 public List<SimpleDataBean> getDllList()
\r
126 List<SimpleDataBean> retData = new List<SimpleDataBean>();
\r
127 SettingDBConnection.Connection.selectData("SELECT LIB_NAME FROM TBL_DLL",
\r
128 (SQLiteDataReader reader) =>
\r
130 while (reader.Read())
\r
132 retData.Add(new SimpleDataBean(reader["LIB_NAME"].ToString()));
\r