en.h
1 // Tencent is pleased to support the open source community by making RapidJSON available.
2 //
3 // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip.
4 //
5 // Licensed under the MIT License (the "License"); you may not use this file except
6 // in compliance with the License. You may obtain a copy of the License at
7 //
8 // http://opensource.org/licenses/MIT
9 //
10 // Unless required by applicable law or agreed to in writing, software distributed
11 // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
12 // CONDITIONS OF ANY KIND, either express or implied. See the License for the
13 // specific language governing permissions and limitations under the License.
14 
15 #ifndef RAPIDJSON_ERROR_EN_H_
16 #define RAPIDJSON_ERROR_EN_H_
17 
18 #include "error.h"
19 
20 #ifdef __clang__
21 RAPIDJSON_DIAG_PUSH
22 RAPIDJSON_DIAG_OFF(switch-enum)
23 RAPIDJSON_DIAG_OFF(covered-switch-default)
24 #endif
25 
26 RAPIDJSON_NAMESPACE_BEGIN
27 
28 //! Maps error code of parsing into error message.
29 /*!
30  \ingroup RAPIDJSON_ERRORS
31  \param parseErrorCode Error code obtained in parsing.
32  \return the error message.
33  \note User can make a copy of this function for localization.
34  Using switch-case is safer for future modification of error codes.
35 */
37  switch (parseErrorCode) {
38  case kParseErrorNone: return RAPIDJSON_ERROR_STRING("No error.");
39 
40  case kParseErrorDocumentEmpty: return RAPIDJSON_ERROR_STRING("The document is empty.");
41  case kParseErrorDocumentRootNotSingular: return RAPIDJSON_ERROR_STRING("The document root must not be followed by other values.");
42 
43  case kParseErrorValueInvalid: return RAPIDJSON_ERROR_STRING("Invalid value.");
44 
45  case kParseErrorObjectMissName: return RAPIDJSON_ERROR_STRING("Missing a name for object member.");
46  case kParseErrorObjectMissColon: return RAPIDJSON_ERROR_STRING("Missing a colon after a name of object member.");
47  case kParseErrorObjectMissCommaOrCurlyBracket: return RAPIDJSON_ERROR_STRING("Missing a comma or '}' after an object member.");
48 
49  case kParseErrorArrayMissCommaOrSquareBracket: return RAPIDJSON_ERROR_STRING("Missing a comma or ']' after an array element.");
50 
51  case kParseErrorStringUnicodeEscapeInvalidHex: return RAPIDJSON_ERROR_STRING("Incorrect hex digit after \\u escape in string.");
52  case kParseErrorStringUnicodeSurrogateInvalid: return RAPIDJSON_ERROR_STRING("The surrogate pair in string is invalid.");
53  case kParseErrorStringEscapeInvalid: return RAPIDJSON_ERROR_STRING("Invalid escape character in string.");
54  case kParseErrorStringMissQuotationMark: return RAPIDJSON_ERROR_STRING("Missing a closing quotation mark in string.");
55  case kParseErrorStringInvalidEncoding: return RAPIDJSON_ERROR_STRING("Invalid encoding in string.");
56 
57  case kParseErrorNumberTooBig: return RAPIDJSON_ERROR_STRING("Number too big to be stored in double.");
58  case kParseErrorNumberMissFraction: return RAPIDJSON_ERROR_STRING("Miss fraction part in number.");
59  case kParseErrorNumberMissExponent: return RAPIDJSON_ERROR_STRING("Miss exponent in number.");
60 
61  case kParseErrorTermination: return RAPIDJSON_ERROR_STRING("Terminate parsing due to Handler error.");
62  case kParseErrorUnspecificSyntaxError: return RAPIDJSON_ERROR_STRING("Unspecific syntax error.");
63 
64  default: return RAPIDJSON_ERROR_STRING("Unknown error.");
65  }
66 }
67 
68 //! Maps error code of validation into error message.
69 /*!
70  \ingroup RAPIDJSON_ERRORS
71  \param validateErrorCode Error code obtained from validator.
72  \return the error message.
73  \note User can make a copy of this function for localization.
74  Using switch-case is safer for future modification of error codes.
75 */
77  switch (validateErrorCode) {
78  case kValidateErrors: return RAPIDJSON_ERROR_STRING("One or more validation errors have occurred");
79  case kValidateErrorNone: return RAPIDJSON_ERROR_STRING("No error.");
80 
81  case kValidateErrorMultipleOf: return RAPIDJSON_ERROR_STRING("Number '%actual' is not a multiple of the 'multipleOf' value '%expected'.");
82  case kValidateErrorMaximum: return RAPIDJSON_ERROR_STRING("Number '%actual' is greater than the 'maximum' value '%expected'.");
83  case kValidateErrorExclusiveMaximum: return RAPIDJSON_ERROR_STRING("Number '%actual' is greater than or equal to the 'exclusiveMaximum' value '%expected'.");
84  case kValidateErrorMinimum: return RAPIDJSON_ERROR_STRING("Number '%actual' is less than the 'minimum' value '%expected'.");
85  case kValidateErrorExclusiveMinimum: return RAPIDJSON_ERROR_STRING("Number '%actual' is less than or equal to the 'exclusiveMinimum' value '%expected'.");
86 
87  case kValidateErrorMaxLength: return RAPIDJSON_ERROR_STRING("String '%actual' is longer than the 'maxLength' value '%expected'.");
88  case kValidateErrorMinLength: return RAPIDJSON_ERROR_STRING("String '%actual' is shorter than the 'minLength' value '%expected'.");
89  case kValidateErrorPattern: return RAPIDJSON_ERROR_STRING("String '%actual' does not match the 'pattern' regular expression.");
90 
91  case kValidateErrorMaxItems: return RAPIDJSON_ERROR_STRING("Array of length '%actual' is longer than the 'maxItems' value '%expected'.");
92  case kValidateErrorMinItems: return RAPIDJSON_ERROR_STRING("Array of length '%actual' is shorter than the 'minItems' value '%expected'.");
93  case kValidateErrorUniqueItems: return RAPIDJSON_ERROR_STRING("Array has duplicate items at indices '%duplicates' but 'uniqueItems' is true.");
94  case kValidateErrorAdditionalItems: return RAPIDJSON_ERROR_STRING("Array has an additional item at index '%disallowed' that is not allowed by the schema.");
95 
96  case kValidateErrorMaxProperties: return RAPIDJSON_ERROR_STRING("Object has '%actual' members which is more than 'maxProperties' value '%expected'.");
97  case kValidateErrorMinProperties: return RAPIDJSON_ERROR_STRING("Object has '%actual' members which is less than 'minProperties' value '%expected'.");
98  case kValidateErrorRequired: return RAPIDJSON_ERROR_STRING("Object is missing the following members required by the schema: '%missing'.");
99  case kValidateErrorAdditionalProperties: return RAPIDJSON_ERROR_STRING("Object has an additional member '%disallowed' that is not allowed by the schema.");
100  case kValidateErrorPatternProperties: return RAPIDJSON_ERROR_STRING("Object has 'patternProperties' that are not allowed by the schema.");
101  case kValidateErrorDependencies: return RAPIDJSON_ERROR_STRING("Object has missing property or schema dependencies, refer to following errors.");
102 
103  case kValidateErrorEnum: return RAPIDJSON_ERROR_STRING("Property has a value that is not one of its allowed enumerated values.");
104  case kValidateErrorType: return RAPIDJSON_ERROR_STRING("Property has a type '%actual' that is not in the following list: '%expected'.");
105 
106  case kValidateErrorOneOf: return RAPIDJSON_ERROR_STRING("Property did not match any of the sub-schemas specified by 'oneOf', refer to following errors.");
107  case kValidateErrorOneOfMatch: return RAPIDJSON_ERROR_STRING("Property matched more than one of the sub-schemas specified by 'oneOf'.");
108  case kValidateErrorAllOf: return RAPIDJSON_ERROR_STRING("Property did not match all of the sub-schemas specified by 'allOf', refer to following errors.");
109  case kValidateErrorAnyOf: return RAPIDJSON_ERROR_STRING("Property did not match any of the sub-schemas specified by 'anyOf', refer to following errors.");
110  case kValidateErrorNot: return RAPIDJSON_ERROR_STRING("Property matched the sub-schema specified by 'not'.");
111 
112  default: return RAPIDJSON_ERROR_STRING("Unknown error.");
113  }
114 }
115 
116 RAPIDJSON_NAMESPACE_END
117 
118 #ifdef __clang__
119 RAPIDJSON_DIAG_POP
120 #endif
121 
122 #endif // RAPIDJSON_ERROR_EN_H_
rapidjson::kParseErrorUnspecificSyntaxError
Unspecific syntax error.
Definition: error.h:89
rapidjson::kValidateErrorMaxItems
Array is longer than the 'maxItems' value.
Definition: error.h:176
rapidjson::kParseErrorDocumentRootNotSingular
The document root must not follow by other values.
Definition: error.h:68
rapidjson::kValidateErrorExclusiveMaximum
Number is greater than or equal to the 'maximum' value.
Definition: error.h:168
rapidjson::kParseErrorObjectMissCommaOrCurlyBracket
Missing a comma or '}' after an object member.
Definition: error.h:74
rapidjson::kValidateErrorRequired
Object is missing one or more members required by the schema.
Definition: error.h:183
rapidjson::kParseErrorStringMissQuotationMark
Missing a closing quotation mark in string.
Definition: error.h:81
rapidjson::kValidateErrorOneOf
Property did not match any of the sub-schemas specified by 'oneOf'.
Definition: error.h:191
rapidjson::kParseErrorObjectMissName
Missing a name for object member.
Definition: error.h:72
rapidjson::kValidateErrorOneOfMatch
Property matched more than one of the sub-schemas specified by 'oneOf'.
Definition: error.h:192
rapidjson::kParseErrorStringInvalidEncoding
Invalid encoding in string.
Definition: error.h:82
rapidjson::GetValidateError_En
const RAPIDJSON_ERROR_CHARTYPE * GetValidateError_En(ValidateErrorCode validateErrorCode)
Maps error code of validation into error message.
Definition: en.h:76
rapidjson::kValidateErrorExclusiveMinimum
Number is less than or equal to the 'minimum' value.
Definition: error.h:170
rapidjson::kValidateErrorEnum
Property has a value that is not one of its allowed enumerated values.
Definition: error.h:188
rapidjson::ParseErrorCode
ParseErrorCode
Error code of parsing.
Definition: error.h:64
rapidjson::kValidateErrorAdditionalProperties
Object has additional members that are not allowed by the schema.
Definition: error.h:184
rapidjson::kParseErrorStringUnicodeSurrogateInvalid
The surrogate pair in string is invalid.
Definition: error.h:79
rapidjson::kValidateErrorMaxProperties
Object has more members than 'maxProperties' value.
Definition: error.h:181
RAPIDJSON_ERROR_STRING
#define RAPIDJSON_ERROR_STRING(x)
Macro for converting string literial to RAPIDJSON_ERROR_CHARTYPE[].
Definition: error.h:52
rapidjson::kValidateErrorMinProperties
Object has less members than 'minProperties' value.
Definition: error.h:182
rapidjson::kParseErrorDocumentEmpty
The document is empty.
Definition: error.h:67
rapidjson::kValidateErrorNot
Property matched the sub-schema specified by 'not'.
Definition: error.h:195
rapidjson::kValidateErrorPatternProperties
See other errors.
Definition: error.h:185
error.h
rapidjson::kValidateErrorType
Property has a type that is not allowed by the schema..
Definition: error.h:189
rapidjson::kParseErrorNumberTooBig
Number too big to be stored in double.
Definition: error.h:84
RAPIDJSON_ERROR_CHARTYPE
#define RAPIDJSON_ERROR_CHARTYPE
Character type of error messages.
Definition: error.h:39
rapidjson::kValidateErrorPattern
String does not match the 'pattern' regular expression.
Definition: error.h:174
rapidjson::kParseErrorTermination
Parsing was terminated.
Definition: error.h:88
rapidjson::kParseErrorArrayMissCommaOrSquareBracket
Missing a comma or ']' after an array element.
Definition: error.h:76
rapidjson::kValidateErrorAllOf
Property did not match all of the sub-schemas specified by 'allOf'.
Definition: error.h:193
rapidjson::ValidateErrorCode
ValidateErrorCode
Error codes when validating.
Definition: error.h:162
rapidjson::kValidateErrorAnyOf
Property did not match any of the sub-schemas specified by 'anyOf'.
Definition: error.h:194
rapidjson::kParseErrorNumberMissFraction
Miss fraction part in number.
Definition: error.h:85
rapidjson::kValidateErrorMinItems
Array is shorter than the 'minItems' value.
Definition: error.h:177
rapidjson::kValidateErrorNone
No error.
Definition: error.h:164
rapidjson::kValidateErrorMinimum
Number is less than the 'minimum' value.
Definition: error.h:169
rapidjson::kValidateErrorMultipleOf
Number is not a multiple of the 'multipleOf' value.
Definition: error.h:166
rapidjson::kValidateErrorMaximum
Number is greater than the 'maximum' value.
Definition: error.h:167
rapidjson::kParseErrorNumberMissExponent
Miss exponent in number.
Definition: error.h:86
rapidjson::kValidateErrorDependencies
Object has missing property or schema dependencies.
Definition: error.h:186
rapidjson::kParseErrorNone
No error.
Definition: error.h:65
rapidjson::kValidateErrorMinLength
String is longer than the 'maxLength' value.
Definition: error.h:173
rapidjson::kParseErrorStringEscapeInvalid
Invalid escape character in string.
Definition: error.h:80
rapidjson::kValidateErrorAdditionalItems
Array has additional items that are not allowed by the schema.
Definition: error.h:179
rapidjson::kValidateErrorUniqueItems
Array has duplicate items but 'uniqueItems' is true.
Definition: error.h:178
rapidjson::kParseErrorValueInvalid
Invalid value.
Definition: error.h:70
rapidjson::GetParseError_En
const RAPIDJSON_ERROR_CHARTYPE * GetParseError_En(ParseErrorCode parseErrorCode)
Maps error code of parsing into error message.
Definition: en.h:36
rapidjson::kValidateErrors
Top level error code when kValidateContinueOnErrorsFlag set.
Definition: error.h:163
rapidjson::kValidateErrorMaxLength
String is longer than the 'maxLength' value.
Definition: error.h:172
rapidjson::kParseErrorObjectMissColon
Missing a colon after a name of object member.
Definition: error.h:73
rapidjson::kParseErrorStringUnicodeEscapeInvalidHex
Incorrect hex digit after \u escape in string.
Definition: error.h:78