// Path: src/main/java/com/poseidon/dao/QuiropraxistaDao.java
// @Repository
// @Qualifier()
// public interface QuiropraxistaDao extends CrudRepository<Quiropraxista, Integer>{
// 	public Quiropraxista findByNome(String nome);
// 	public Quiropraxista findById(Integer id);
// }
// 
// Path: src/main/java/com/poseidon/enums/CRUDViewEnum.java
// public enum CRUDViewEnum {
// 
//     IS_SAVE("isSave"),
//     IS_DELETE("isDelete"),
//     IS_UPDATE("isUpdate"),
//     IS_SEARCH("isSearch");
// 
// 
// 
//     private String operation;
// 
//     CRUDViewEnum(String operation) {
//     this.operation=operation;
//     }
// 
//     public String getOperation() {
//         return operation;
//     }
// }
// 
// Path: src/main/java/com/poseidon/model/CRUDView.java
// public class CRUDView {
// 
//     private String isSave;
// 
//     private String isUpdate;
// 
//     private String isSearch;
// 
//     private String isDelete;
// 
//     private String isToShowAll;
// 
//     public String getIsToShowAll() {
//         return isToShowAll;
//     }
// 
//     public void setIsToShowAll(String isToShowAll) {
//         this.isToShowAll = isToShowAll;
//     }
// 
//     public String getIsSave() {
//         return isSave;
//     }
// 
//     public void setIsSave(String isSave) {
//         this.isSave = isSave;
//     }
// 
//     public String getIsUpdate() {
//         return isUpdate;
//     }
// 
//     public void setIsUpdate(String isUpdate) {
//         this.isUpdate = isUpdate;
//     }
// 
//     public String getIsSearch() {
//         return isSearch;
//     }
// 
//     public void setIsSearch(String isSearch) {
//         this.isSearch = isSearch;
//     }
// 
//     public String getIsDelete() {
//         return isDelete;
//     }
// 
//     public void setIsDelete(String isDelete) {
//         this.isDelete = isDelete;
//     }
// }
// 
// Path: src/main/java/com/poseidon/model/Quiropraxista.java
// @Entity
// public class Quiropraxista {
// 
// 	@Id
// 	@GeneratedValue(strategy = GenerationType.AUTO)
// 	private Integer id;
// 	private String nome;
// 
// 	public Quiropraxista() {
// 
// 	}
// 
// 	public Quiropraxista(Integer id, String nome) {
// 		this.id = id;
// 		this.nome = nome;
// 	}
// 
// 	public void setNome(String nome) {
// 		this.nome = nome;
// 	}
// 
// 	public String getNome() {
// 		return nome;
// 	}
// 
// 	public void setId(Integer id) {
// 		this.id = id;
// 	}
// 
// 	public Integer getId() {
// 		return id;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "Quiropraxista [id=" + id + ", nome=" + nome + "]";
// 	}
// }


import com.poseidon.annotation.NotNullArgs;
import com.poseidon.annotation.ViewName;
import com.poseidon.dao.QuiropraxistaDao;
import com.poseidon.enums.CRUDViewEnum;
import com.poseidon.model.CRUDView;
import com.poseidon.model.Quiropraxista;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import java.util.List;
import java.util.logging.Logger;
    }

    @RequestMapping(value = "/deletarQuiropraxista")
    @ViewName(name = REDIRECT_ADMIN_QUIROPRAXISTA)
    @NotNullArgs
    public ModelAndView deletarQuiropraxista(@ModelAttribute Quiropraxista quiropraxista,
                                             ModelAndView modelAndView,
                                             RedirectAttributes redirectAttributes) {
        Quiropraxista quiropraxistaEncontrado = quiropraxistaRepository.findById(quiropraxista.getId());
        try {
            quiropraxistaRepository.delete(quiropraxistaEncontrado);
        } catch (RuntimeException exception) {
            logger.info("Deletando o quiropraxista.");
        }
        this.buildRedirectFlashAttributes(redirectAttributes,CRUDViewEnum.IS_DELETE);
        return modelAndView;
    }

    @RequestMapping(value = "/cadastrarQuiropraxista")
    @ViewName(name = REDIRECT_ADMIN_QUIROPRAXISTA)
    @NotNullArgs
    public ModelAndView cadastrarQuiropraxista(@ModelAttribute Quiropraxista quiropraxista,
                                               ModelAndView modelAndView,
                                               RedirectAttributes redirectAttributes) {
        quiropraxistaRepository.save(quiropraxista);
        this.buildRedirectFlashAttributes(redirectAttributes,CRUDViewEnum.IS_SAVE);
        return modelAndView;
    }

    @RequestMapping(value = "/editarQuiropraxista")
// Path: src/main/java/com/poseidon/dao/QuiropraxistaDao.java
// @Repository
// @Qualifier()
// public interface QuiropraxistaDao extends CrudRepository<Quiropraxista, Integer>{
// 	public Quiropraxista findByNome(String nome);
// 	public Quiropraxista findById(Integer id);
// }
// 
// Path: src/main/java/com/poseidon/enums/CRUDViewEnum.java
// public enum CRUDViewEnum {
// 
//     IS_SAVE("isSave"),
//     IS_DELETE("isDelete"),
//     IS_UPDATE("isUpdate"),
//     IS_SEARCH("isSearch");
// 
// 
// 
//     private String operation;
// 
//     CRUDViewEnum(String operation) {
//     this.operation=operation;
//     }
// 
//     public String getOperation() {
//         return operation;
//     }
// }
// 
// Path: src/main/java/com/poseidon/model/CRUDView.java
// public class CRUDView {
// 
//     private String isSave;
// 
//     private String isUpdate;
// 
//     private String isSearch;
// 
//     private String isDelete;
// 
//     private String isToShowAll;
// 
//     public String getIsToShowAll() {
//         return isToShowAll;
//     }
// 
//     public void setIsToShowAll(String isToShowAll) {
//         this.isToShowAll = isToShowAll;
//     }
// 
//     public String getIsSave() {
//         return isSave;
//     }
// 
//     public void setIsSave(String isSave) {
//         this.isSave = isSave;
//     }
// 
//     public String getIsUpdate() {
//         return isUpdate;
//     }
// 
//     public void setIsUpdate(String isUpdate) {
//         this.isUpdate = isUpdate;
//     }
// 
//     public String getIsSearch() {
//         return isSearch;
//     }
// 
//     public void setIsSearch(String isSearch) {
//         this.isSearch = isSearch;
//     }
// 
//     public String getIsDelete() {
//         return isDelete;
//     }
// 
//     public void setIsDelete(String isDelete) {
//         this.isDelete = isDelete;
//     }
// }
// 
// Path: src/main/java/com/poseidon/model/Quiropraxista.java
// @Entity
// public class Quiropraxista {
// 
// 	@Id
// 	@GeneratedValue(strategy = GenerationType.AUTO)
// 	private Integer id;
// 	private String nome;
// 
// 	public Quiropraxista() {
// 
// 	}
// 
// 	public Quiropraxista(Integer id, String nome) {
// 		this.id = id;
// 		this.nome = nome;
// 	}
// 
// 	public void setNome(String nome) {
// 		this.nome = nome;
// 	}
// 
// 	public String getNome() {
// 		return nome;
// 	}
// 
// 	public void setId(Integer id) {
// 		this.id = id;
// 	}
// 
// 	public Integer getId() {
// 		return id;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "Quiropraxista [id=" + id + ", nome=" + nome + "]";
// 	}
// }


// Path: src/main/java/com/poseidon/controller/QuiropraxistaController.java
import com.poseidon.annotation.NotNullArgs;
import com.poseidon.annotation.ViewName;
import com.poseidon.dao.QuiropraxistaDao;
import com.poseidon.enums.CRUDViewEnum;
import com.poseidon.model.CRUDView;
import com.poseidon.model.Quiropraxista;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import java.util.List;
import java.util.logging.Logger;

    }

    @RequestMapping(value = "/deletarQuiropraxista")
    @ViewName(name = REDIRECT_ADMIN_QUIROPRAXISTA)
    @NotNullArgs
    public ModelAndView deletarQuiropraxista(@ModelAttribute Quiropraxista quiropraxista,
                                             ModelAndView modelAndView,
                                             RedirectAttributes redirectAttributes) {
        Quiropraxista quiropraxistaEncontrado = quiropraxistaRepository.findById(quiropraxista.getId());
        try {
            quiropraxistaRepository.delete(quiropraxistaEncontrado);
        } catch (RuntimeException exception) {
            logger.info("Deletando o quiropraxista.");
        }
        this.buildRedirectFlashAttributes(redirectAttributes,CRUDViewEnum.IS_DELETE);
        return modelAndView;
    }

    @RequestMapping(value = "/cadastrarQuiropraxista")
    @ViewName(name = REDIRECT_ADMIN_QUIROPRAXISTA)
    @NotNullArgs
    public ModelAndView cadastrarQuiropraxista(@ModelAttribute Quiropraxista quiropraxista,
                                               ModelAndView modelAndView,
                                               RedirectAttributes redirectAttributes) {
        quiropraxistaRepository.save(quiropraxista);
        this.buildRedirectFlashAttributes(redirectAttributes,CRUDViewEnum.IS_SAVE);
        return modelAndView;
    }

    @RequestMapping(value = "/editarQuiropraxista")
    @ViewName(name = REDIRECT_ADMIN_QUIROPRAXISTA)