package Ġru . kont ur . mockito . annotation . engine Ċ Ċ import Ġorg . mockito . Mockito Ċ import Ġorg . mockito . internal . configuration . Field Annotation Processor Ċ import Ġru . kont ur . mockito . annotation . annotations . K Mock Ċ import Ġjava . lang . reflect . Field Ċ Ċ /** Ċ Ġ* ĠInstanti ates Ġa Ġmock Ġon Ġa Ġfield Ġannotated Ġby Ġ{@ link Ġ@ K Mock } Ċ Ġ*/ Ċ class ĠK Mock Annotation Engine Ġ: ĠField Annotation Processor < K Mock > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġprocess ( annotation : ĠK Mock , Ġfield : ĠField ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġprocess Annotation For Mock ( annotation , Ġfield ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġprocess Annotation For Mock ( annotation : ĠK Mock , Ġfield : ĠField ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmock Settings Ġ= ĠMockito . with Settings () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( annotation . extra Interfaces . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Settings . extra Interfaces () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( annotation . name . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Settings . name ( field . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Settings . name ( annotation . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( annotation . serial izable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Settings . serial izable () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( annotation . stub Only ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Settings . stub Only () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( annotation . len ient ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmock Settings . len ient () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Settings . default Answer ( annotation . answer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMockito . mock ( field . java Class , Ġmock Settings ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }