82 lines
2.2 KiB
Markdown
82 lines
2.2 KiB
Markdown
|
|
# Дополнение к техническому заданию: изменение типа `recordBookNumber`
|
|||
|
|
|
|||
|
|
Данное дополнение имеет **приоритет над основным ТЗ `DataSource.md`**.
|
|||
|
|
|
|||
|
|
## Изменение модели `Student`
|
|||
|
|
|
|||
|
|
Поле:
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
private final String recordBookNumber;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
заменено на:
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
private final int recordBookNumber;
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Метод:
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
getRecordBookNumber()
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
возвращает `int`.
|
|||
|
|
|
|||
|
|
## Требования к `DataSource`
|
|||
|
|
|
|||
|
|
Во всех реализациях источников данных необходимо учитывать новый тип `recordBookNumber`.
|
|||
|
|
|
|||
|
|
### `ManualDataSource`
|
|||
|
|
|
|||
|
|
`recordBookNumber` должен передаваться как `int`:
|
|||
|
|
|
|||
|
|
```java
|
|||
|
|
setStudent(
|
|||
|
|
int index,
|
|||
|
|
String groupNumber,
|
|||
|
|
double averageGrade,
|
|||
|
|
int recordBookNumber
|
|||
|
|
);
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Строковое значение номера зачётной книжки больше не используется.
|
|||
|
|
|
|||
|
|
### `RandomDataSource`
|
|||
|
|
|
|||
|
|
Для `recordBookNumber` необходимо задавать и генерировать **числовой диапазон**:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
минимальное значение — int
|
|||
|
|
максимальное значение — int
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Генерируемое значение должно быть целым числом и соответствовать ограничениям `Student`.
|
|||
|
|
|
|||
|
|
### `FileDataSource`
|
|||
|
|
|
|||
|
|
В файле `recordBookNumber` должен записываться как целое число.
|
|||
|
|
|
|||
|
|
Формат записи:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
groupNumber;averageGrade;recordBookNumber
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Пример:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
A12;4.75;12345
|
|||
|
|
B32;3.80;12346
|
|||
|
|
C17;4.20;12347
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
При чтении значение необходимо преобразовать в `int` до создания `Student`.
|
|||
|
|
|
|||
|
|
## Приоритет
|
|||
|
|
|
|||
|
|
При противоречии между данным дополнением и основным `DataSource.md` использовать требования этого дополнения.
|
|||
|
|
|
|||
|
|
Все остальные требования основного технического задания остаются без изменений.
|