Код IT Загрузка примера кода…

Java main.java
package com.example.bean;

import com.example.model.Task;
import jakarta.enterprise.context.SessionScoped;
import jakarta.faces.application.FacesMessage;
import jakarta.faces.context.FacesContext;
import jakarta.inject.Named;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

@Named("todoBean")
@SessionScoped
public class TodoBean implements Serializable {

    private static final long serialVersionUID = 1L;

    private final List<Task> tasks = new ArrayList<>();
    private String newTaskTitle;

    public void addTask() {
        if (newTaskTitle == null || newTaskTitle.isBlank()) {
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_WARN,
                            "Введите название задачи", null));
            return;
        }

        tasks.add(new Task(newTaskTitle.trim()));
        newTaskTitle = null;
    }

    public void removeTask(Task task) {
        tasks.remove(task);
    }

    public List<Task> getTasks() {
        return tasks;
    }

    public int getCompletedCount() {
        return (int) tasks.stream().filter(Task::isCompleted).count();
    }

    public String getNewTaskTitle() {
        return newTaskTitle;
    }

    public void setNewTaskTitle(String newTaskTitle) {
        this.newTaskTitle = newTaskTitle;
    }
}
package com.example.bean;

import com.example.model.Task;
import jakarta.enterprise.context.SessionScoped;
import jakarta.faces.application.FacesMessage;
import jakarta.faces.context.FacesContext;
import jakarta.inject.Named;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

@Named("todoBean")
@SessionScoped
public class TodoBean implements Serializable {

    private static final long serialVersionUID = 1L;

    private final List<Task> tasks = new ArrayList<>();
    private String newTaskTitle;

    public void addTask() {
        if (newTaskTitle == null || newTaskTitle.isBlank()) {
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_WARN,
                            "Введите название задачи", null));
            return;
        }

        tasks.add(new Task(newTaskTitle.trim()));
        newTaskTitle = null;
    }

    public void removeTask(Task task) {
        tasks.remove(task);
    }

    public List<Task> getTasks() {
        return tasks;
    }

    public int getCompletedCount() {
        return (int) tasks.stream().filter(Task::isCompleted).count();
    }

    public String getNewTaskTitle() {
        return newTaskTitle;
    }

    public void setNewTaskTitle(String newTaskTitle) {
        this.newTaskTitle = newTaskTitle;
    }
}