<commit_before>package seedu.address.model.task;

import java.util.Objects;
import java.util.Optional;

import seedu.address.commons.util.CollectionUtil;
import seedu.address.model.booking.UniqueBookingList;
import seedu.address.model.label.UniqueLabelList;

/**
 * Represents a Task in the task manager.
 * Guarantees: details are present and not null, field values are validated.
 */
public class Task implements ReadOnlyTask {

    private Title title;
    private Optional<Deadline> deadline;
    private Optional<Deadline> startTime;
    private Boolean isCompleted;
    private Optional<Recurrence> recurrence;
    private Boolean isRecurring;

    private UniqueLabelList labels;
    private UniqueBookingList bookings;

    /**
     * Every field must be present and not null.
     */
    public Task(Title title, Optional<Deadline> startTime, Optional<Deadline> deadline,
            boolean isCompleted, UniqueLabelList labels, boolean isRecurring, Optional<Recurrence> recurrence) {
        assert !CollectionUtil.isAnyNull(title, isCompleted, labels, isRecurring);
        this.title = title;
        this.deadline = deadline;
        this.startTime = startTime;
        this.isCompleted = isCompleted;
        this.isRecurring = isRecurring;
        this.recurrence = recurrence;
        this.labels = new UniqueLabelList(labels); // protect internal labels from changes in the arg list
        this.bookings = new UniqueBookingList();
    }

    /**
     * Every field except bookingList must be present and not null.
     */
    public Task(Title title, Optional<Deadline> startTime, Optional<Deadline> deadline,
            boolean isCompleted, UniqueLabelList labels, UniqueBookingList bookings, boolean isRecurring,
            Optional<Recurrence> recurrence) {
        assert !CollectionUtil.isAnyNull(title, isCompleted, labels);
        this.title = title;
        this.deadline = deadline;
        this.startTime = startTime;
        this.isCompleted = isCompleted;
        this.labels = new UniqueLabelList(labels); // protect internal labels from changes in the arg list
        this.bookings = new UniqueBookingList(bookings);
        this.isRecurring = false;
        this.recurrence = recurrence;
    }<commit_msg>Change Task parsing value<commit_after>package seedu.address.model.task;

import java.util.Objects;
import java.util.Optional;

import seedu.address.commons.util.CollectionUtil;
import seedu.address.model.booking.UniqueBookingList;
import seedu.address.model.label.UniqueLabelList;

/**
 * Represents a Task in the task manager.
 * Guarantees: details are present and not null, field values are validated.
 */
public class Task implements ReadOnlyTask {

    private Title title;
    private Optional<Deadline> deadline;
    private Optional<Deadline> startTime;
    private Boolean isCompleted;
    private Optional<Recurrence> recurrence;
    private Boolean isRecurring;

    private UniqueLabelList labels;
    private UniqueBookingList bookings;

    /**
     * Every field must be present and not null.
     */
    public Task(Title title, Optional<Deadline> startTime, Optional<Deadline> deadline,
            boolean isCompleted, UniqueLabelList labels, boolean isRecurring, Optional<Recurrence> recurrence) {
        assert !CollectionUtil.isAnyNull(title, isCompleted, labels, isRecurring);
        this.title = title;
        this.deadline = deadline;
        this.startTime = startTime;
        this.isCompleted = isCompleted;
        this.isRecurring = isRecurring;
        this.recurrence = recurrence;
        this.labels = new UniqueLabelList(labels); // protect internal labels from changes in the arg list
        this.bookings = new UniqueBookingList();
    }

    /**
     * Every field except bookingList must be present and not null.
     */
    public Task(Title title, Optional<Deadline> startTime, Optional<Deadline> deadline,
            boolean isCompleted, UniqueLabelList labels, UniqueBookingList bookings, boolean isRecurring,
            Optional<Recurrence> recurrence) {
        assert !CollectionUtil.isAnyNull(title, isCompleted, labels);
        this.title = title;
        this.deadline = deadline;
        this.startTime = startTime;
        this.isCompleted = isCompleted;
        this.labels = new UniqueLabelList(labels); // protect internal labels from changes in the arg list
        this.bookings = new UniqueBookingList(bookings);
        this.isRecurring = isRecurring;
        this.recurrence = recurrence;
    }
{'fraction_non_alphanumeric': 0.07818747223456242, 'fraction_numerical': 0.0, 'mean_word_length': 3.3049713193116634, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '128039', 'n_tokens_mistral': 1214, 'n_tokens_neox': 1171, 'n_words': 347}