package Ġio . l enses . jdbc 4 . result set Ċ Ċ import Ġio . l enses . jdbc 4 . row . Row Ċ import Ġorg . apache . avro . Schema Ċ import Ġjava . sql . ResultSet Ċ import Ġjava . sql . ResultSet MetaData Ċ import Ġjava . sql . SQLException Ċ import Ġjava . sql . SQL Feature NotSupportedException Ċ import Ġjava . sql . Statement Ċ Ċ class ĠList ResultSet ( val Ġstmt : ĠStatement ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġschema : ĠSchema ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġrows : ĠList < Row >) Ġ: ĠRow ResultSet (), ĊĠĠĠ ĠImmutable ResultSet , ĊĠĠĠ ĠUnsupported Types ResultSet Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġfun Ġempty Of ( schema : Schema ) Ġ= ĠList ResultSet ( null , Ġschema , Ġempty List ()) ĊĠ Ġ} ĊĊĠ Ġprivate Ġvar Ġrow Number : ĠInt Ġ= Ġ- 1 ĊĠ Ġprivate Ġvar Ġrow : ĠRow ? Ġ= Ġnull ĊĊĠ Ġoverride Ġfun Ġget Row (): ĠInt Ġ= Ġrow Number ĊĠ Ġoverride Ġfun Ġcurrent Row (): ĠRow Ġ= Ġrow Ġ?: Ġthrow ĠSQLException (" No Ġcurrent Ġrow ") ĊĊĠ Ġoverride Ġfun Ġmeta (): ĠResultSet MetaData Ġ= Ġif Ġ( schema Ġ== Ġnull ) ĠEmpty ResultSet MetaData Ġelse ĠAv ro Schema ResultSet MetaData ( schema ) ĊĊĠ Ġprivate Ġfun Ġfetch Row (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( 0 Ġ<= Ġrow Number Ġ&& Ġrow Number Ġ< Ġrows . size ) Ġ{ ĊĠĠĠĠĠ Ġrow Ġ= Ġrows [ row Number ] ĊĠĠĠĠĠ Ġtrue ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġrow Ġ= Ġnull ĊĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġnext (): ĠBoolean Ġ{ ĊĠĠĠ Ġrow Number ++ ĊĠĠĠ Ġreturn Ġfetch Row () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġis Closed (): ĠBoolean Ġ= Ġtrue ĊĠ Ġoverride Ġfun Ġclose () Ġ{} ĊĊĠ Ġoverride Ġfun Ġget Statement (): ĠStatement ? Ġ= Ġstmt ĊĠ Ġoverride Ġfun Ġget MetaData (): ĠResultSet MetaData Ġ= Ġmeta () ĊĊĠ Ġoverride Ġfun Ġbefore First () Ġ{ ĊĠĠĠ Ġrow Number Ġ= Ġ- 1 ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġis First (): ĠBoolean Ġ= Ġrow Number Ġ== Ġ 0 ĊĊĠ Ġoverride Ġfun Ġis Last (): ĠBoolean Ġ= Ġrow Number Ġ== Ġrows . size Ġ- Ġ 1 ĊĊĠ Ġoverride Ġfun Ġlast (): ĠBoolean Ġ{ ĊĠĠĠ Ġrow Number Ġ= Ġrows . size Ġ- Ġ 1 ĊĠĠĠ Ġreturn Ġfetch Row () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġis After Last (): ĠBoolean Ġ= Ġrow Number Ġ>= Ġrows . size ĊĊĠ Ġoverride Ġfun Ġrelative ( rows : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠ Ġrow Number Ġ+= Ġrows ĊĠĠĠ Ġreturn Ġfetch Row () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġabsolute ( row : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠ Ġrow Number Ġ= Ġif Ġ( row Ġ< Ġ 0 ) ĊĠĠĠĠĠ Ġrows . size Ġ+ Ġrow ĊĠĠĠ Ġelse ĊĠĠĠĠĠ Ġrow Ġ- Ġ 1 ĊĠĠĠ Ġreturn Ġfetch Row () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġfirst (): ĠBoolean Ġ{ ĊĠĠĠ Ġrow Number Ġ= Ġ 0 ĊĠĠĠ Ġreturn Ġfetch Row () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠgetType (): ĠInt Ġ{ ĊĠĠĠ Ġreturn ĠResultSet . TYPE _ SCROLL _ INS ENS ITIVE ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġset Fetch Size ( rows : ĠInt ) Ġ{} ĊĊĠ Ġoverride Ġfun Ġafter Last () Ġ{ ĊĠĠĠ Ġrow Number Ġ= Ġrows . size ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġprevious (): ĠBoolean Ġ{ ĊĠĠĠ Ġrow Number -- ĊĠĠĠ Ġreturn Ġrow Number Ġ>= Ġ 0 Ġ&& Ġrow Number Ġ< Ġrows . size ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġset Fetch Direction ( direction : ĠInt ) Ġ= Ġthrow ĠSQL Feature NotSupportedException () ĊĊĠ Ġoverride Ġfun Ġget Fetch Size (): ĠInt Ġ= Ġ- 1 ĊĊĠ Ġoverride Ġfun Ġis Before First (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġrow Number Ġ< Ġ 0 ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Fetch Direction (): ĠInt Ġ= ĠResultSet . FETCH _ FORWARD Ċ }