// ĠCopyright Ġ 2 0 2 0 ĠHP ĠDevelopment ĠCompany , ĠL . P . Ċ // ĠSPDX - License - Identifier : ĠMIT Ċ Ċ package Ġcom . hp . j ipp . encoding Ċ Ċ /** ĠA Ġbase Ġimplementation Ġof Ġ[ AttributeType ]. Ġ*/ Ċ open Ġclass ĠAttribute Type Impl < T Ġ: ĠAny >( ĊĠĠĠ Ġoverride Ġval Ġname : ĠString , ĊĠĠĠ Ġprivate Ġval Ġcls : ĠClass < T > Ċ ) Ġ: ĠAttribute Type < T > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġco erce ( value : ĠAny ): ĠT ? Ġ= ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġif Ġ( cls . is Instance ( value )) Ġvalue Ġas ĠT Ġelse Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġ"${ cls . simple Name } Type ($ name )" Ċ } Ċ