Seamly2D
Code documentation
vexceptionemptyparameter.h
Go to the documentation of this file.
1 /***************************************************************************
2  * *
3  * Copyright (C) 2017 Seamly, LLC *
4  * *
5  * https://github.com/fashionfreedom/seamly2d *
6  * *
7  ***************************************************************************
8  **
9  ** Seamly2D is free software: you can redistribute it and/or modify
10  ** it under the terms of the GNU General Public License as published by
11  ** the Free Software Foundation, either version 3 of the License, or
12  ** (at your option) any later version.
13  **
14  ** Seamly2D is distributed in the hope that it will be useful,
15  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
16  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  ** GNU General Public License for more details.
18  **
19  ** You should have received a copy of the GNU General Public License
20  ** along with Seamly2D. If not, see <http://www.gnu.org/licenses/>.
21  **
22  **************************************************************************
23 
24  ************************************************************************
25  **
26  ** @file vexceptionemptyparameter.h
27  ** @author Roman Telezhynskyi <dismine(at)gmail.com>
28  ** @date November 15, 2013
29  **
30  ** @brief
31  ** @copyright
32  ** This source code is part of the Valentine project, a pattern making
33  ** program, whose allow create and modeling patterns of clothing.
34  ** Copyright (C) 2013-2015 Seamly2D project
35  ** <https://github.com/fashionfreedom/seamly2d> All Rights Reserved.
36  **
37  ** Seamly2D is free software: you can redistribute it and/or modify
38  ** it under the terms of the GNU General Public License as published by
39  ** the Free Software Foundation, either version 3 of the License, or
40  ** (at your option) any later version.
41  **
42  ** Seamly2D is distributed in the hope that it will be useful,
43  ** but WITHOUT ANY WARRANTY; without even the implied warranty of
44  ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
45  ** GNU General Public License for more details.
46  **
47  ** You should have received a copy of the GNU General Public License
48  ** along with Seamly2D. If not, see <http://www.gnu.org/licenses/>.
49  **
50  *************************************************************************/
51 
52 #ifndef VEXCEPTIONEMPTYPARAMETER_H
53 #define VEXCEPTIONEMPTYPARAMETER_H
54 
55 #include <qcompilerdetection.h>
56 #include <QString>
57 #include <QtGlobal>
58 
59 #include "../ifcdef.h"
60 #include "vexception.h"
61 
62 class QDomElement;
63 
64 /**
65  * @brief The VExceptionEmptyParameter class for exception empty parameter
66  */
68 {
69 public:
70  VExceptionEmptyParameter(const QString &what, const QString &name, const QDomElement &domElement);
73  virtual ~VExceptionEmptyParameter() V_NOEXCEPT_EXPR (true) Q_DECL_EQ_DEFAULT;
74  virtual QString ErrorMessage() const Q_DECL_OVERRIDE;
75  virtual QString DetailedInformation() const Q_DECL_OVERRIDE;
76  QString Name() const;
77  QString TagText() const;
78  QString TagName() const;
79  qint32 LineNumber() const;
80 protected:
81  /** @brief name name attribute */
82  QString name;
83 
84  /** @brief tagText tag text */
85  QString tagText;
86 
87  /** @brief tagName tag name */
88  QString tagName;
89 
90  /** @brief lineNumber line number */
91  qint32 lineNumber;
92 };
93 
94 //---------------------------------------------------------------------------------------------------------------------
95 /**
96  * @brief Name return name of attribute where error
97  * @return name
98  */
99 inline QString VExceptionEmptyParameter::Name() const
100 {
101  return name;
102 }
103 
104 //---------------------------------------------------------------------------------------------------------------------
105 /**
106  * @brief TagText return tag text
107  * @return tag text
108  */
109 inline QString VExceptionEmptyParameter::TagText() const
110 {
111  return tagText;
112 }
113 
114 //---------------------------------------------------------------------------------------------------------------------
115 /**
116  * @brief TagName return tag name
117  * @return tag name
118  */
119 inline QString VExceptionEmptyParameter::TagName() const
120 {
121  return tagName;
122 }
123 
124 //---------------------------------------------------------------------------------------------------------------------
125 /**
126  * @brief LineNumber return line number of tag
127  * @return line number
128  */
130 {
131  return lineNumber;
132 }
133 
134 #endif // VEXCEPTIONEMPTYPARAMETER_H
The VExceptionEmptyParameter class for exception empty parameter.
qint32 LineNumber() const
LineNumber return line number of tag.
QString Name() const
Name return name of attribute where error.
virtual ~VExceptionEmptyParameter() Q_DECL_EQ_DEFAULT
VExceptionEmptyParameter(const QString &what, const QString &name, const QDomElement &domElement)
VExceptionEmptyParameter exception empty parameter.
virtual QString ErrorMessage() const Q_DECL_OVERRIDE
ErrorMessage return main error message.
QString TagText() const
TagText return tag text.
QString tagText
tagText tag text
QString tagName
tagName tag name
QString TagName() const
TagName return tag name.
qint32 lineNumber
lineNumber line number
virtual QString DetailedInformation() const Q_DECL_OVERRIDE
DetailedInformation return detailed information about error.
VExceptionEmptyParameter & operator=(const VExceptionEmptyParameter &e)
QString name
name name attribute
The VException class parent for all exception. Could be use for abstract exception.
Definition: vexception.h:66
virtual const char * what() const Q_DECL_OVERRIDE
Definition: vexception.cpp:161
#define V_NOEXCEPT_EXPR(x)
Definition: ifcdef.h:91