/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 Ġre query . io Ċ Ġ* Ċ Ġ* Ġ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 Ġio . re query . android . sqlite Ċ Ċ import Ġandroid . database . Cursor Ċ Ċ import Ġjava . io . ByteArray InputStream Ċ import Ġjava . io . InputStream Ċ import Ġjava . io . Reader Ċ import Ġjava . io . String Reader Ċ import Ġjava . math . BigDecimal Ċ import Ġjava . net . Malformed URLException Ċ import Ġjava . net . URL Ċ import Ġjava . sql . Array Ċ import Ġjava . sql . Blob Ċ import Ġjava . sql . C lob Ċ import Ġjava . sql . Date Ċ import Ġjava . sql . NC lob Ċ import Ġjava . sql . Ref Ċ import Ġjava . sql . ResultSet Ċ import Ġjava . sql . ResultSet MetaData Ċ import Ġjava . sql . Row Id Ċ import Ġjava . sql . SQL DataException Ċ import Ġjava . sql . SQLException Ċ import Ġjava . sql . SQL Feature NotSupportedException Ċ import Ġjava . sql . SQL Warning Ċ import Ġjava . sql . SQL XML Ċ import Ġjava . sql . Statement Ċ import Ġjava . sql . Time Ċ import Ġjava . sql . Timestamp Ċ import Ġjava . sql . Types Ċ import Ġjava . text . ParseException Ċ import Ġjava . util . Calendar Ċ Ċ /** Ċ Ġ* Ġ[ ResultSet ] Ġimplementation Ġusing ĠAndroid 's Ġ[ Cursor ] Ġinterface . Ċ Ġ* Ċ Ġ* Ġ@ author ĠNik hil ĠPur us he Ċ Ġ*/ Ċ @ Suppress (" Over riding Deprecated Member ") Ċ class ĠCursor ResultSet ( private Ġval Ġstatement : ĠStatement ?, Ġprivate Ġval Ġcursor : ĠCursor , Ġprivate Ġval Ġclose Cursor : ĠBoolean ) ĊĠĠĠ Ġ: ĠNon Update able ResultSet (), ĠResultSet MetaData Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġlast Column Index : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcursor . moveTo Position (- 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġabsolute ( row : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . moveTo Position ( row Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġafter Last () Ġ{ ĊĠĠĠĠĠĠĠ Ġcursor . moveTo Last () ĊĠĠĠĠĠĠĠ Ġcursor . moveTo Next () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbefore First () Ġ{ ĊĠĠĠĠĠĠĠ Ġcursor . moveTo Position (- 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcancel Row Updates () Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear Warnings () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( close Cursor ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . close () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete Row () Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfind Column ( columnName : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġcursor . getColumnIndex ( columnName ) ĊĠĠĠĠĠĠĠ Ġif Ġ( index Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠSQL DataException (" no Ġcolumn Ġ$ columnName ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġindex Ġ+ Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfirst (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . moveTo First () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Array ( column Index : ĠInt ): ĠArray Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Array ( col Name : ĠString ): ĠArray Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Ascii Stream ( column Index : ĠInt ): ĠInputStream Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Ascii Stream ( columnName : ĠString ): ĠInputStream Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget BigDecimal ( column Index : ĠInt ): ĠBigDecimal ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĠgetString ( column Index ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( value Ġ== Ġnull ) Ġnull Ġelse ĠBigDecimal ( value ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget BigDecimal ( column Index : ĠInt , Ġscale : ĠInt ): ĠBigDecimal ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĠgetString ( column Index ) ĊĠĠĠĠĠĠĠ Ġvar Ġresult : ĠBigDecimal ? Ġ= Ġif Ġ( value Ġ== Ġnull ) Ġnull Ġelse ĠBigDecimal ( value ) ĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult . set Scale ( scale , ĠBigDecimal . ROUND _ DOWN ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget BigDecimal ( columnName : ĠString ): ĠBigDecimal ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget BigDecimal ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget BigDecimal ( columnName : ĠString , Ġscale : ĠInt ): ĠBigDecimal ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget BigDecimal ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Binary Stream ( column Index : ĠInt ): ĠInputStream Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠByteArrayInputStream ( getBytes ( column Index )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Binary Stream ( columnName : ĠString ): ĠInputStream Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Binary Stream ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Blob ( column Index : ĠInt ): ĠBlob Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Blob ( columnName : ĠString ): ĠBlob Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Blob ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Boolean ( column Index : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Int ( column Index ) Ġ> Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Boolean ( columnName : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Boolean ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Byte ( column Index : ĠInt ): ĠByte Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Short ( column Index ). to Byte () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Byte ( columnName : ĠString ): ĠByte Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Byte ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Bytes ( column Index : ĠInt ): ĠByteArray ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . get Blob ( column Index Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Bytes ( columnName : ĠString ): ĠByteArray ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Bytes ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Character Stream ( column Index : ĠInt ): ĠReader Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠString Reader ( getString ( column Index ) !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Character Stream ( columnName : ĠString ): ĠReader Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠString Reader ( getString ( columnName ) !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetC lob ( column Index : ĠInt ): ĠC lob Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetC lob ( col Name : ĠString ): ĠC lob Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Concurrency (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResultSet . CON CUR _ READ _ ONLY ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Cursor Name (): ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġget Date ( column Index : ĠInt ): ĠDate ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġif Ġ( cursor . isNull ( column Index Ġ- Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( cursor . getType ( column Index Ġ- Ġ 1 ) Ġ== ĠCursor . FIELD _ TYPE _ INTEGER ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDate ( cursor . getLong ( column Index Ġ- Ġ 1 )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġcursor . getString ( column Index Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate ( Base PreparedStatement . ISO 8 6 0 1 _ FORMAT . get (). parse ( value ). time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠParseException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠSQLException ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Date ( column Index : ĠInt , Ġcal : ĠCalendar ): ĠDate Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Date ( columnName : ĠString ): ĠDate ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Date ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Date ( columnName : ĠString , Ġcal : ĠCalendar ): ĠDate Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Double ( column Index : ĠInt ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . getDouble ( column Index Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Double ( columnName : ĠString ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Double ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Fetch Direction (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResultSet . FETCH _ FORWARD ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Fetch Size (): ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġget Float ( column Index : ĠInt ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . get Float ( column Index Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Float ( columnName : ĠString ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Float ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Int ( column Index : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . getInt ( column Index Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Int ( columnName : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Int ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Long ( column Index : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . getLong ( column Index Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Long ( columnName : ĠString ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Long ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget MetaData (): ĠResultSet MetaData Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetObject ( column Index : ĠInt ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġval Ġindex Ġ= ĠcolumnIndex Ġ- Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġcursor . getType ( index ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! cursor . isNull ( index )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCursor . FIELD _ TYPE _ BLOB Ġ-> Ġreturn Ġcursor . get Blob ( index ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCursor . FIELD _ TYPE _ FLOAT Ġ-> Ġreturn Ġcursor . get Float ( index ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCursor . FIELD _ TYPE _ INTEGER Ġ-> Ġreturn Ġcursor . getInt ( index ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCursor . FIELD _ TYPE _ STRING Ġ-> Ġreturn Ġcursor . getString ( index ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCursor . FIELD _ TYPE _ NULL Ġ-> Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetObject ( column Index : ĠInt , Ġmap : ĠMap < String , ĠClass <* >> ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetObject ( columnName : ĠString ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetObject ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetObject ( columnName : ĠString , Ġmap : ĠMap < String , ĠClass <* >> ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetObject ( find Column ( columnName ), Ġmap ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Ref ( column Index : ĠInt ): ĠRef Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Ref ( col Name : ĠString ): ĠRef Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Ref ( find Column ( col Name )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Row (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . position Ġ+ Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Short ( column Index : ĠInt ): ĠShort Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . get Short ( column Index Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Short ( columnName : ĠString ): ĠShort Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Short ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Statement (): ĠStatement ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġstatement ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetString ( column Index : ĠInt ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( cursor . isNull ( column Index Ġ- Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġcursor . getString ( column Index Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetString ( columnName : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetString ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetTime ( column Index : ĠInt ): ĠTime ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( cursor . isNull ( column Index Ġ- Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse ĠTime ( getLong ( column Index Ġ- Ġ 1 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetTime ( column Index : ĠInt , Ġcal : ĠCalendar ): ĠTime ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( cursor . isNull ( column Index Ġ- Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse ĠTime ( getLong ( column Index Ġ- Ġ 1 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetTime ( columnName : ĠString ): ĠTime ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetTime ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetTime ( columnName : ĠString , Ġcal : ĠCalendar ): ĠTime Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Timestamp ( column Index : ĠInt ): ĠTimestamp ? Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Column Index Ġ= ĠcolumnIndex ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( cursor . isNull ( column Index Ġ- Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse ĠTimestamp ( cursor . getLong ( column Index Ġ- Ġ 1 )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Timestamp ( column Index : ĠInt , Ġcal : ĠCalendar ): ĠTimestamp Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Timestamp ( columnName : ĠString ): ĠTimestamp ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Timestamp ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Timestamp ( columnName : ĠString , Ġcal : ĠCalendar ): ĠTimestamp Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetType (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResultSet . TYPE _ SCROLL _ S ENS ITIVE Ġ// Ġallows Ġrandom Ġaccess Ġfrom ĠResultSet Iterator ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Unicode Stream ( column Index : ĠInt ): ĠInputStream Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Unicode Stream ( columnName : ĠString ): ĠInputStream Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget URL ( column Index : ĠInt ): ĠURL ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= ĠgetString ( column Index ) Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠURL ( value ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠMal formed URLException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠSQLException ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget URL ( columnName : ĠString ): ĠURL ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget URL ( find Column ( columnName )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Warnings (): ĠSQL Warning ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġinsert Row () Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis After Last (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . is After Last ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Before First (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . count Ġ!= Ġ 0 Ġ&& Ġcursor . is Before First ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis First (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . is First ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Last (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . is Last Ġ|| Ġcursor . count Ġ== Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlast (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . moveTo Last () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmove To Current Row () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġmove To Insert Row () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġnext (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . moveTo Next () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprevious (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . moveTo Previous () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh Row () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġrelative ( rows : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . move ( rows ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrow Deleted (): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġrow Inserted (): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġrow Updated (): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġset Fetch Direction ( direction : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( direction Ġ!= ĠResultSet . FETCH _ FORWARD ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠSQLException (" Only ĠFETCH _ FORWARD Ġis Ġsupported ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Fetch Size ( rows : ĠInt ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġwas Null (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . isNull ( last Column Index Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Row Id ( column Index : ĠInt ): ĠRow Id Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Row Id ( column Label : ĠString ): ĠRow Id Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Row Id ( find Column ( column Label )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Hold ability (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠResultSet . H OLD _ CUR S ORS _ OVER _ COMMIT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Closed (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . is Closed ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget NC lob ( column Index : ĠInt ): ĠNC lob ? Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget NC lob ( column Label : ĠString ): ĠNC lob ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget NC lob ( find Column ( column Label )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget SQL XML ( column Index : ĠInt ): ĠSQL XML ? Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget SQL XML ( column Label : ĠString ): ĠSQL XML ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget SQL XML ( find Column ( column Label )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget N String ( column Index : ĠInt ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetString ( column Index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget N String ( column Label : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget N String ( find Column ( column Label )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget N Character Stream ( column Index : ĠInt ): ĠReader Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Character Stream ( column Index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget N Character Stream ( column Label : ĠString ): ĠReader Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget N Character Stream ( find Column ( column Label )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġoverride Ġfun Ġ< T > Ġunwrap ( iface : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( iface Ġ== ĠCursor :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġiface . cast ( cursor ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthrow ĠSQL Feature NotSupportedException () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Wrapper For ( iface : ĠClass < *> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġiface Ġ== ĠCursor :: class . java ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Catalog Name ( column : ĠInt ): ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġget Column ClassName ( column : ĠInt ): ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġget Column Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . column Count ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Column Display Size ( column : ĠInt ): ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġget Column Label ( column : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ColumnName ( column : ĠInt ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor . get ColumnName ( column Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ColumnType ( column : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġcursor . getType ( column Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCursor . FIELD _ TYPE _ BLOB Ġ-> Ġreturn ĠTypes . VAR BINARY ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCursor . FIELD _ TYPE _ FLOAT Ġ-> Ġreturn ĠTypes . FLOAT ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCursor . FIELD _ TYPE _ INTEGER Ġ-> Ġreturn ĠTypes . INTEGER ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCursor . FIELD _ TYPE _ NULL Ġ-> Ġreturn ĠTypes . NULL ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCursor . FIELD _ TYPE _ STRING Ġ-> Ġreturn ĠTypes . VARCHAR ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Column TypeName ( column : ĠInt ): ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġget Precision ( column : ĠInt ): ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġget Scale ( column : ĠInt ): ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġget Schema Name ( column : ĠInt ): ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġget TableName ( column : ĠInt ): ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġis Auto Increment ( column : ĠInt ): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġis Case Sensitive ( column : ĠInt ): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġis Currency ( column : ĠInt ): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġis Def initely Writable ( column : ĠInt ): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġis Nullable ( column : ĠInt ): ĠInt Ġ= ĠResultSet MetaData . column Nullable Unknown ĊĊĠĠĠ Ġoverride Ġfun Ġis ReadOnly ( column : ĠInt ): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġis Search able ( column : ĠInt ): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġis Signed ( column : ĠInt ): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġis Writable ( column : ĠInt ): ĠBoolean Ġ= Ġfalse Ċ } Ċ