Kactus2
Kactus2 reference guide
Loading...
Searching...
No Matches
DocumentValidator.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// File: DocumentValidator.h
3//-----------------------------------------------------------------------------
4// Project: Kactus 2
5// Author: Esko Pekkarinen
6// Date: 09.02.2018
7//
8// Description:
9// <Short description of the class/file contents>
10//-----------------------------------------------------------------------------
11
12#ifndef DOCUMENTVALIDATOR_H
13#define DOCUMENTVALIDATOR_H
14
15#include <QSharedPointer>
16#include <QString>
17#include <QVector>
18
19
20#include <IPXACTmodels/AbstractionDefinition/validators/AbstractionDefinitionValidator.h>
21#include <IPXACTmodels/BusDefinition/validators/BusDefinitionValidator.h>
22#include <IPXACTmodels/Catalog/validators/CatalogValidator.h>
23#include <IPXACTmodels/Component/validators/ComponentValidator.h>
24#include <IPXACTmodels/Design/validator/DesignValidator.h>
25#include <IPXACTmodels/DesignConfiguration/validators/DesignConfigurationValidator.h>
26#include <IPXACTmodels/kactusExtensions/validators/SystemDesignConfigurationValidator.h>
27
30
31class Document;
32class AbstractionDefinition;
33class BusDefinition;
34class Catalog;
35class Component;
37class Design;
38class DesignConfiguration;
40
42{
43public:
44
47
49 ~DocumentValidator() = default;
50
51 // Disable copying.
54
55 bool validate(QSharedPointer<Document> document);
56
57 void findErrorsIn(QSharedPointer<Document> document, QVector<QString>& errorList);
58
59
60private:
61
62
68 void changeComponentValidatorParameterFinder(QSharedPointer<Component> targetComponent);
69
70
77 void findErrorsInBusDefinition(QSharedPointer<BusDefinition> busDefinition, QVector<QString>& errorList);
78
85 void findErrorsInAbstractionDefinition(QSharedPointer<AbstractionDefinition> abstraction, QVector<QString>& errorList);
86
93 void findErrorsInComponent(QSharedPointer<Component> component, QVector<QString>& errorList);
94
101 void findErrorsInDesign(QSharedPointer<Design> design, QVector<QString>& errorList);
102
109 void findErrorsInDesignConfiguration(QSharedPointer<DesignConfiguration> configuration,
110 QVector<QString>& errorList);
111
112 //-----------------------------------------------------------------------------
113 // Data.
114 //-----------------------------------------------------------------------------
115
116 LibraryInterface* library_;
117
119 QSharedPointer<ComponentParameterFinder> componentValidatorFinder_{ new ParameterCache(QSharedPointer<Component>()) };
120
122 QSharedPointer<ListParameterFinder> absDefParameterFinder_{ new ListParameterFinder() };
123
125 AbstractionDefinitionValidator abstractionValidator_;
126
128 BusDefinitionValidator busValidator_;
129
131 CatalogValidator catalogValidator_;
132
134 QSharedPointer<ListParameterFinder> designValidatorFinder_{ new ListParameterFinder() };
135
137 DesignValidator designValidator_;
138
140 DesignConfigurationValidator designConfigurationValidator_;
141
143 SystemDesignConfigurationValidator systemDesignConfigurationValidator_;
144};
145
146#endif // DOCUMENTVALIDATOR_H
The implementation for finding parameters with the correct ID.
DocumentValidator(DocumentValidator const &rhs)=delete
void findErrorsIn(QSharedPointer< Document > document, QVector< QString > &errorList)
~DocumentValidator()=default
The destructor.
DocumentValidator(LibraryInterface *library)
The constructor.
DocumentValidator & operator=(DocumentValidator const &rhs)=delete
bool validate(QSharedPointer< Document > document)
LibraryInterface defines an interface to operate the IP-XACT-library.
The implementation for finding parameters from a list with the correct ID.
The cached implementation for finding parameters with the correct ID.