Бібліотечна система
Бібліотечна система для управління книгами
Завантаження...
Пошук...
Нічого не знайдено
Файл Book.cpp

Реалізація класу Book для представлення інформації про книгу Детальніше...

#include "Book.hpp"
#include <nlohmann/json.hpp>
#include <ranges>
#include <regex>
#include "CustomExceptions.hpp"
#include "Utils.hpp"
Діаграма включених заголовочних файлів для Book.cpp:

Функції

template<typename T >
processJsonField (const nlohmann::json &jsonData, const std::string &fieldName, T defaultValue)
 Універсальний метод для обробки значення поля з JSON з перевіркою типу
 

Детальний опис

Реалізація класу Book для представлення інформації про книгу

Клас Book надає функціонал для роботи з основними атрибутами книги:

  • Назва (обов'язковий атрибут)
  • Унікальний ідентифікатор
  • Міжнародний стандартний номер книги (ISBN)
  • Видавець
  • Кількість сторінок
  • Рік видання
  • Список авторів

Опис функцій

◆ processJsonField()

template<typename T >
T processJsonField ( const nlohmann::json &  jsonData,
const std::string &  fieldName,
defaultValue 
)

Універсальний метод для обробки значення поля з JSON з перевіркою типу

Параметри шаблона
TТип даних, який очікується (std::string або int)
Аргументи
jsonDataJSON об'єкт для обробки
fieldNameНазва поля, яке потрібно отримати
defaultValueЗначення за замовчуванням, яке повертається якщо поле відсутнє або null
Повертає
Значення поля у вказаному типі T
Обробка виняткових ситуацій
InvalidDataExceptionЯкщо тип даних у JSON не відповідає очікуваному типу T
Нотатки
Підтримує автоматичне перетворення між string та int у обох напрямках