/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 9 - 2 0 2 0 Ġhttps :// github . com / openapi - processor / openapi - processor - core Ċ Ġ* ĠP DX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ*/ Ċ Ċ package Ġio . openapi processor . core . model . datat ypes Ċ Ċ /** Ċ Ġ* ĠOpenAPI Ġconstraint Ġdetails Ġof Ġa Ġdata Ġtype . Ċ Ġ*/ Ċ class ĠDataType Constraints ( ĊĊĠĠĠ Ġvar Ġ/* val */ ĠdefaultValue : ĠAny ? Ġ= Ġnull , Ġ// Ġtodo Ġrename Ġto Ġdefault ĊĠĠĠ Ġvar Ġ/* val */ Ġnullable : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġvar Ġ/* val */ Ġmin Length : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġvar Ġ/* val */ ĠmaxLength : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġvar Ġ/* val */ Ġminimum : ĠNumber ? Ġ= Ġnull , ĊĠĠĠ Ġvar Ġ/* val */ Ġexclusive Minimum : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġvar Ġ/* val */ Ġmaximum : ĠNumber ? Ġ= Ġnull , ĊĠĠĠ Ġvar Ġ/* val */ Ġexclusive Maximum : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġvar Ġ/* val */ Ġmin Items : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġvar Ġ/* val */ Ġmax Items : ĠInt ? Ġ= Ġnull Ċ Ċ ) Ġ{ ĊĊĠĠĠ Ġfun ĠgetDefault (): ĠAny ? Ġ= ĠdefaultValue ĊĊĠĠĠ Ġfun Ġhas Item Constraints (): ĠBoolean Ġ= Ġmin Items Ġ!= Ġ 0 Ġ|| Ġmax Items Ġ!= Ġnull ĊĊĠĠĠ Ġval Ġitem Constraints : ĠSize Constraints ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠSize Constraints ( min Items , Ġmax Items ) ĊĊĠĠĠ Ġfun Ġhas Length Constraints (): ĠBoolean Ġ= Ġmin Length Ġ!= Ġ 0 Ġ|| ĠmaxLength Ġ!= Ġnull ĊĊĠĠĠ Ġval Ġlength Constraints : ĠSize Constraints ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠSize Constraints ( min Length , ĠmaxLength ) ĊĊĠĠĠ Ġval Ġminimum Constraint : ĠNumber Constraint ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠNumber Constraint ( minimum !! , Ġexclusive Minimum ) ĊĊĠĠĠ Ġval Ġmaximum Constraint : ĠNumber Constraint ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠNumber Constraint ( maximum !! , Ġexclusive Maximum ) Ċ Ċ } Ċ Ċ data Ġclass ĠSize Constraints ( val Ġmin : ĠInt , Ġval Ġmax : ĠInt ?) Ġ{ ĊĊĠĠĠ Ġval Ġhas Min Ġ= Ġmin Ġ> Ġ 0 ĊĠĠĠ Ġval Ġhas Max Ġ= Ġmax Ġ!= Ġnull Ċ Ċ } Ċ Ċ data Ġclass ĠNumber Constraint ( val Ġvalue : ĠNumber , Ġval Ġexclusive : ĠBoolean ) Ċ