package todowizard.service; import java.util.List; import todowizard.core.guice.DomaTransactional; import todowizard.dao.TodoDao; import todowizard.entity.Todo; import com.google.inject.Inject; /** * ToDo サービス。<br /> * {@link DomaTransactional} アノテーションをつけているため、メソッドの境界で自動的に REQUIRE * トランザクションがインターセプトされる。 * * @author t_endo */ @DomaTransactional public class TodoService { private TodoDao dao; @Inject public TodoService(TodoDao todoDao) { this.dao = todoDao; } public List<Todo> findAll() { return dao.selectAll(); } public Todo findById(int id) { return dao.selectById(id); } public Todo create(Todo todo) { dao.insert(todo); return todo; } public Todo update(Todo todo) { dao.update(todo); return todo; } public int delete(int id) { dao.delete(Todo.builder().id(id).build()); return 1; } }