InterfaceSpecification » 履歴 » バージョン 16

バージョン 15 (MIYAZAKI Masafumi, 2015/05/05 14:26) → バージョン 16/25 (MIYAZAKI Masafumi, 2015/05/05 14:35)

h1. インタフェース仕様

----

{{>toc}}

h2. Questionクラス

一つ一つの "問題" に相当するクラス。

h3. プロパティ

| 名前 | 型 | 説明 |
| id | int | 問題の識別子 |
| question | stirng | 問題文 |
| correctAnswers | array<string> | 正解となる選択肢群。配列形式。 |
| incorrectAnswers | array<string> | 不正解となる選択肢群。配列形式。 |

h3. メソッド

| 名前 | 応答値 | 引数 | 説明 |
| アクセサ | * | * | 各プロパティに対するgetter/setter。{"get" or "set"} + UpperCamelCase(プロパティ名)。 |
| isCorrect | bool | string | 指定した文字列が正解群(correctAnswers)に含まれるか否かの真偽値を応答する。 |
| getCorrectAnswersInJSON | string | なし | 正解群をJSON配列形式で応答する。ex) ["answer1", "answer2", "answer3"] |
| getIncorrectAnswersInJSON | string | なし | 不正解群をJSON配列形式で応答する。ex) ["answer1", "answer2", "answer3"] |

----

h2. WhiskyExaminationDBクラス QuestionDBクラス

データベースのアクセサを提供するクラス。

h3. メソッド

| 関数名 | 応答値 | 引数 | 説明 |
| getNumberOfQuestions | int 総問題数 | なし | 現在の総問題数を応答する。 |
| getQuestion | Question | なし | 問題を1つランダムに取り出し、応答する。 |
| getQuestionById | Question | int 問題の識別子 | 指定した識別子の問題を取り出し、応答する。 |
| getQuestions | array<Question> | int 問題数 | 指定した個数の問題をランダムに取り出し、配列形式で応答する。(※1参照) |
| setQuestion | int 登録/更新時の問題の識別子(=id) | Question 問題 | 指定した問題を登録する。(※2参照) |

※1.
 問題は重複しないものとする。
 ただし、引数に指定された問題数が総問題数を上回る場合は問題の重複を許し、指定数分の問題を応答する。
※2.
 idが既存の場合は、当該idの問題に対して問題文/正解群/不正解群を上書きし、当該idを応答する。
 idが既存でない場合は、当該idを無視して新規登録を行ない、新規登録時のidを応答する。