/* Ċ Ġ* ĠCopyright ĠAmazon . com , ĠInc . Ġor Ġits Ġaffiliates . Ġ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 . Ċ Ġ* ĠA Ġcopy Ġof Ġthe ĠLicense Ġis Ġlocated Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġor Ġin Ġthe Ġ" license " Ġfile Ġaccompanying Ġthis Ġfile . ĠThis Ġfile Ġ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 Ġorg . part i ql . pig . runtime Ċ Ċ import Ġcom . amazon . ion element . api . Ion Element Ċ import Ġcom . amazon . ion element . api . Meta Container Ċ import Ġcom . amazon . ion element . api . ion Symbol Ċ import Ġcom . amazon . ion element . api . meta Container Of Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġsymbol Ġvalue Ġthat Ġis Ġpart Ġof Ġa Ġgenerated Ġtype Ġdomain . Ċ Ġ* Ċ Ġ* ĠThis Ġis Ġneeded Ġto Ġallow Ġsuch Ġvalues Ġto Ġhave Ġmet as . Ċ Ġ*/ Ċ class ĠSymbol Primitive ( val Ġtext : ĠString , Ġoverride Ġval Ġmet as : ĠMeta Container ) Ġ: ĠDomain Node Ġ{ ĊĊĠĠĠ Ġ/** ĠCreates Ġa Ġcopy Ġof Ġthe Ġcurrent Ġnode Ġwith Ġthe Ġspecified Ġvalues . Ġ*/ ĊĠĠĠ Ġfun Ġcopy ( text : ĠString Ġ= Ġthis . text , Ġmet as : ĠMeta Container Ġ= Ġthis . metas ): ĠSymbol Primitive Ġ= ĊĠĠĠĠĠĠĠ ĠSymbol Primitive ( text , Ġmet as ) ĊĊĠĠĠ Ġ/** ĠCreates Ġa Ġcopy Ġof Ġthe Ġcurrent Ġ[ Symbol Primitive ] Ġwith Ġthe Ġspecified Ġadditional Ġmeta . Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġwith Meta ( meta Key : ĠString , Ġmeta Value : ĠAny ): ĠSymbol Primitive Ġ= ĊĠĠĠĠĠĠĠ ĠSymbol Primitive ( text , Ġmet as Ġ+ Ġmeta Container Of ( meta Key Ġto Ġmeta Value )) ĊĊĠĠĠ Ġ/** ĠCreates Ġan Ġ` Ion Element ` Ġrepresentation Ġof Ġthe Ġcurrent Ġ[ Symbol Primitive ]. Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġto Ion Element (): ĠIon Element Ġ= Ġion Symbol ( text , Ġmet as Ġ= Ġmet as ) ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġtext ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠSymbol Primitive ĊĊĠĠĠĠĠĠĠ Ġif Ġ( text Ġ!= Ġother . text ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtext . hashCode () ĊĠĠĠ Ġ} Ċ } ĊĊ