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

package com.azure.maps.route.implementation.models;

import com.azure.core.annotation.Fluent;
import com.fasterxml.jackson.annotation.JsonProperty;

/** An object with a matrix of coordinates. */
@Fluent
public final class RouteMatrixQueryPrivate {
    /*
     * A valid `GeoJSON MultiPoint` geometry type. Please refer to [RFC
     * 7946](https://tools.ietf.org/html/rfc7946#section-3.1.3) for details.
     */
    @JsonProperty(value = "origins")
    private GeoJsonMultiPoint origins;

    /*
     * A valid `GeoJSON MultiPoint` geometry type. Please refer to [RFC
     * 7946](https://tools.ietf.org/html/rfc7946#section-3.1.3) for details.
     */
    @JsonProperty(value = "destinations")
    private GeoJsonMultiPoint destinations;

    /**
     * Get the origins property: A valid `GeoJSON MultiPoint` geometry type. Please refer to [RFC
     * 7946](https://tools.ietf.org/html/rfc7946#section-3.1.3) for details.
     *
     * @return the origins value.
     */
    public GeoJsonMultiPoint getOrigins() {
        return this.origins;
    }

    /**
     * Set the origins property: A valid `GeoJSON MultiPoint` geometry type. Please refer to [RFC
     * 7946](https://tools.ietf.org/html/rfc7946#section-3.1.3) for details.
     *
     * @param origins the origins value to set.
     * @return the RouteMatrixQueryPrivate object itself.
     */
    public RouteMatrixQueryPrivate setOrigins(GeoJsonMultiPoint origins) {
        this.origins = origins;
        return this;
    }

    /**
     * Get the destinations property: A valid `GeoJSON MultiPoint` geometry type. Please refer to [RFC
     * 7946](https://tools.ietf.org/html/rfc7946#section-3.1.3) for details.
     *
     * @return the destinations value.
     */
    public GeoJsonMultiPoint getDestinations() {
        return this.destinations;
    }

    /**
     * Set the destinations property: A valid `GeoJSON MultiPoint` geometry type. Please refer to [RFC
     * 7946](https://tools.ietf.org/html/rfc7946#section-3.1.3) for details.
     *
     * @param destinations the destinations value to set.
     * @return the RouteMatrixQueryPrivate object itself.
     */
    public RouteMatrixQueryPrivate setDestinations(GeoJsonMultiPoint destinations) {
        this.destinations = destinations;
        return this;
    }
}
