
[[_definitions]]
== Definitions

[[_array]]
=== Array
An array

[%hardbreaks]
__Polymorphism__ : Inheritance
__Discriminator__ : collType


[options="header", cols=".^3a,.^11a,.^4a"]
|===
|Name|Description|Schema
|**name** +
__optional__||string
|**collType** +
__required__|collection type discriminator|string
|===


[[_cat]]
=== Cat
A representation of a cat

[%hardbreaks]
__Polymorphism__ : Inheritance
__Discriminator__ : petType


[options="header", cols=".^3a,.^11a,.^4a"]
|===
|Name|Description|Schema
|**name** +
__optional__|conflicting property with inheriting model (issue #44)|string
|**petType** +
__required__||string
|**huntingSkill** +
__required__|The measured skill for hunting +
**Default** : `"lazy"`|enum (clueless, lazy, adventurous, aggressive)
|===


[[_collection]]
=== Collection
Collection parent type without discriminator


[options="header", cols=".^3a,.^4a"]
|===
|Name|Schema
|**name** +
__optional__|string
|===


[[_dog]]
=== Dog
A representation of a dog with an alternative discriminator

[%hardbreaks]
__Polymorphism__ : Inheritance
__Discriminator__ : dogType


[options="header", cols=".^3a,.^11a,.^4a"]
|===
|Name|Description|Schema
|**name** +
__required__||string
|**petType** +
__required__||string
|**dogType** +
__required__||string
|**packSize** +
__required__|the size of the pack the dog is from +
**Default** : `0` +
**Minimum value** : `0`|integer (int32)
|===


[[_map]]
=== Map
A map without discriminator

[%hardbreaks]
__Polymorphism__ : Composition


[options="header", cols=".^3a,.^11a,.^4a"]
|===
|Name|Description|Schema
|**name** +
__optional__||string
|**collType** +
__required__|collection type discriminator|string
|===


[[_pet]]
=== Pet
Pet parent type with discriminator


[options="header", cols=".^3a,.^4a"]
|===
|Name|Schema
|**name** +
__required__|string
|**petType** +
__required__|string
|===



