com.microsoft.graph.models.ScheduleShareParameterSet Maven / Gradle / Ivy
// Template Source: BaseMethodParameterSet.java.tt
// ------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
// ------------------------------------------------------------------------------
package com.microsoft.graph.models;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import com.google.gson.JsonObject;
import java.util.EnumSet;
import java.util.ArrayList;
// **NOTE** This file was generated by a tool and any changes will be overwritten.
/**
* The class for the Schedule Share Parameter Set.
*/
public class ScheduleShareParameterSet {
/**
* The notify Team.
*
*/
@SerializedName(value = "notifyTeam", alternate = {"NotifyTeam"})
@Expose
@Nullable
public Boolean notifyTeam;
/**
* The start Date Time.
*
*/
@SerializedName(value = "startDateTime", alternate = {"StartDateTime"})
@Expose
@Nullable
public java.time.OffsetDateTime startDateTime;
/**
* The end Date Time.
*
*/
@SerializedName(value = "endDateTime", alternate = {"EndDateTime"})
@Expose
@Nullable
public java.time.OffsetDateTime endDateTime;
/**
* Instiaciates a new ScheduleShareParameterSet
*/
public ScheduleShareParameterSet() {}
/**
* Instiaciates a new ScheduleShareParameterSet
* @param builder builder bearing the parameters to initialize from
*/
protected ScheduleShareParameterSet(@Nonnull final ScheduleShareParameterSetBuilder builder) {
this.notifyTeam = builder.notifyTeam;
this.startDateTime = builder.startDateTime;
this.endDateTime = builder.endDateTime;
}
/**
* Gets a new builder for the body
* @return a new builder
*/
@Nonnull
public static ScheduleShareParameterSetBuilder newBuilder() {
return new ScheduleShareParameterSetBuilder();
}
/**
* Fluent builder for the ScheduleShareParameterSet
*/
public static final class ScheduleShareParameterSetBuilder {
/**
* The notifyTeam parameter value
*/
@Nullable
protected Boolean notifyTeam;
/**
* Sets the NotifyTeam
* @param val the value to set it to
* @return the current builder object
*/
@Nonnull
public ScheduleShareParameterSetBuilder withNotifyTeam(@Nullable final Boolean val) {
this.notifyTeam = val;
return this;
}
/**
* The startDateTime parameter value
*/
@Nullable
protected java.time.OffsetDateTime startDateTime;
/**
* Sets the StartDateTime
* @param val the value to set it to
* @return the current builder object
*/
@Nonnull
public ScheduleShareParameterSetBuilder withStartDateTime(@Nullable final java.time.OffsetDateTime val) {
this.startDateTime = val;
return this;
}
/**
* The endDateTime parameter value
*/
@Nullable
protected java.time.OffsetDateTime endDateTime;
/**
* Sets the EndDateTime
* @param val the value to set it to
* @return the current builder object
*/
@Nonnull
public ScheduleShareParameterSetBuilder withEndDateTime(@Nullable final java.time.OffsetDateTime val) {
this.endDateTime = val;
return this;
}
/**
* Instanciates a new ScheduleShareParameterSetBuilder
*/
@Nullable
protected ScheduleShareParameterSetBuilder(){}
/**
* Buils the resulting body object to be passed to the request
* @return the body object to pass to the request
*/
@Nonnull
public ScheduleShareParameterSet build() {
return new ScheduleShareParameterSet(this);
}
}
/**
* Gets the functions options from the properties that have been set
* @return a list of function options for the request
*/
@Nonnull
public java.util.List getFunctionOptions() {
final ArrayList result = new ArrayList<>();
if(this.notifyTeam != null) {
result.add(new com.microsoft.graph.options.FunctionOption("notifyTeam", notifyTeam));
}
if(this.startDateTime != null) {
result.add(new com.microsoft.graph.options.FunctionOption("startDateTime", startDateTime));
}
if(this.endDateTime != null) {
result.add(new com.microsoft.graph.options.FunctionOption("endDateTime", endDateTime));
}
return result;
}
}