6#include <QtCore/QJsonObject>
7#include <QtCore/QJsonArray>
8#include <QtCore/QJsonValue>
9#include <QtCore/QString>
10#include <QtCore/QList>
13#include <imtoas/CProperty.h>
33 [[nodiscard]] QString GetId()
const;
34 void SetId(
const QString&
id);
36 [[nodiscard]] QString GetType()
const;
37 void SetType(
const QString& type);
39 [[nodiscard]] QList<QString> GetRequiredProperties()
const;
40 void SetRequiredProperties(
const QList<QString>& requiredPropertyList);
42 [[nodiscard]] QList<CProperty> GetProperties()
const;
43 void SetProperties(
const QList<CProperty>& properties);
45 [[nodiscard]] QList<QString> GetEnumValues()
const;
46 void SetEnumValues(
const QList<QString>& enumValues);
48 [[nodiscard]] CombineType GetCombineType()
const;
49 void SetCombineType(CombineType combineType);
51 [[nodiscard]] QList<CProperty> GetCombineProperties()
const;
52 void SetCombineProperties(
const QList<CProperty>& combineProperties);
54 [[nodiscard]]
static bool ReadFromJsonObject(CSchema&
object,
const QJsonObject& jsonObject,
const QJsonObject& globalObject);
56 bool operator==(
const CSchema& other)
const;
57 bool operator!=(
const CSchema& other)
const {
return !(operator==(other)); }
62 QList<QString> m_requiredProperties;
63 QList<CProperty> m_properties;
64 QList<QString> m_enumValues;
65 CombineType m_combineType;
66 QList<CProperty> m_combineProperties;
73Q_DECLARE_METATYPE(imtoas::CSchema);