+++ /dev/null
-using com.andoutomo.kybernetes.view;\r
-using com.andoutomo.kybernetes.control;\r
-\r
-namespace com.andoutomo.kybernetes.command\r
-{\r
- abstract class AbCommand\r
- {\r
- protected abstract bool execute();\r
-\r
-\r
- protected abstract string turnMessage();\r
- protected abstract string turnErrorMessage();\r
- protected abstract string turnSplitErrorMessage();\r
-\r
- protected BaseForm form;\r
- protected CommandArg argument;\r
-\r
-\r
- /// <summary>\r
- /// 処理を実行する<br />\r
- /// 各継承先クラスで指定された、splitArguments及び\r
- /// executeを呼び出す。\r
- /// </summary>\r
- /// <param name="_args">呼び出す前に指定された引数(コマンドラインからなので、それを受け取る)</param>\r
- /// <param name="_form">フォーム情報。ここからフォームを操作できるようにします。</param>\r
- /// <returns></returns>\r
- internal bool run(CommandArg _args,BaseForm _form)\r
- {\r
- KybernetesLogger.Log.debug("run start on " + this.GetType().ToString());\r
- if (_args.getSplitResult() == false)\r
- {\r
- KybernetesLogger.Log.debug("split failed at " + _args.GetType().ToString());\r
- message = turnSplitErrorMessage();\r
- return false;\r
- }\r
-\r
- this.argument = _args;\r
- this.form = _form;\r
-\r
- if (execute())\r
- {\r
- message = turnMessage();\r
- KybernetesLogger.Log.debug("run success on " + this.GetType().ToString());\r
- KybernetesLogger.Log.debug("message:" + message);\r
- return true;\r
- }\r
- else\r
- {\r
- message = turnErrorMessage();\r
- KybernetesLogger.Log.debug("run failure on " + this.GetType().ToString());\r
- KybernetesLogger.Log.debug("message:" + message);\r
-\r
- return false;\r
- }\r
- }\r
-\r
- private string message;\r
-\r
- \r
- /// <summary>\r
- /// 処理完了後のメッセージを呼び出し元に返す。\r
- /// </summary>\r
- /// <returns>メッセージ</returns>\r
- internal string getMessage()\r
- {\r
- return message;\r
- }\r
-\r
- protected ErrorType errorType\r
- {\r
- private get;\r
- set;\r
- }\r
-\r
- protected string DefaultErrorMessage\r
- {\r
- get\r
- {\r
- string errorMessage;\r
- switch(errorType){\r
- case ErrorType.DataNotFound:\r
- errorMessage = "対象データが見つかりません。";\r
- break;\r
- case ErrorType.Unexpected:\r
- default:\r
- errorMessage = "予期せぬエラーが発生いたしました。";\r
- break;\r
-\r
- }\r
- return errorMessage;\r
- \r
- }\r
- }\r
- protected string DefaultSplitErrorMessage\r
- {\r
- get { return "無効なパラメータです。"; }\r
- }\r
- protected string DefaultNormalMessage\r
- {\r
- get { return "> ";}\r
- }\r
-\r
- }\r
- internal enum ErrorType\r
- {\r
- Unexpected,\r
- DataNotFound,\r
-\r
- }\r
-}\r