/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License. See License.txt in the project root for
 * license information.
 *
 * Code generated by Microsoft (R) AutoRest Code Generator.
 */

package com.microsoft.azure.batch.protocol.models;

import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * A range of Task IDs that a Task can depend on. All Tasks with IDs in the
 * range must complete successfully before the dependent Task can be scheduled.
 * The start and end of the range are inclusive. For example, if a range has
 * start 9 and end 12, then it represents Tasks '9', '10', '11' and '12'.
 */
public class TaskIdRange {
    /**
     * The first Task ID in the range.
     */
    @JsonProperty(value = "start", required = true)
    private int start;

    /**
     * The last Task ID in the range.
     */
    @JsonProperty(value = "end", required = true)
    private int end;

    /**
     * Get the start value.
     *
     * @return the start value
     */
    public int start() {
        return this.start;
    }

    /**
     * Set the start value.
     *
     * @param start the start value to set
     * @return the TaskIdRange object itself.
     */
    public TaskIdRange withStart(int start) {
        this.start = start;
        return this;
    }

    /**
     * Get the end value.
     *
     * @return the end value
     */
    public int end() {
        return this.end;
    }

    /**
     * Set the end value.
     *
     * @param end the end value to set
     * @return the TaskIdRange object itself.
     */
    public TaskIdRange withEnd(int end) {
        this.end = end;
        return this;
    }

}
