= Enums

[[ContainerSerializationStyle]]
== ContainerSerializationStyle

++++
 This enum contains supported object and arrays serialization styles. Every style has a enum value, and an array of
 strings to refeer to it.
++++
'''

[cols=">25%,75%"]
[frame="topbot"]
|===
^|Name | Description
|[[csv]]`csv`|
+++
Comma separated values: "value1,value2,value3"
 aliases: "csv", "commaDelimited", "form", "simple"
+++
|[[ssv]]`ssv`|
+++
Space separated values: "value1 value2 value3"
 aliases: "ssv", "spaceDelimited"
+++
|[[psv]]`psv`|
+++
Pipe separated values: "value1|value2|value3"
 aliases: "psv", "pipeDelimited"
+++
|[[dsv]]`dsv`|
+++
Dot delimited values: "value1.value2.value3"
 aliases: "dsv", "dotDelimited", "label"
+++
|[[simple_exploded_object]]`simple_exploded_object`|
+++
For internal usage, don't use it
+++
|[[matrix_exploded_array]]`matrix_exploded_array`|
+++
For internal usage, don't use it
+++
|===

[[ErrorType]]
== ErrorType


[cols=">25%,75%"]
[frame="topbot"]
|===
^|Name | Description
|[[PATH_NOT_FOUND]]`PATH_NOT_FOUND`|
+++
You are trying to mount an operation (combination of path and method) not defined in specification
+++
|[[OPERATION_ID_NOT_FOUND]]`OPERATION_ID_NOT_FOUND`|
+++
You are trying to mount an operation with operation_id not defined in specification
+++
|[[SPEC_INVALID]]`SPEC_INVALID`|
+++
Specification is not valid
+++
|[[MISSING_SECURITY_HANDLER]]`MISSING_SECURITY_HANDLER`|
+++
Missing security handler during construction of router
+++
|[[INVALID_SPEC_PATH]]`INVALID_SPEC_PATH`|
+++
You have provided a wrong directory/path to specification file
+++
|[[PATH_PARAMETERS_COMBINATION_NOT_SUPPORTED]]`PATH_PARAMETERS_COMBINATION_NOT_SUPPORTED`|
+++
You are trying to use two or more path parameters with a combination of parameters/name/styles/explode not supported
+++
|===

[[ErrorType]]
== ErrorType

++++
 All errors type. You can get this values using link
++++
'''

[cols=">25%,75%"]
[frame="topbot"]
|===
^|Name | Description
|[[NO_MATCH]]`NO_MATCH`|
+++
The provided value not match with ParameterTypeValidator rules
+++
|[[NOT_FOUND]]`NOT_FOUND`|
+++
Parameter not found in request
+++
|[[UNEXPECTED_ARRAY]]`UNEXPECTED_ARRAY`|
+++
It was expected a single value, but found in request an array
+++
|[[UNEXPECTED_SINGLE_STRING]]`UNEXPECTED_SINGLE_STRING`|
+++
It was expected an array, but found in request a single value
+++
|[[FILE_NOT_FOUND]]`FILE_NOT_FOUND`|
+++
Expected file not found
+++
|[[WRONG_CONTENT_TYPE]]`WRONG_CONTENT_TYPE`|
+++
Wrong Content-Type header
+++
|[[EMPTY_VALUE]]`EMPTY_VALUE`|
+++
Parameter found but with empty value
+++
|[[UNEXPECTED_ARRAY_SIZE]]`UNEXPECTED_ARRAY_SIZE`|
+++
Expected an array size between parameters configured in
 link
+++
|[[DESERIALIZATION_ERROR]]`DESERIALIZATION_ERROR`|
+++
Error during deserializaton with rule provided
+++
|[[OBJECT_FIELD_NOT_FOUND]]`OBJECT_FIELD_NOT_FOUND`|
+++
Object field declared as required in link not found
+++
|[[JSON_NOT_PARSABLE]]`JSON_NOT_PARSABLE`|
+++
Json can't be parsed
+++
|[[JSON_INVALID]]`JSON_INVALID`|
+++
Json doesn't match the provided schema
+++
|[[XML_INVALID]]`XML_INVALID`|
+++
XML doesn't match the provided schema
+++
|===

[[ParameterLocation]]
== ParameterLocation

++++
 ParameterLocation describe the location of parameter inside HTTP Request
++++
'''

[cols=">25%,75%"]
[frame="topbot"]
|===
^|Name | Description
|[[HEADER]]`HEADER`|-
|[[QUERY]]`QUERY`|-
|[[PATH]]`PATH`|-
|[[FILE]]`FILE`|-
|[[BODY_FORM]]`BODY_FORM`|-
|[[BODY]]`BODY`|-
|[[BODY_JSON]]`BODY_JSON`|-
|[[BODY_XML]]`BODY_XML`|-
|[[COOKIE]]`COOKIE`|-
|===

[[ParameterType]]
== ParameterType

++++
 ParameterType contains prebuilt type validators. To access to ParameterTypeValidator of every ParameterType, use
 link
++++
'''

[cols=">25%,75%"]
[frame="topbot"]
|===
^|Name | Description
|[[GENERIC_STRING]]`GENERIC_STRING`|
+++
STRING Type accept every string
+++
|[[EMAIL]]`EMAIL`|-
|[[URI]]`URI`|-
|[[BOOL]]`BOOL`|
+++
It allows true, false, t, f, 1, 0
+++
|[[INT]]`INT`|
+++
INT type does the validation with Integer.parseInt(value)
+++
|[[FLOAT]]`FLOAT`|
+++
FLOAT type does the validation with Float.parseFloat(value)
+++
|[[DOUBLE]]`DOUBLE`|
+++
DOUBLE type does the validation with Double.parseDouble(value)
+++
|[[DATE]]`DATE`|
+++
DATE as defined by full-date - RFC3339
+++
|[[DATETIME]]`DATETIME`|
+++
DATETIME as defined by date-time - RFC3339
+++
|[[TIME]]`TIME`|
+++
TIME as defined by partial-time - RFC3339
+++
|[[BASE64]]`BASE64`|-
|[[IPV4]]`IPV4`|-
|[[IPV6]]`IPV6`|-
|[[HOSTNAME]]`HOSTNAME`|-
|===

