/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 0 9 ĠThe ĠGu ava ĠAuthors Ċ Ġ* Ċ Ġ* Ġ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 . google . common . collect Ċ Ċ import Ġcom . google . common . annotations . G wt Compatible Ċ import Ġcom . google . common . annotations . G wt In compatible Ċ import Ġjava . io . Invalid Object Exception Ċ import Ġjava . io . Object InputStream Ċ import Ġjava . io . Serializable Ċ Ċ /** Ċ Ġ* ĠList Ġreturned Ġby Ġ[ Immutable Collection . asList ] Ġthat Ġdeleg ates Ġ` contains ` Ġchecks Ġto Ġthe Ċ Ġ* Ġbacking Ġcollection . Ċ Ġ* Ċ Ġ* Ġ@ author ĠJ ared ĠLe vy Ċ Ġ* Ġ@ author ĠL ou is ĠW asser man Ċ Ġ*/ Ċ @ G wt Compatible ( serial izable Ġ= Ġtrue , Ġem ulated Ġ= Ġtrue ) Ċ internal Ġabstract Ġclass ĠImmutable As List < E > Ġ: ĠImmutableList < E >() Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġis Partial View : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate Collection (). is Partial View ĊĊĠĠĠ Ġinternal Ġabstract Ġfun Ġdelegate Collection (): ĠImmutable Collection < E > ĊĊĠĠĠ Ġoverride Ġoperator Ġfun Ġcontains ( element : ĠE ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠThe Ġcollection 's Ġcontains () Ġis Ġat Ġleast Ġas Ġfast Ġas ĠImmutableList 's ĊĠĠĠĠĠĠĠ Ġ// Ġand Ġis Ġoften Ġfaster . ĊĠĠĠĠĠĠĠ Ġreturn Ġdelegate Collection (). contains ( element ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġsize : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdelegate Collection (). size ĊĊĠĠĠ Ġoverride Ġfun ĠisEmpty (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdelegate Collection (). isEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠSerialized Ġform Ġthat Ġleads Ġto Ġthe Ġsame Ġperformance Ġas Ġthe Ġoriginal Ġlist . Ġ Ġ*/ ĊĠĠĠ Ġ@ G wt In compatible Ġ// Ġserialization ĊĠĠĠ Ġinternal Ġclass ĠSerialized Form ( val Ġcollection : ĠImmutable Collection <* >) Ġ: ĠSerializable Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġread Resolve (): ĠAny Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcollection . asList () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠserialVersionUID : ĠLong Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ G wt In compatible Ġ// Ġserialization ĊĠĠĠ Ġ@ Throws ( Invalid Object Exception :: class ) ĊĠĠĠ Ġprivate Ġfun Ġread Object ( stream : ĠObject InputStream ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠInvalid Object Exception (" Use ĠSerialized Form ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ G wt In compatible Ġ// Ġserialization ĊĠĠĠ Ġinternal Ġoverride Ġfun Ġwrite Replace (): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSerialized Form ( delegate Collection ()) ĊĠĠĠ Ġ} Ċ } Ċ