Krita Source Code Documentation
Loading...
Searching...
No Matches
KisMetaData::Validator Class Reference

#include <kis_meta_data_validator.h>

Classes

class  Reason
 

Public Member Functions

int countInvalidEntries () const
 
int countValidEntries () const
 
const QMap< QString, Reason > & invalidEntries () const
 
void revalidate ()
 
 Validator (const Store *)
 
 ~Validator ()
 

Private Attributes

Private *const d
 

Detailed Description

This class contains information on the validation results of a KisMetaData::Store .

Definition at line 21 of file kis_meta_data_validator.h.

Constructor & Destructor Documentation

◆ Validator()

Validator::Validator ( const Store * store)

Validate a store. This constructor will call the revalidate function.

Definition at line 58 of file kis_meta_data_validator.cc.

58 : d(new Private)
59{
60 d->store = store;
61 revalidate();
62}

References d, and revalidate().

◆ ~Validator()

Validator::~Validator ( )

Definition at line 64 of file kis_meta_data_validator.cc.

65{
66 delete d;
67}

References d.

Member Function Documentation

◆ countInvalidEntries()

int Validator::countInvalidEntries ( ) const

Definition at line 92 of file kis_meta_data_validator.cc.

93{
94 return d->invalidEntries.size();
95}

References d.

◆ countValidEntries()

int KisMetaData::Validator::countValidEntries ( ) const

◆ invalidEntries()

const QMap< QString, Reason > & KisMetaData::Validator::invalidEntries ( ) const

◆ revalidate()

void Validator::revalidate ( )

Call this function to revalidate the store.

Definition at line 69 of file kis_meta_data_validator.cc.

70{
71 QList<Entry> entries = d->store->entries();
72 d->countValidEntries = 0;
73 d->invalidEntries.clear();
74 Q_FOREACH (const Entry& entry, entries) {
75 const TypeInfo* typeInfo = entry.schema()->propertyType(entry.name());
76 if (typeInfo) {
77 if (typeInfo->hasCorrectType(entry.value())) {
78 if (typeInfo->hasCorrectValue(entry.value())) {
79 ++d->countValidEntries;
80 } else {
81 d->invalidEntries[entry.qualifiedName()] = Reason(Reason::INVALID_VALUE);
82 }
83 } else {
84 d->invalidEntries[entry.qualifiedName()] = Reason(Reason::INVALID_TYPE);
85 }
86 } else {
87 d->invalidEntries[entry.qualifiedName()] = Reason(Reason::UNKNOWN_ENTRY);
88 }
89 }
90}
const TypeInfo * propertyType(const QString &_propertyName) const
const Schema * schema

References d, KisMetaData::TypeInfo::hasCorrectType(), KisMetaData::TypeInfo::hasCorrectValue(), KisMetaData::Validator::Reason::INVALID_TYPE, KisMetaData::Validator::Reason::INVALID_VALUE, KisMetaData::Entry::name(), KisMetaData::Schema::propertyType(), KisMetaData::Entry::qualifiedName(), KisMetaData::Entry::schema(), KisMetaData::Validator::Reason::UNKNOWN_ENTRY, and KisMetaData::Entry::value().

Member Data Documentation

◆ d

Private* const KisMetaData::Validator::d
private

Definition at line 61 of file kis_meta_data_validator.h.


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