/* Ċ Ġ* Ġ ĠCopyright Ġ( c ) Ġ 2 0 1 7 , Ġsales force . com , Ġinc . Ċ Ġ* Ġ ĠAll Ġrights Ġreserved . Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠBSD Ġ 3 - Clause Ġlicense . Ċ Ġ* Ġ ĠFor Ġfull Ġlicense Ġtext , Ġsee ĠLICENSE . txt Ġfile Ġin Ġthe Ġrepo Ġroot Ġ Ġor Ġhttps :// opensource . org / licenses / BSD - 3 - Clause Ċ Ġ*/ Ċ Ċ package Ġcom . sales force . servic el ib s Ċ Ċ import Ġj line . console . Console Reader Ċ import Ġjava . io . IOException Ċ import Ġjavax . annotation . Nonnull Ċ Ċ /** Ċ Ġ* ĠAd ap ts Ġj Line Ġto ĠIterator . Ċ Ġ*/ Ċ class ĠConsole Iterator Ġinternal Ġconstructor ( private Ġval Ġconsole : ĠConsole Reader , Ġprivate Ġval Ġprompt : ĠString ) Ġ: ĠIterable < String >, ĠIterator < String > Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġlast Line : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Nonnull ĊĠĠĠ Ġoverride Ġfun Ġiterator (): ĠIterator < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhas Next (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Line Ġ= Ġconsole . readLine ( prompt ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Line Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġnext (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . last Line !! ĊĠĠĠ Ġ} Ċ } Ċ