All Downloads are FREE. Search and download functionalities are using the official Maven repository.

odata.msgraph.client.beta.entity.request.UserExperienceAnalyticsRegressionSummaryRequest Maven / Gradle / Ivy

There is a newer version: 0.2.2
Show newest version
package odata.msgraph.client.beta.entity.request;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreType;
import com.github.davidmoten.guavamini.Preconditions;
import com.github.davidmoten.odata.client.ContextPath;
import com.github.davidmoten.odata.client.EntityRequest;
import com.github.davidmoten.odata.client.FunctionRequestReturningNonCollectionUnwrapped;
import com.github.davidmoten.odata.client.NameValue;
import com.github.davidmoten.odata.client.annotation.Function;
import com.github.davidmoten.odata.client.internal.ParameterMap;
import com.github.davidmoten.odata.client.internal.TypedObject;

import java.lang.Object;
import java.lang.String;
import java.util.Map;
import java.util.Optional;

import odata.msgraph.client.beta.entity.UserExperienceAnalyticsRegressionSummary;
import odata.msgraph.client.beta.entity.collection.request.UserExperienceAnalyticsMetricCollectionRequest;
import odata.msgraph.client.beta.enums.UserExperienceAnalyticsSummarizedBy;

@JsonIgnoreType
public class UserExperienceAnalyticsRegressionSummaryRequest extends EntityRequest {

    public UserExperienceAnalyticsRegressionSummaryRequest(ContextPath contextPath, Optional value) {
        super(UserExperienceAnalyticsRegressionSummary.class, contextPath, value, false);
    }

    public UserExperienceAnalyticsMetricCollectionRequest manufacturerRegression() {
        return new UserExperienceAnalyticsMetricCollectionRequest(
                        contextPath.addSegment("manufacturerRegression"), Optional.empty());
    }

    public UserExperienceAnalyticsMetricRequest manufacturerRegression(String id) {
        return new UserExperienceAnalyticsMetricRequest(contextPath.addSegment("manufacturerRegression").addKeys(new NameValue(id.toString())), Optional.empty());
    }

    public UserExperienceAnalyticsMetricCollectionRequest modelRegression() {
        return new UserExperienceAnalyticsMetricCollectionRequest(
                        contextPath.addSegment("modelRegression"), Optional.empty());
    }

    public UserExperienceAnalyticsMetricRequest modelRegression(String id) {
        return new UserExperienceAnalyticsMetricRequest(contextPath.addSegment("modelRegression").addKeys(new NameValue(id.toString())), Optional.empty());
    }

    public UserExperienceAnalyticsMetricCollectionRequest operatingSystemRegression() {
        return new UserExperienceAnalyticsMetricCollectionRequest(
                        contextPath.addSegment("operatingSystemRegression"), Optional.empty());
    }

    public UserExperienceAnalyticsMetricRequest operatingSystemRegression(String id) {
        return new UserExperienceAnalyticsMetricRequest(contextPath.addSegment("operatingSystemRegression").addKeys(new NameValue(id.toString())), Optional.empty());
    }

    @Function(name = "summarizeDeviceRegressionPerformance")
    @JsonIgnore
    public FunctionRequestReturningNonCollectionUnwrapped summarizeDeviceRegressionPerformance(UserExperienceAnalyticsSummarizedBy summarizeBy) {
        Preconditions.checkNotNull(summarizeBy, "summarizeBy cannot be null");
        Map _parameters = ParameterMap
            .put("summarizeBy", "microsoft.graph.userExperienceAnalyticsSummarizedBy", summarizeBy)
            .build();
        return new FunctionRequestReturningNonCollectionUnwrapped(this.contextPath.addActionOrFunctionSegment("microsoft.graph.summarizeDeviceRegressionPerformance"), UserExperienceAnalyticsRegressionSummary.class, _parameters);
    }

}