package Ġink . pt ms . block db Ċ Ċ import Ġtab ool ib . common . util . asList Ċ import Ġtab ool ib . common 5 . Co erce Ċ Ċ /** Ċ Ġ* ĠChe md ah Ċ Ġ* Ġink . pt ms . block db . Data Ċ Ġ* Ċ Ġ* Ġ@ author Ġsky Ċ Ġ* Ġ@ since Ġ 2 0 2 1 / 3 / 2 Ġ 1 2 : 0 0 Ġä¸Ĭ åįĪ Ċ Ġ*/ Ċ open Ġclass ĠData Ġ{ ĊĊĠĠĠ Ġval Ġdata : ĠAny ĊĠĠĠ Ġvar Ġchanged Ġ= Ġfalse ĊĊĠĠĠ Ġprotected Ġvar Ġlazy Cache : ĠAny ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( value : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( value : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( value : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( value : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( value : ĠShort ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( value : ĠByte ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( value : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġconstructor ( value : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . data Ġ= Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Int (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCo erce . to Integer ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Float (): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCo erce . toFloat ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Double (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCo erce . toDouble ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Long (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCo erce . to Long ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Short (): ĠShort Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCo erce . to Short ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Byte (): ĠByte Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCo erce . to Byte ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Boolean (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCo erce . to Boolean ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġas List (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdata . asList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdata . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ! is ĠData ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( data Ġ!= Ġother . data ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdata . hashCode () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġunsafe Data ( any : ĠAny ) Ġ= ĠData ( any ) ĊĠĠĠ Ġ} Ċ }