package Ġcom . the one . core . bean . page able Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Ċ import Ġcom . the one . core . bean . Base Bean Ċ import Ġcom . the one . core . util . Preconditions Ċ import Ġorg . springframework . data . domain . Page Request Ċ import Ġorg . springframework . data . domain . Sort Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ@ author ĠA aron . Li u Ċ Ġ* Ġ@ email Ġbr av oon @ 1 2 6 . com Ċ Ġ* Ġ@ date Ġ 2 0 / 1 1 / 2 0 1 8 Ġ 2 2 : 1 1 Ċ Ġ* Ġ@ description Ċ Ġ*/ Ċ class ĠPage able Request ( ĊĠĠĠ Ġ@ JsonProperty (" page _ number ") ĊĠĠĠ Ġval Ġpage Number : ĠInt Ġ= Ġ 0 , Ġ// Ġzero Ġcom . the one . core ĊĊĠĠĠ Ġ@ JsonProperty (" page _ size ") ĊĠĠĠ Ġval ĠpageSize : ĠInt Ġ= Ġ 0 , ĊĊĊĠĠĠ Ġ@ JsonProperty (" sort _ fields ") ĊĠĠĠ Ġval Ġsort Fields : ĠList < Sort Field >? Ġ= Ġnull Ċ ) Ġ: ĠBase Bean () Ġ{ ĊĊĊĠĠĠ Ġfun Ġto Page Request (): ĠPage Request Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġsort : ĠSort ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ( Preconditions . isNotBlank < List < Sort Field >>( sort Fields )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorders Ġ= ĠArrayList < Sort . Order >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( sf Ġin Ġsort Fields !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdirection Ġ= Ġif Ġ( sf . direction Ġ=== ĠSort Direction . ASC ) ĠSort . Direction . ASC Ġelse ĠSort . Direction . DESC ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorder Ġ= ĠSort . Order ( direction , Ġsf . fieldName ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorders . add ( order ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsort Ġ= ĠSort . by ( orders ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( Preconditions . isNotBlank < Sort >( sort )) ĠPage Request . of ( pageNumber , ĠpageSize , Ġsort !! ) Ġelse ĠPage Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Number , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠpageSize ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ