// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.

package com.azure.ai.textanalytics.implementation.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;

/** The TasksStateTasksOld model. */
@Fluent
public final class TasksStateTasksOld {
    /*
     * The completed property.
     */
    @JsonProperty(value = "completed", required = true)
    private int completed;

    /*
     * The failed property.
     */
    @JsonProperty(value = "failed", required = true)
    private int failed;

    /*
     * The inProgress property.
     */
    @JsonProperty(value = "inProgress", required = true)
    private int inProgress;

    /*
     * The total property.
     */
    @JsonProperty(value = "total", required = true)
    private int total;

    /*
     * The entityRecognitionTasks property.
     */
    @JsonProperty(value = "entityRecognitionTasks")
    private List<TasksStateTasksEntityRecognitionTasksItem> entityRecognitionTasks;

    /*
     * The entityRecognitionPiiTasks property.
     */
    @JsonProperty(value = "entityRecognitionPiiTasks")
    private List<TasksStateTasksEntityRecognitionPiiTasksItem> entityRecognitionPiiTasks;

    /*
     * The keyPhraseExtractionTasks property.
     */
    @JsonProperty(value = "keyPhraseExtractionTasks")
    private List<TasksStateTasksKeyPhraseExtractionTasksItem> keyPhraseExtractionTasks;

    /*
     * The entityLinkingTasks property.
     */
    @JsonProperty(value = "entityLinkingTasks")
    private List<TasksStateTasksEntityLinkingTasksItem> entityLinkingTasks;

    /*
     * The sentimentAnalysisTasks property.
     */
    @JsonProperty(value = "sentimentAnalysisTasks")
    private List<TasksStateTasksSentimentAnalysisTasksItem> sentimentAnalysisTasks;

    /*
     * The customEntityRecognitionTasks property.
     */
    @JsonProperty(value = "customEntityRecognitionTasks")
    private List<TasksStateTasksCustomEntityRecognitionTasksItem> customEntityRecognitionTasks;

    /*
     * The customSingleClassificationTasks property.
     */
    @JsonProperty(value = "customSingleClassificationTasks")
    private List<TasksStateTasksCustomSingleClassificationTasksItem> customSingleClassificationTasks;

    /*
     * The customMultiClassificationTasks property.
     */
    @JsonProperty(value = "customMultiClassificationTasks")
    private List<TasksStateTasksCustomMultiClassificationTasksItem> customMultiClassificationTasks;

    /**
     * Get the completed property: The completed property.
     *
     * @return the completed value.
     */
    public int getCompleted() {
        return this.completed;
    }

    /**
     * Set the completed property: The completed property.
     *
     * @param completed the completed value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setCompleted(int completed) {
        this.completed = completed;
        return this;
    }

    /**
     * Get the failed property: The failed property.
     *
     * @return the failed value.
     */
    public int getFailed() {
        return this.failed;
    }

    /**
     * Set the failed property: The failed property.
     *
     * @param failed the failed value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setFailed(int failed) {
        this.failed = failed;
        return this;
    }

    /**
     * Get the inProgress property: The inProgress property.
     *
     * @return the inProgress value.
     */
    public int getInProgress() {
        return this.inProgress;
    }

    /**
     * Set the inProgress property: The inProgress property.
     *
     * @param inProgress the inProgress value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setInProgress(int inProgress) {
        this.inProgress = inProgress;
        return this;
    }

    /**
     * Get the total property: The total property.
     *
     * @return the total value.
     */
    public int getTotal() {
        return this.total;
    }

    /**
     * Set the total property: The total property.
     *
     * @param total the total value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setTotal(int total) {
        this.total = total;
        return this;
    }

    /**
     * Get the entityRecognitionTasks property: The entityRecognitionTasks property.
     *
     * @return the entityRecognitionTasks value.
     */
    public List<TasksStateTasksEntityRecognitionTasksItem> getEntityRecognitionTasks() {
        return this.entityRecognitionTasks;
    }

    /**
     * Set the entityRecognitionTasks property: The entityRecognitionTasks property.
     *
     * @param entityRecognitionTasks the entityRecognitionTasks value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setEntityRecognitionTasks(
        List<TasksStateTasksEntityRecognitionTasksItem> entityRecognitionTasks) {
        this.entityRecognitionTasks = entityRecognitionTasks;
        return this;
    }

    /**
     * Get the entityRecognitionPiiTasks property: The entityRecognitionPiiTasks property.
     *
     * @return the entityRecognitionPiiTasks value.
     */
    public List<TasksStateTasksEntityRecognitionPiiTasksItem> getEntityRecognitionPiiTasks() {
        return this.entityRecognitionPiiTasks;
    }

    /**
     * Set the entityRecognitionPiiTasks property: The entityRecognitionPiiTasks property.
     *
     * @param entityRecognitionPiiTasks the entityRecognitionPiiTasks value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setEntityRecognitionPiiTasks(
        List<TasksStateTasksEntityRecognitionPiiTasksItem> entityRecognitionPiiTasks) {
        this.entityRecognitionPiiTasks = entityRecognitionPiiTasks;
        return this;
    }

    /**
     * Get the keyPhraseExtractionTasks property: The keyPhraseExtractionTasks property.
     *
     * @return the keyPhraseExtractionTasks value.
     */
    public List<TasksStateTasksKeyPhraseExtractionTasksItem> getKeyPhraseExtractionTasks() {
        return this.keyPhraseExtractionTasks;
    }

    /**
     * Set the keyPhraseExtractionTasks property: The keyPhraseExtractionTasks property.
     *
     * @param keyPhraseExtractionTasks the keyPhraseExtractionTasks value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setKeyPhraseExtractionTasks(
        List<TasksStateTasksKeyPhraseExtractionTasksItem> keyPhraseExtractionTasks) {
        this.keyPhraseExtractionTasks = keyPhraseExtractionTasks;
        return this;
    }

    /**
     * Get the entityLinkingTasks property: The entityLinkingTasks property.
     *
     * @return the entityLinkingTasks value.
     */
    public List<TasksStateTasksEntityLinkingTasksItem> getEntityLinkingTasks() {
        return this.entityLinkingTasks;
    }

    /**
     * Set the entityLinkingTasks property: The entityLinkingTasks property.
     *
     * @param entityLinkingTasks the entityLinkingTasks value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setEntityLinkingTasks(List<TasksStateTasksEntityLinkingTasksItem> entityLinkingTasks) {
        this.entityLinkingTasks = entityLinkingTasks;
        return this;
    }

    /**
     * Get the sentimentAnalysisTasks property: The sentimentAnalysisTasks property.
     *
     * @return the sentimentAnalysisTasks value.
     */
    public List<TasksStateTasksSentimentAnalysisTasksItem> getSentimentAnalysisTasks() {
        return this.sentimentAnalysisTasks;
    }

    /**
     * Set the sentimentAnalysisTasks property: The sentimentAnalysisTasks property.
     *
     * @param sentimentAnalysisTasks the sentimentAnalysisTasks value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setSentimentAnalysisTasks(
        List<TasksStateTasksSentimentAnalysisTasksItem> sentimentAnalysisTasks) {
        this.sentimentAnalysisTasks = sentimentAnalysisTasks;
        return this;
    }

    /**
     * Get the customEntityRecognitionTasks property: The customEntityRecognitionTasks property.
     *
     * @return the customEntityRecognitionTasks value.
     */
    public List<TasksStateTasksCustomEntityRecognitionTasksItem> getCustomEntityRecognitionTasks() {
        return this.customEntityRecognitionTasks;
    }

    /**
     * Set the customEntityRecognitionTasks property: The customEntityRecognitionTasks property.
     *
     * @param customEntityRecognitionTasks the customEntityRecognitionTasks value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setCustomEntityRecognitionTasks(
        List<TasksStateTasksCustomEntityRecognitionTasksItem> customEntityRecognitionTasks) {
        this.customEntityRecognitionTasks = customEntityRecognitionTasks;
        return this;
    }

    /**
     * Get the customSingleClassificationTasks property: The customSingleClassificationTasks property.
     *
     * @return the customSingleClassificationTasks value.
     */
    public List<TasksStateTasksCustomSingleClassificationTasksItem> getCustomSingleClassificationTasks() {
        return this.customSingleClassificationTasks;
    }

    /**
     * Set the customSingleClassificationTasks property: The customSingleClassificationTasks property.
     *
     * @param customSingleClassificationTasks the customSingleClassificationTasks value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setCustomSingleClassificationTasks(
        List<TasksStateTasksCustomSingleClassificationTasksItem> customSingleClassificationTasks) {
        this.customSingleClassificationTasks = customSingleClassificationTasks;
        return this;
    }

    /**
     * Get the customMultiClassificationTasks property: The customMultiClassificationTasks property.
     *
     * @return the customMultiClassificationTasks value.
     */
    public List<TasksStateTasksCustomMultiClassificationTasksItem> getCustomMultiClassificationTasks() {
        return this.customMultiClassificationTasks;
    }

    /**
     * Set the customMultiClassificationTasks property: The customMultiClassificationTasks property.
     *
     * @param customMultiClassificationTasks the customMultiClassificationTasks value to set.
     * @return the TasksStateTasksOld object itself.
     */
    public TasksStateTasksOld setCustomMultiClassificationTasks(
        List<TasksStateTasksCustomMultiClassificationTasksItem> customMultiClassificationTasks) {
        this.customMultiClassificationTasks = customMultiClassificationTasks;
        return this;
    }
}
