package Ġo sp . le ob ert . android . dav in ci . expressions Ċ Ċ import Ġandroidx . annotation . Color Int Ċ import Ġo sp . le ob ert . android . dav in ci . D Pools Ċ import Ġo sp . le ob ert . android . dav in ci . Da V in Ci Ċ Ċ // region ĠSolid Ċ internal Ġclass ĠSolid Ġprivate Ġconstructor () Ġ: ĠCommand Expression () Ġ{ ĊĠĠĠ Ġ@ Color Int ĊĠĠĠ Ġinternal Ġvar Ġcolor Int : ĠInt ? Ġ= Ġnull Ġ// è¿Ļæĺ¯ è§£æŀĲ åĩº æĿ¥çļĦ ï¼Į ä¸įè¦ģ ä¹± èµĭåĢ¼ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġtag Ġ= Ġ" solid : [" ĊĊĠĠĠĠĠĠĠ Ġval Ġfactory : ĠD Pools . Factory < Solid > Ġ= Ġobject Ġ: ĠD Pools . Factory < Solid > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate (): ĠSolid Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSolid () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġof ( da V in Ci : ĠDa V in Ci ? Ġ= Ġnull , Ġmanual : ĠBoolean Ġ= Ġfalse ): Solid Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġrequire NotNull ( D Pools . solid Exp Pool . acquire ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . manual Ġ= Ġmanual ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinject Then Parse ( da V in Ci ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġinit Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġinject Then Parse ( da V in Ci ) Ċ // ĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreset () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . reset () ĊĠĠĠĠĠĠĠ Ġcolor Int Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrelease () Ġ{ ĊĠĠĠĠĠĠĠ Ġon Release () ĊĠĠĠĠĠĠĠ ĠD Pools . solid Exp Pool . release ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinject Then Parse ( da V in Ci : ĠDa V in Ci ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . da V in Ci Ġ= Ġda V in Ci ĊĊĠĠĠĠĠĠĠ Ġif Ġ( manual ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( parse FromText ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Int Ġ= Ġparse Color ( text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcolor Int Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġas Primitive Parse ( tag , Ġda V in Ci ) ĊĠĠĠĠĠĠĠ Ġcolor Int Ġ= Ġparse Color ( text ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinterpret () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( tag Ġ== Ġtoken Name Ġ|| Ġmanual ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġda V in Ci ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Int ?. let Ġ{ Ġcolor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . core . set Solid Color ( color ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"$ tag Ġ${ if Ġ( parse FromText ) Ġtext Ġelse Ġcolor Int ?. run Ġ{ Ġtext Ġ}} Ġ$ END " ĊĠĠĠ Ġ} Ċ }