/** Ċ Ġ* ĠCopyright ĠÂ© Ġair back Ċ Ġ* Ċ Ġ* ĠThis Ġprogram Ġis Ġfree Ġsoftware : Ġyou Ġcan Ġredistribute Ġit Ġand / or Ġmodify Ċ Ġ* Ġit Ġunder Ġthe Ġterms Ġof Ġthe ĠGNU ĠAffero ĠGeneral ĠPublic ĠLicense Ġas Ġpublished Ġby Ċ Ġ* Ġthe ĠFree ĠSoftware ĠFoundation , Ġeither Ġversion Ġ 3 Ġof Ġthe ĠLicense , Ġor Ċ Ġ* Ġ( at Ġyour Ġoption ) Ġany Ġlater Ġversion . Ċ Ġ* Ċ Ġ* ĠThis Ġprogram Ġis Ġdistributed Ġin Ġthe Ġhope Ġthat Ġit Ġwill Ġbe Ġuseful , Ċ Ġ* Ġbut ĠWITHOUT ĠANY ĠWARRANTY ; Ġwithout Ġeven Ġthe Ġimplied Ġwarranty Ġof Ċ Ġ* ĠMERCHANTABILITY Ġor ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE . Ġ ĠSee Ġthe Ċ Ġ* ĠGNU ĠAffero ĠGeneral ĠPublic ĠLicense Ġfor Ġmore Ġdetails . Ċ Ġ* Ċ Ġ* ĠYou Ġshould Ġhave Ġreceived Ġa Ġcopy Ġof Ġthe ĠGNU ĠAffero ĠGeneral ĠPublic ĠLicense Ċ Ġ* Ġalong Ġwith Ġthis Ġprogram . Ġ ĠIf Ġnot , Ġsee Ġ< http : ></ http : >// www . gnu . org / licenses />. Ċ Ġ*/ Ċ package Ġcom . air back . module . project . domain . criteria Ċ Ċ import Ġcom . air back . common . i 1 8 n . Generic I 1 8 Enum Ċ import Ġcom . air back . common . i 1 8 n . Option I 1 8 n Enum Ċ import Ġcom . air back . common . i 1 8 n . Option I 1 8 n Enum . Status I 1 8 n Enum .* Ċ import Ġcom . air back . db . arguments . Number Search Field Ċ import Ġcom . air back . db . arguments . Search Criteria Ċ import Ġcom . air back . db . arguments . Set Search Field Ċ import Ġcom . air back . db . arguments . String Search Field Ċ import Ġcom . air back . module . project . Project Type Constants Ċ import Ġcom . air back . db . query .* Ċ Ċ import Ġjava . util . Arrays Ċ Ċ /** Ċ Ġ* Ġ@ author Ġair back ĠLtd . Ċ Ġ* Ġ@ since Ġ 1 . 0 Ċ Ġ*/ Ċ class ĠProject Search Criteria Ġ: ĠSearch Criteria () Ġ{ ĊĊĠĠĠ Ġvar Ġproject Keys : ĠSet Search Field < Int >? Ġ= Ġnull ĊĠĠĠ Ġvar Ġstatuses : ĠSet Search Field < String >? Ġ= Ġnull ĊĠĠĠ Ġvar Ġinvolved Member : ĠString Search Field ? Ġ= Ġnull ĊĠĠĠ Ġvar ĠprojectName : ĠString Search Field ? Ġ= Ġnull ĊĠĠĠ Ġvar ĠclientId : ĠNumber Search Field ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠserialVersionUID Ġ= Ġ 1 L ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval Ġp _ template Ġ= ĠCache Param Mapper . register ( Project Type Constants . PROJECT , ĠGeneric I 1 8 Enum . FORM _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumber Param (" template ", Ġ" m _ prj _ project ", Ġ" ist emplate ")) ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval Ġp _ name Ġ= ĠCache Param Mapper . register ( Project Type Constants . PROJECT , ĠGeneric I 1 8 Enum . FORM _ NAME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Param (" name ", Ġ" m _ prj _ project ", Ġ" name ")) ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval Ġp _ start date Ġ= ĠCache Param Mapper . register ( Project Type Constants . PROJECT , ĠGeneric I 1 8 Enum . FORM _ START _ DATE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate Param (" start date ", Ġ" m _ prj _ project ", Ġ" plan StartDate ")) ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval Ġp _ end date Ġ= ĠCache Param Mapper . register ( Project Type Constants . PROJECT , ĠGeneric I 1 8 Enum . FORM _ END _ DATE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate Param (" end date ", Ġ" m _ prj _ project ", Ġ" plan EndDate ")) ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval Ġp _ created time Ġ= ĠCache Param Mapper . register ( Project Type Constants . PROJECT , ĠGeneric I 1 8 Enum . FORM _ CREATED _ TIME , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate Param (" created time ", Ġ" m _ prj _ project ", Ġ" created Time ")) ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval Ġp _ status Ġ= ĠCache Param Mapper . register ( Project Type Constants . PROJECT , ĠGeneric I 1 8 Enum . FORM _ STATUS , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString List Param (" status ", Ġ" m _ prj _ project ", Ġ" status ", Ġset Of ( Open . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClosed . name , ĠArch ived . name ))) ĊĠĠĠ Ġ} Ċ } Ċ