Files
aston-team-project/docs/tasks/DataSourceUpdate.md
T

82 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Дополнение к техническому заданию: изменение типа `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` использовать требования этого дополнения.
Все остальные требования основного технического задания остаются без изменений.