/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 - 2 0 1 9 Ġhttps :// www . val ik tor . org Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . val ik tor . constraints Ċ Ċ import Ġorg . val ik tor . Constraint Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġconstraint Ġthat Ġvalidate Ġif Ġthe Ġvalue Ġis Ġless Ġthan Ġanother Ġvalue Ċ Ġ* Ċ Ġ* Ġ@ property Ġvalue Ġspecifies Ġthe Ġvalue Ġthat Ġshould Ġbe Ġvalidated Ċ Ġ* Ċ Ġ* Ġ@ author ĠRod ol pho ĠS . ĠC out o Ċ Ġ* Ġ@ see ĠConstraint Ċ Ġ* Ġ@ since Ġ 0 . 1 . 0 Ċ Ġ*/ Ċ data Ġclass ĠLess < T >( val Ġvalue : ĠT ) Ġ: ĠConstraint Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġconstraint Ġthat Ġvalidate Ġif Ġthe Ġvalue Ġis Ġless Ġthan Ġor Ġequal Ġto Ġanother Ġvalue Ċ Ġ* Ċ Ġ* Ġ@ property Ġvalue Ġspecifies Ġthe Ġvalue Ġthat Ġshould Ġbe Ġvalidated Ċ Ġ* Ċ Ġ* Ġ@ author ĠRod ol pho ĠS . ĠC out o Ċ Ġ* Ġ@ see ĠConstraint Ċ Ġ* Ġ@ since Ġ 0 . 1 . 0 Ċ Ġ*/ Ċ data Ġclass ĠLess OrEqual < T >( val Ġvalue : ĠT ) Ġ: ĠConstraint Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġconstraint Ġthat Ġvalidate Ġif Ġthe Ġvalue Ġis Ġgreater Ġthan Ġanother Ġvalue Ċ Ġ* Ċ Ġ* Ġ@ property Ġvalue Ġspecifies Ġthe Ġvalue Ġthat Ġshould Ġbe Ġvalidated Ċ Ġ* Ċ Ġ* Ġ@ author ĠRod ol pho ĠS . ĠC out o Ċ Ġ* Ġ@ see ĠConstraint Ċ Ġ* Ġ@ since Ġ 0 . 1 . 0 Ċ Ġ*/ Ċ data Ġclass ĠG reater < T >( val Ġvalue : ĠT ) Ġ: ĠConstraint Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġconstraint Ġthat Ġvalidate Ġif Ġthe Ġvalue Ġis Ġgreater Ġthan Ġor Ġequal Ġto Ġanother Ġvalue Ċ Ġ* Ċ Ġ* Ġ@ property Ġvalue Ġspecifies Ġthe Ġvalue Ġthat Ġshould Ġbe Ġvalidated Ċ Ġ* Ċ Ġ* Ġ@ author ĠRod ol pho ĠS . ĠC out o Ċ Ġ* Ġ@ see ĠConstraint Ċ Ġ* Ġ@ since Ġ 0 . 1 . 0 Ċ Ġ*/ Ċ data Ġclass ĠG reater OrEqual < T >( val Ġvalue : ĠT ) Ġ: ĠConstraint Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġconstraint Ġthat Ġvalidate Ġif Ġthe Ġvalue Ġis Ġbetween Ġtwo Ġvalues Ċ Ġ* Ċ Ġ* Ġ@ property Ġstart Ġ( inclusive ) Ġspecifies Ġvalue Ġthat Ġshould Ġstart Ċ Ġ* Ġ@ property Ġend Ġ( inclusive ) Ġspecifies Ġvalue Ġthat Ġshould Ġend Ċ Ġ* Ċ Ġ* Ġ@ author ĠRod ol pho ĠS . ĠC out o Ċ Ġ* Ġ@ see ĠConstraint Ċ Ġ* Ġ@ since Ġ 0 . 1 . 0 Ċ Ġ*/ Ċ data Ġclass ĠBet ween < T >( val Ġstart : ĠT , Ġval Ġend : ĠT ) Ġ: ĠConstraint Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġconstraint Ġthat Ġvalidate Ġif Ġthe Ġvalue Ġisn 't Ġbetween Ġtwo Ġvalues Ċ Ġ* Ċ Ġ* Ġ@ property Ġstart Ġ( inclusive ) Ġspecifies Ġvalue Ġthat Ġshouldn 't Ġstart Ċ Ġ* Ġ@ property Ġend Ġ( inclusive ) Ġspecifies Ġvalue Ġthat Ġshouldn 't Ġend Ċ Ġ* Ċ Ġ* Ġ@ author ĠRod ol pho ĠS . ĠC out o Ċ Ġ* Ġ@ see ĠConstraint Ċ Ġ* Ġ@ since Ġ 0 . 1 . 0 Ċ Ġ*/ Ċ data Ġclass ĠNot Between < T >( val Ġstart : ĠT , Ġval Ġend : ĠT ) Ġ: ĠConstraint Ċ