package Ġd ora . cache . data . page Ċ Ċ import Ġd ora . cache . data . visitor . I Page Data Visitor Ċ Ċ class ĠData Pager < M >( override Ġval Ġmodels : ĠList < M >) Ġ: ĠI Data Pager < M > Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġå½ĵåīį æĺ¯ ç¬¬ åĩł é¡µ ï¼Į å»ºè®® ä»İ 0 å¼Ģå§ĭ ç´ ¯ åĬł ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġvar ĠcurrentPage Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ¯ı é¡µ çļĦæķ°æį® æķ°éĩı ä¸įèĥ½ ä¸º 0 ï¼Į 0 ä¸įèĥ½ åģļ éĻ¤ æķ° ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġvar ĠpageSize Ġ= Ġ 1 ĊĊĠĠĠ Ġprivate Ġvar Ġresult : Ġ(( models : ĠList < M >) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġä¸Ĭ ä¸Ģ é¡µ çļĦ é¡µ æķ° ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġlast Page : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġif Ġ( currentPage Ġ> Ġ 0 ) Ġ{ ĠcurrentPage Ġ- Ġ 1 Ġ} Ġelse Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġä¸ĭ ä¸Ģ é¡µ çļĦ é¡µ æķ° ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġnext Page : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠcurrentPage Ġ+ Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġon Result ( result : Ġ( models : ĠList < M >) Ġ-> ĠUnit ): ĠI Data Pager < M > Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . result Ġ= Ġresult ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġaccept ( visitor : ĠI Page Data Visitor < M >) Ġ{ ĊĠĠĠĠĠĠĠ Ġvisitor . visit Data Pager ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload Data ( models : ĠList < M >) Ġ{ ĊĠĠĠĠĠĠĠ Ġresult ?. invoke ( models ) ĊĠĠĠ Ġ} Ċ }