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

Provide backup of SessionItem using json strategy. More...

Inheritance diagram for ModelView::JsonItemBackupStrategy:
[legend]
Collaboration diagram for ModelView::JsonItemBackupStrategy:
[legend]

Classes

struct  JsonItemBackupStrategyImpl
 

Public Member Functions

 JsonItemBackupStrategy (const ItemFactoryInterface *item_factory)
 
 ~JsonItemBackupStrategy () override
 
std::unique_ptr< SessionItemrestoreItem () const override
 Restore item from saved content. More...
 
void saveItem (const SessionItem *item) override
 Save item's content. More...
 

Private Attributes

std::unique_ptr< JsonItemBackupStrategyImplp_impl
 

Detailed Description

Provide backup of SessionItem using json strategy.

Definition at line 28 of file jsonitembackupstrategy.h.

Constructor & Destructor Documentation

◆ JsonItemBackupStrategy()

JsonItemBackupStrategy::JsonItemBackupStrategy ( const ItemFactoryInterface item_factory)

Definition at line 27 of file jsonitembackupstrategy.cpp.

28  : p_impl(std::make_unique<JsonItemBackupStrategyImpl>())
29 {
30  p_impl->m_converter = CreateItemCloneConverter(item_factory);
31 }
std::unique_ptr< JsonItemBackupStrategyImpl > p_impl
std::unique_ptr< JsonItemConverterInterface > CreateItemCloneConverter(const ItemFactoryInterface *item_factory)
Creates JSON item converter intended for item cloning.

References ModelView::CreateItemCloneConverter(), and p_impl.

Here is the call graph for this function:

◆ ~JsonItemBackupStrategy()

JsonItemBackupStrategy::~JsonItemBackupStrategy ( )
overridedefault

Member Function Documentation

◆ restoreItem()

std::unique_ptr< SessionItem > JsonItemBackupStrategy::restoreItem ( ) const
overridevirtual

Restore item from saved content.

Implements ModelView::ItemBackupStrategy.

Definition at line 35 of file jsonitembackupstrategy.cpp.

36 {
37  return p_impl->m_converter->from_json(p_impl->m_json);
38 }

References p_impl.

◆ saveItem()

void JsonItemBackupStrategy::saveItem ( const SessionItem )
overridevirtual

Save item's content.

Implements ModelView::ItemBackupStrategy.

Definition at line 40 of file jsonitembackupstrategy.cpp.

41 {
42  p_impl->m_json = p_impl->m_converter->to_json(item);
43 }

References p_impl.

Member Data Documentation

◆ p_impl

std::unique_ptr<JsonItemBackupStrategyImpl> ModelView::JsonItemBackupStrategy::p_impl
private

Definition at line 39 of file jsonitembackupstrategy.h.

Referenced by JsonItemBackupStrategy(), restoreItem(), and saveItem().


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