package Ġru . e zh ov . example . ddd . context . domain . model Ċ Ċ import Ġarrow . core . Validated Ċ Ċ @ Jvm Inline Ċ value Ġclass ĠBook Name Ġprivate Ġconstructor ( val Ġvalue : ĠString ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠMAX _ LENGTH Ġ= Ġ 1 0 0 ĊĊĠĠĠĠĠĠĠ Ġfun Ġof ( name : ĠString ): ĠValid ated < Model Errors , ĠBook Name > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerrors Ġ= Ġmutable ListOf < String >() ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name . isEmpty ()) Ġerrors . add ("' name ' Ġmust Ġnot Ġbe Ġempty ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( name . length Ġ> ĠMAX _ LENGTH ) Ġerrors . add ("' name ' Ġmust Ġnot Ġbe Ġgreater Ġ$ MAX _ LENGTH Ġchars ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( errors . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠValid ated . Valid ( Book Name ( name )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠValid ated . Invalid ( Model Errors ( errors )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ