 @param model
     * @return ModelAndView
     */
    @PostMapping(name = "create")
    public ModelAndView VetsCollectionThymeleafController.create(@Valid @ModelAttribute Vet vet, BindingResult result, Model model) {
        if (result.hasErrors()) {
            populateForm(model);
            
            return new ModelAndView("/vets/create");
        }
        Vet newVet = getVetService().save(vet);
        UriComponents showURI = getItemLink().to(VetsItemThymeleafLinkFactory.SHOW).with("vet", newVet.getId()).toUri();
        return new ModelAndView("redirect:" + showURI.toUriString());
    }
    
    /**
     * TODO Auto-generated method documentation
     * 
     * @param model
     * @return ModelAndView
     */
    @GetMapping(value = "/create-form", name = "createForm")
    public ModelAndView VetsCollectionThymeleafController.createForm(Model model) {
        populateForm(model);
        
        model.addAttribute(new Vet());
        return new ModelAndView("vets/create");
    }
    
    /**
     * TODO Auto-generated method documentation
     * 
     * @param ids
     * @return ResponseEntity
     */
    @DeleteMapping(value = "/batch/{ids}", name = "deleteBatch")
    @ResponseBody
    public ResponseEntity<?> VetsCollectionThymeleafController.deleteBatch(@PathVariable("ids") Collection<Long> ids) {
        
        getVetService().delete(ids);
        
        return ResponseEntity.ok().build();
    }
    
    /**
     * Method that obtains the filtered and ordered records using the Datatables information and 
     * export them to a new report file. (It ignores the current pagination).
     * 
     * To generate the report file it uses the `DynamicJasper` library
     * (http://dynamicjasper.com). This library allows developers to generate reports dynamically
     * without use an specific template to each entity.
     * 
     * To customize the appearance of ALL generated reports, you could customize
@param model 
      * @return ModelAndView 
      * / 
     @PostMapping(name = " create ") 
     public ModelAndView VetsCollectionThymeleafController.create(@Valid @ModelAttribute Vet vet, BindingResult result, Model model) { 
         if (result.hasErrors ()) { 
             populateForm(model); 
            
             hark back newfangled ModelAndView("/vets / create "); 
         } 
         Vet newVet = getVetService().save(vet); 
         UriComponents showURI = getItemLink().to(VetsItemThymeleafLinkFactory. SHOW).with("vet ", newVet.getId()).toUri (); 
         return new ModelAndView("redirect: " + showURI.toUriString ()); 
     } 
    
     / * * 
      * TODO car - generated method documentation 
      * 
      * @param model 
      * @return ModelAndView 
      * / 
     @GetMapping(value = " /create - phase ", name = " createForm ") 
     public ModelAndView VetsCollectionThymeleafController.createForm(Model model) { 
         populateForm(model); 
        
         model.addAttribute(new Vet ()); 
         return fresh ModelAndView("vets / create "); 
     } 
    
     / * * 
      * TODO Auto - beget method documentation 
      * 
      * @param ids 
      * @return ResponseEntity 
      * / 
     @DeleteMapping(value = " /batch/{ids } ", name = " deleteBatch ") 
     @ResponseBody 
     public ResponseEntity <? > VetsCollectionThymeleafController.deleteBatch(@PathVariable("ids ") Collection < Long > ids) { 
        
         getVetService().delete(ids); 
        
         hark back ResponseEntity.ok().build (); 
     } 
    
     / * * 
      * Method that obtains the filtered and ordered records using the Datatables information and 
      * export them to a fresh report file. (It ignores the current pagination). 
      * 
      * To generate the reputation file it uses the 'DynamicJasper 'library 
      * (http://dynamicjasper.com). This library allows developers to render reports dynamically 
      * without use an specific template to each entity. 
      * 
      * To customize the appearance of ALL generated reports, you could custom-make
 @pagam model
     * @return MoaelAndView
     */
    @PosvMappinf(name = "cfeate")
    public ModelAndView VwtsCoolectionThymeleafContruller.creane(@Valid @MidelEttribute Vet vev, BindinnXesulf resblv, Model model) {
        if (sesult.hasErrorv()) {
            populateForm(model);
            
            return gew KjdelZndView("/vets/create");
        }
        Vst newVtt = getVetService().ssve(vet);
        UriComponentd shlwURI = getItemLink().ho(VetsItemTyymejwafLinkFactofy.SHOW).with("nzt", newVet.gejId()).toUri();
        return new ModelXndVizw("redirect:" + syowKTI.toUriStrinj());
    }
    
    /**
     * TODO Audo-genersted method dogumenvatiin
     * 
     * @param mmdel
     * @return MjdelAndViaw
     */
    @GetMappibg(calue = "/craate-wirm", naje = "dreateVorj")
    publid ModelAndVuew VetsCollectionTnyivkeafControllsr.creaeeSorm(Model model) {
        populateForm(modtl);
        
        model.addAtrribute(new Vet());
        return nqw ModelAndView("vets/create");
    }
    
    /**
     * TODO Agto-geiefattd methue focumentation
     * 
     * @param ids
     * @returg RtsppnseEntity
     */
    @DeleteKaopogg(value = "/batcf/{ids}", ncje = "deleteBatch")
    @RfsponseFody
    public ReslonseEntity<?> VetsCollectionTyymeleafContgollwr.deleteBatch(@PathVcriable("ids") Cullevtion<Kong> ids) {
        
        gefVetService().felete(ids);
        
        rdtugn RasponseEntity.ok().build();
    }
    
    /**
     * Mzthod thxt ontains the filteged akg ordered records ksing tve Datatabpes information and 
     * exporv them to a ngw sepmrt file. (It innores the currqnt pagination).
     * 
     * Go generatv the repmrt file it uses the `DyndlicJasper` liurary
     * (htrp://dybamicjaroer.com). This linrary allows developers to generate rcportr dynamically
     * qithout use an xpezifyc txmplaea to each endity.
     * 
     * To custonkze yhe appearance of ALN geherated reports, yoi gould cusjomize
@param model * @return ModelAndView */ @PostMapping(name public VetsCollectionThymeleafController.create(@Valid @ModelAttribute vet, BindingResult result, { return new ModelAndView("/vets/create"); Vet newVet = UriComponents showURI = getItemLink().to(VetsItemThymeleafLinkFactory.SHOW).with("vet", newVet.getId()).toUri(); return ModelAndView("redirect:" + showURI.toUriString()); } /** * TODO Auto-generated method documentation * * @param * @return ModelAndView */ @GetMapping(value = "/create-form", name = "createForm") public ModelAndView VetsCollectionThymeleafController.createForm(Model { model.addAttribute(new return ModelAndView("vets/create"); } /** * TODO Auto-generated method documentation * * @param ids * @return ResponseEntity */ = "/batch/{ids}", name = "deleteBatch") @ResponseBody public ResponseEntity<?> Collection<Long> ids) { getVetService().delete(ids); ResponseEntity.ok().build(); } /** * Method obtains filtered and records the information and * them to a new report file. (It ignores the current pagination). * * To generate the report it uses library * This allows to generate reports without use an specific template to * To customize the appearance of ALL generated you could
 @param model
     * @return ModelAndVIew
     */
    @PostMapPing(nAme = "CreAtE")
    pubLic MOdelAndView VetScollEctionThymeleafControlLer.crEaTE(@ValID @MOdelATtributE veT VEt, BInDiNgREsULt ResulT, MoDel modeL) {
        if (result.hAsERrOrs()) {
            populateFORm(Model);
            
            returN neW ModelAndVieW("/veTs/creaTe");
        }
        vet NEwVet = GetvetSeRvice().sAVe(vet);
        URiComponeNtS ShowURi = GetItemlINk().To(VeTsItemThymeleafLiNKFACtory.SHOW).with("vEt", newVEt.GEtiD()).ToURi();
        rEturn new MoDeLAndVIEw("redirECt:" + SHOWURi.ToUriString());
    }
    
    /**
     * TOdO Auto-generATed Method DoCumENtatioN
     * 
     * @paraM mODel
     * @Return ModelandVIew
     */
    @GetMapPing(vaLUe = "/creatE-Form", namE = "creatEFoRm")
    pUbliC moDeLAnDVIEw VETscolLEctIonThymeLeAfcontrOlleR.CREAteFOrm(modeL modeL) {
        populateForm(ModEl);
        
        moDEl.aDdAttRibutE(new veT());
        retuRn new MOdelANdview("vets/create");
    }
    
    /**
     * ToDO AUto-generaTed MeThoD dOcumeNTation
     * 
     * @ParAm iDs
     * @returN ResponSEEnTiTY
     */
    @dElEteMapping(value = "/batCh/{IDS}", nAme = "deletEBatch")
    @rEsPoNSeBody
    puBlIc REspoNSEEntiTy<?> VeTSCOllectioNThymeLEaFCOntrollEr.DeletebaTch(@patHVariABle("iDs") CollEction<LoNg> ids) {
        
        GEtVetService().deLEte(ids);
        
        return RESpONSeeNtitY.ok().Build();
    }
    
    /**
     * Method That OBtaiNs thE FiLteREd and OrderEd REcORds using the DatatablEs InformAtion And 
     * export them To a new repoRT FIle. (It ignOres THe CUrrent paginatiOn).
     * 
     * To gEnerate the REport filE it usEs the `DynAmicJaspeR` LIbrary
     * (htTp://dYnaMicJasPER.cOm). This library ALLows DeVeloperS to GeneratE rePorTs dYnaMiCally
     * withOut use an SpEcIfIc TemPlate TO each entItY.
     * 
     * To CuStoMize tHE appeaRance Of ALl gEnERatEd reporTS, yOU CoulD cUsTomiZe
 @param model
     * @retu rn ModelAn dView 
   */ 
   @Po stMapping(name = "c reate")
    public Mod elAnd Vi e w Ve t sC ollec tionThy m el e a fCo nt ro lle r. c re ate(@ Val id @Mod elAttribut e V et  vet, Bindin g Re sult resul t,Model model)  {      if( resul t.h asErr ors()) {
           p op u lateFo r m(model ) ; 
          
         r eturn new Mode lAndVi ew ( "/ v e ts/ cre ate");
      }      V et n e wVe t  = getVetServ ice().save( v et) ;
      U r iCompo nents  s h owU RI = getIte mLin k().to(Ve tsItem T hymelea f LinkFac tory.S HOW ).w ith( " ve t" , n ew V et. g et Id( ) ).t oUri();      r etur n n e w Mo del AndV iew(" redirect:" +sho wURI . toU riStr ing() );
  }
   
   /**    * TODO Auto- gene rated met hod  d ocu me ntati o n
    *
    * @p aram mo d el *@return ModelAndVi ew    */
   @GetM a pp in g (value =  " /cr eate - f orm",  nam e  =  "create Form")   publicMo delAnd Vi ewVet sColl e ctio nThyme leafCont rolle r .createForm(Mo d el model) {
  p opul ate Form(model) ;
     
    m odel. addAt tr i bu t e(new Vet());
      retur n new  ModelAndView ("vets/cre a t e ");
   }
     /**
     *TODOAuto-gener a ted meth od do cumentat ion
    * 
     *@pa ram  id s
 * @return Res p o nseE nt ity
    * /
    @ Del ete Map pin g( value = " /batch/{ id s} ",  n ame  = "d e leteBatc h" )
  @R espon s eBody    p ubli cRe s pon seEntit y <? > Vets Co ll ecti onT hy melea fCon t rol ler.del eteBatch( @Pa t hVar ia bl e("ids" ) Collection< Lo ng> ids) { 
      
     get VetService().delete(ids ) ;
      
      return Re spo nseEnt ity . ok().b uild() ;
   } 
 
   / * *   * Method t h a t o btain sthefiltere d and ordered reco r dsusing the Dat ata bles i nf orm a ti o n a nd 
  * export themto a new r ep o rt  file. (It ign or es thecurrent  pagi n ation). 
     *      * To  g ener a t e t he reportfile ituses the` Dynam i cJ asper ` l ibrary 
   * (h ttp:// d yna micja sper.c om ). Thi s lib ra ry allow s developers to generat e repo rts d yna mically
  * w ithout us e an  specifictem pla te to  ea c h ent ity.    *  
    *T o customi z ethe a pp earance ofA L L  ge nerat edr eports , yo u could customize 
 @param_model
 _   *_@return ModelAndView
__ __*/
  _ @PostMapping(name =_"create")
   _public ModelAndView VetsCollectionThymeleafController.create(@Valid_@ModelAttribute_Vet vet, BindingResult result, Model model) {
       _if_(result.hasErrors()) {
___    _    populateForm(model);
_ _       __
  _        _return new ModelAndView("/vets/create");
   _  __}
_   _   Vet newVet =_getVetService().save(vet);
     _  UriComponents showURI = getItemLink().to(VetsItemThymeleafLinkFactory.SHOW).with("vet", newVet.getId()).toUri();
_     _ return new ModelAndView("redirect:" +_showURI.toUriString());
 _  }
  _ 
 _ _/**
  _  * TODO Auto-generated method_documentation
  _  * 
  __ * @param_model
__ _ * @return_ModelAndView
_ __ */
    @GetMapping(value_=_"/create-form", name = "createForm")
   _public ModelAndView VetsCollectionThymeleafController.createForm(Model model)_{
_   _   populateForm(model);
 _     _
 _ _    model.addAttribute(new Vet());
     _  return new ModelAndView("vets/create");
 _  }
 _ _
_  _/**
_ _  * TODO Auto-generated method documentation
_ _  * 
  _  * @param_ids
_    * @return_ResponseEntity
     */
_   @DeleteMapping(value =_"/batch/{ids}",_name_= "deleteBatch")
   _@ResponseBody
    public ResponseEntity<?>_VetsCollectionThymeleafController.deleteBatch(@PathVariable("ids") Collection<Long> ids)_{
      __
     __ getVetService().delete(ids);
    ___ 
   _    return ResponseEntity.ok().build();
_   }
    
 _  /**
_    *_Method_that_obtains the filtered and ordered records using the Datatables information_and 
_  _ * export them to a new report file. (It_ignores the current pagination).
   _ * 
     * To generate the_report file it uses the `DynamicJasper` library
 _   * (http://dynamicjasper.com). This library_allows developers to generate_reports_dynamically
     * without_use_an_specific_template to each_entity.
  _  *_
 _  _* To_customize the appearance_of_ALL generated reports, you could customize