BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
ModelView::JsonItemFormatAssistant Class Reference

Utility class to determine, whether given JSON object can represent various parts of SessionModel. More...

Public Member Functions

bool isSessionItem (const QJsonObject &json) const
 Returns true if given json object represents SessionItem. More...
 
bool isSessionItemContainer (const QJsonObject &json) const
 Returns true if given json object represents SessionItemContainer. More...
 
bool isSessionItemData (const QJsonObject &json) const
 
bool isSessionItemTags (const QJsonObject &json) const
 Returns true if given json object represents SessionItemTags. More...
 
bool isSessionModel (const QJsonObject &object) const
 Returns true if given json object represents SessionModel. More...
 

Static Public Attributes

static const QString containerKey = "containers"
 
static const QString defaultTagKey = "defaultTag"
 
static const QString itemDataKey = "itemData"
 
static const QString itemsKey = "items"
 
static const QString itemTagsKey = "itemTags"
 
static const QString modelKey = "model"
 
static const QString roleKey = "role"
 
static const QString sessionModelKey = "sessionmodel"
 
static const QString tagInfoKey = "tagInfo"
 
static const QString variantKey = "variant"
 
static const QString versionKey = "version"
 

Detailed Description

Utility class to determine, whether given JSON object can represent various parts of SessionModel.

It is made a class (and not a set of free functions) to allow different formats in the future.

Definition at line 30 of file jsonitemformatassistant.h.

Member Function Documentation

◆ isSessionItem()

bool JsonItemFormatAssistant::isSessionItem ( const QJsonObject &  json) const

Returns true if given json object represents SessionItem.

Definition at line 72 of file jsonitemformatassistant.cpp.

73 {
74  static const QStringList expected = expected_item_keys();
75 
76  if (json.keys() != expected)
77  return false;
78 
79  if (!json[itemDataKey].isArray())
80  return false;
81 
82  if (!json[itemTagsKey].isObject())
83  return false;
84 
85  return true;
86 }

References itemDataKey, and itemTagsKey.

Referenced by ModelView::JsonItemConverter::from_json(), and TEST_F().

◆ isSessionItemContainer()

bool JsonItemFormatAssistant::isSessionItemContainer ( const QJsonObject &  json) const

Returns true if given json object represents SessionItemContainer.

Definition at line 111 of file jsonitemformatassistant.cpp.

112 {
113  static const QStringList expected = expected_itemcontainer_keys();
114 
115  if (json.keys() != expected)
116  return false;
117 
118  if (!json[tagInfoKey].isObject())
119  return false;
120 
121  if (!json[itemsKey].isArray())
122  return false;
123 
124  return true;
125 }

References itemsKey, and tagInfoKey.

Referenced by ModelView::JsonItemContainerConverter::from_json(), and TEST_F().

◆ isSessionItemData()

bool JsonItemFormatAssistant::isSessionItemData ( const QJsonObject &  json) const

Definition at line 88 of file jsonitemformatassistant.cpp.

89 {
90  static const QStringList expected = expected_itemdata_keys();
91  return json.keys() == expected;
92 }

Referenced by ModelView::JsonItemDataConverter::from_json(), and TEST_F().

◆ isSessionItemTags()

bool JsonItemFormatAssistant::isSessionItemTags ( const QJsonObject &  json) const

Returns true if given json object represents SessionItemTags.

Definition at line 96 of file jsonitemformatassistant.cpp.

97 {
98  static const QStringList expected = expected_tags_keys();
99 
100  if (json.keys() != expected)
101  return false;
102 
103  if (!json[containerKey].isArray())
104  return false;
105 
106  return true;
107 }

References containerKey.

Referenced by ModelView::JsonItemTagsConverter::from_json(), and TEST_F().

◆ isSessionModel()

bool JsonItemFormatAssistant::isSessionModel ( const QJsonObject &  object) const

Returns true if given json object represents SessionModel.

Definition at line 129 of file jsonitemformatassistant.cpp.

130 {
131  static const QStringList expected = expected_sessionmodel_keys();
132 
133  if (object.keys() != expected)
134  return false;
135 
136  if (!object[itemsKey].isArray())
137  return false;
138 
139  return true;
140 }

References itemsKey.

Referenced by ModelView::JsonModelConverter::from_json(), and TEST_F().

Member Data Documentation

◆ containerKey

◆ defaultTagKey

◆ itemDataKey

◆ itemsKey

◆ itemTagsKey

◆ modelKey

◆ roleKey

const QString ModelView::JsonItemFormatAssistant::roleKey = "role"
inlinestatic

◆ sessionModelKey

const QString ModelView::JsonItemFormatAssistant::sessionModelKey = "sessionmodel"
inlinestatic

◆ tagInfoKey

◆ variantKey

const QString ModelView::JsonItemFormatAssistant::variantKey = "variant"
inlinestatic

◆ versionKey

const QString ModelView::JsonItemFormatAssistant::versionKey = "version"
inlinestatic

Definition at line 40 of file jsonitemformatassistant.h.


The documentation for this class was generated from the following files: