/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠFr akt al io ĠD . O . O . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . fr akt al io . f model . domain . examples . numbers . odd . query Ċ Ċ import Ġcom . fr akt al io . f model . domain . View Ċ import Ġcom . fr akt al io . f model . domain . examples . numbers . api . Description Ċ import Ġcom . fr akt al io . f model . domain . examples . numbers . api . Number Event . Odd Number Event Ċ import Ġcom . fr akt al io . f model . domain . examples . numbers . api . Number Event . Odd Number Event . Odd Number Added Ċ import Ġcom . fr akt al io . f model . domain . examples . numbers . api . Number Event . Odd Number Event . Odd Number Subtract ed Ċ import Ġcom . fr akt al io . f model . domain . examples . numbers . api . Number Value Ċ import Ġcom . fr akt al io . f model . domain . examples . numbers . api . Odd Number State Ċ Ċ /** Ċ Ġ* ĠO dd Ġnumber Ġview Ġ- Ġ Ġpure Ġdeclaration Ġof Ġour Ġprogram Ġlogic Ċ Ġ* Ċ Ġ* Ġ@ return ĠO dd Ġnumber Ġview Ġinstance Ċ Ġ*/ Ċ fun Ġodd Number View (): ĠView < Odd Number State ?, ĠO dd Number Event ?> Ġ= ĠView ( ĊĠĠĠ ĠinitialState Ġ= ĠO dd Number State ( ĊĠĠĠĠĠĠĠ ĠDescription ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Initial Ġstate " ĊĠĠĠĠĠĠĠ Ġ), ĠNumber Value ( 0 ) ĊĠĠĠ Ġ), ĊĠĠĠ Ġev olve Ġ= Ġ{ Ġodd Number State , Ġe Ġ-> ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe Ġis ĠO dd Number Added Ġ&& Ġ( odd Number State Ġ!= Ġnull ) Ġ-> ĠO dd Number State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDescription ( odd Number State . description . get Ġ+ Ġ", Ġ" Ġ+ Ġe . description . get ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Value ( odd Number State . value . get Ġ+ Ġe . value . get ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe Ġis ĠO dd Number Subtract ed Ġ&& Ġ( odd Number State Ġ!= Ġnull ) Ġ-> ĠO dd Number State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDescription ( odd Number State . description . get Ġ+ Ġ", Ġ" Ġ+ Ġe . description . get ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Value ( odd Number State . value . get Ġ- Ġe . value . get ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġodd Number State ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ ) ĊĊĊĊ