
odata.msgraph.client.entity.EducationAssignment Maven / Gradle / Ivy
package odata.msgraph.client.entity;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.github.davidmoten.odata.client.ActionRequestReturningNonCollectionUnwrapped;
import com.github.davidmoten.odata.client.ClientException;
import com.github.davidmoten.odata.client.NameValue;
import com.github.davidmoten.odata.client.ODataEntityType;
import com.github.davidmoten.odata.client.RequestOptions;
import com.github.davidmoten.odata.client.UnmappedFields;
import com.github.davidmoten.odata.client.Util;
import com.github.davidmoten.odata.client.annotation.Action;
import com.github.davidmoten.odata.client.annotation.NavigationProperty;
import com.github.davidmoten.odata.client.annotation.Property;
import com.github.davidmoten.odata.client.internal.ChangedFields;
import com.github.davidmoten.odata.client.internal.ParameterMap;
import com.github.davidmoten.odata.client.internal.RequestHelper;
import com.github.davidmoten.odata.client.internal.TypedObject;
import com.github.davidmoten.odata.client.internal.UnmappedFieldsImpl;
import java.lang.Boolean;
import java.lang.Object;
import java.lang.Override;
import java.lang.String;
import java.lang.StringBuilder;
import java.time.OffsetDateTime;
import java.util.Map;
import java.util.Optional;
import odata.msgraph.client.complex.EducationAssignmentGradeType;
import odata.msgraph.client.complex.EducationAssignmentRecipient;
import odata.msgraph.client.complex.EducationItemBody;
import odata.msgraph.client.complex.IdentitySet;
import odata.msgraph.client.entity.collection.request.EducationAssignmentResourceCollectionRequest;
import odata.msgraph.client.entity.collection.request.EducationCategoryCollectionRequest;
import odata.msgraph.client.entity.collection.request.EducationSubmissionCollectionRequest;
import odata.msgraph.client.entity.request.EducationRubricRequest;
import odata.msgraph.client.enums.EducationAddToCalendarOptions;
import odata.msgraph.client.enums.EducationAddedStudentAction;
import odata.msgraph.client.enums.EducationAssignmentStatus;
@JsonPropertyOrder({
"@odata.type",
"addedStudentAction",
"addToCalendarAction",
"allowLateSubmissions",
"allowStudentsToAddResourcesToSubmission",
"assignDateTime",
"assignedDateTime",
"assignTo",
"classId",
"closeDateTime",
"createdBy",
"createdDateTime",
"displayName",
"dueDateTime",
"feedbackResourcesFolderUrl",
"grading",
"instructions",
"lastModifiedBy",
"lastModifiedDateTime",
"notificationChannelUrl",
"resourcesFolderUrl",
"status",
"webUrl"})
@JsonInclude(Include.NON_NULL)
public class EducationAssignment extends Entity implements ODataEntityType {
@Override
public String odataTypeName() {
return "microsoft.graph.educationAssignment";
}
@JsonProperty("addedStudentAction")
protected EducationAddedStudentAction addedStudentAction;
@JsonProperty("addToCalendarAction")
protected EducationAddToCalendarOptions addToCalendarAction;
@JsonProperty("allowLateSubmissions")
protected Boolean allowLateSubmissions;
@JsonProperty("allowStudentsToAddResourcesToSubmission")
protected Boolean allowStudentsToAddResourcesToSubmission;
@JsonProperty("assignDateTime")
protected OffsetDateTime assignDateTime;
@JsonProperty("assignedDateTime")
protected OffsetDateTime assignedDateTime;
@JsonProperty("assignTo")
protected EducationAssignmentRecipient assignTo;
@JsonProperty("classId")
protected String classId;
@JsonProperty("closeDateTime")
protected OffsetDateTime closeDateTime;
@JsonProperty("createdBy")
protected IdentitySet createdBy;
@JsonProperty("createdDateTime")
protected OffsetDateTime createdDateTime;
@JsonProperty("displayName")
protected String displayName;
@JsonProperty("dueDateTime")
protected OffsetDateTime dueDateTime;
@JsonProperty("feedbackResourcesFolderUrl")
protected String feedbackResourcesFolderUrl;
@JsonProperty("grading")
protected EducationAssignmentGradeType grading;
@JsonProperty("instructions")
protected EducationItemBody instructions;
@JsonProperty("lastModifiedBy")
protected IdentitySet lastModifiedBy;
@JsonProperty("lastModifiedDateTime")
protected OffsetDateTime lastModifiedDateTime;
@JsonProperty("notificationChannelUrl")
protected String notificationChannelUrl;
@JsonProperty("resourcesFolderUrl")
protected String resourcesFolderUrl;
@JsonProperty("status")
protected EducationAssignmentStatus status;
@JsonProperty("webUrl")
protected String webUrl;
protected EducationAssignment() {
super();
}
/**
* Returns a builder which is used to create a new
* instance of this class (given that this class is immutable).
*
* @return a new Builder for this class
*/
// Suffix used on builder factory method to differentiate the method
// from static builder methods on superclasses
public static Builder builderEducationAssignment() {
return new Builder();
}
public static final class Builder {
private String id;
private EducationAddedStudentAction addedStudentAction;
private EducationAddToCalendarOptions addToCalendarAction;
private Boolean allowLateSubmissions;
private Boolean allowStudentsToAddResourcesToSubmission;
private OffsetDateTime assignDateTime;
private OffsetDateTime assignedDateTime;
private EducationAssignmentRecipient assignTo;
private String classId;
private OffsetDateTime closeDateTime;
private IdentitySet createdBy;
private OffsetDateTime createdDateTime;
private String displayName;
private OffsetDateTime dueDateTime;
private String feedbackResourcesFolderUrl;
private EducationAssignmentGradeType grading;
private EducationItemBody instructions;
private IdentitySet lastModifiedBy;
private OffsetDateTime lastModifiedDateTime;
private String notificationChannelUrl;
private String resourcesFolderUrl;
private EducationAssignmentStatus status;
private String webUrl;
private ChangedFields changedFields = ChangedFields.EMPTY;
Builder() {
// prevent instantiation
}
public Builder id(String id) {
this.id = id;
this.changedFields = changedFields.add("id");
return this;
}
public Builder addedStudentAction(EducationAddedStudentAction addedStudentAction) {
this.addedStudentAction = addedStudentAction;
this.changedFields = changedFields.add("addedStudentAction");
return this;
}
public Builder addToCalendarAction(EducationAddToCalendarOptions addToCalendarAction) {
this.addToCalendarAction = addToCalendarAction;
this.changedFields = changedFields.add("addToCalendarAction");
return this;
}
public Builder allowLateSubmissions(Boolean allowLateSubmissions) {
this.allowLateSubmissions = allowLateSubmissions;
this.changedFields = changedFields.add("allowLateSubmissions");
return this;
}
public Builder allowStudentsToAddResourcesToSubmission(Boolean allowStudentsToAddResourcesToSubmission) {
this.allowStudentsToAddResourcesToSubmission = allowStudentsToAddResourcesToSubmission;
this.changedFields = changedFields.add("allowStudentsToAddResourcesToSubmission");
return this;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param assignDateTime
* value of {@code assignDateTime} property (as defined in service metadata)
* @return {@code this} (for method chaining)
*/
public Builder assignDateTime(OffsetDateTime assignDateTime) {
this.assignDateTime = assignDateTime;
this.changedFields = changedFields.add("assignDateTime");
return this;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param assignedDateTime
* value of {@code assignedDateTime} property (as defined in service metadata)
* @return {@code this} (for method chaining)
*/
public Builder assignedDateTime(OffsetDateTime assignedDateTime) {
this.assignedDateTime = assignedDateTime;
this.changedFields = changedFields.add("assignedDateTime");
return this;
}
public Builder assignTo(EducationAssignmentRecipient assignTo) {
this.assignTo = assignTo;
this.changedFields = changedFields.add("assignTo");
return this;
}
public Builder classId(String classId) {
this.classId = classId;
this.changedFields = changedFields.add("classId");
return this;
}
public Builder closeDateTime(OffsetDateTime closeDateTime) {
this.closeDateTime = closeDateTime;
this.changedFields = changedFields.add("closeDateTime");
return this;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param createdBy
* value of {@code createdBy} property (as defined in service metadata)
* @return {@code this} (for method chaining)
*/
public Builder createdBy(IdentitySet createdBy) {
this.createdBy = createdBy;
this.changedFields = changedFields.add("createdBy");
return this;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param createdDateTime
* value of {@code createdDateTime} property (as defined in service metadata)
* @return {@code this} (for method chaining)
*/
public Builder createdDateTime(OffsetDateTime createdDateTime) {
this.createdDateTime = createdDateTime;
this.changedFields = changedFields.add("createdDateTime");
return this;
}
public Builder displayName(String displayName) {
this.displayName = displayName;
this.changedFields = changedFields.add("displayName");
return this;
}
public Builder dueDateTime(OffsetDateTime dueDateTime) {
this.dueDateTime = dueDateTime;
this.changedFields = changedFields.add("dueDateTime");
return this;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param feedbackResourcesFolderUrl
* value of {@code feedbackResourcesFolderUrl} property (as defined in service metadata)
* @return {@code this} (for method chaining)
*/
public Builder feedbackResourcesFolderUrl(String feedbackResourcesFolderUrl) {
this.feedbackResourcesFolderUrl = feedbackResourcesFolderUrl;
this.changedFields = changedFields.add("feedbackResourcesFolderUrl");
return this;
}
public Builder grading(EducationAssignmentGradeType grading) {
this.grading = grading;
this.changedFields = changedFields.add("grading");
return this;
}
public Builder instructions(EducationItemBody instructions) {
this.instructions = instructions;
this.changedFields = changedFields.add("instructions");
return this;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param lastModifiedBy
* value of {@code lastModifiedBy} property (as defined in service metadata)
* @return {@code this} (for method chaining)
*/
public Builder lastModifiedBy(IdentitySet lastModifiedBy) {
this.lastModifiedBy = lastModifiedBy;
this.changedFields = changedFields.add("lastModifiedBy");
return this;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param lastModifiedDateTime
* value of {@code lastModifiedDateTime} property (as defined in service metadata)
* @return {@code this} (for method chaining)
*/
public Builder lastModifiedDateTime(OffsetDateTime lastModifiedDateTime) {
this.lastModifiedDateTime = lastModifiedDateTime;
this.changedFields = changedFields.add("lastModifiedDateTime");
return this;
}
public Builder notificationChannelUrl(String notificationChannelUrl) {
this.notificationChannelUrl = notificationChannelUrl;
this.changedFields = changedFields.add("notificationChannelUrl");
return this;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param resourcesFolderUrl
* value of {@code resourcesFolderUrl} property (as defined in service metadata)
* @return {@code this} (for method chaining)
*/
public Builder resourcesFolderUrl(String resourcesFolderUrl) {
this.resourcesFolderUrl = resourcesFolderUrl;
this.changedFields = changedFields.add("resourcesFolderUrl");
return this;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param status
* value of {@code status} property (as defined in service metadata)
* @return {@code this} (for method chaining)
*/
public Builder status(EducationAssignmentStatus status) {
this.status = status;
this.changedFields = changedFields.add("status");
return this;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param webUrl
* value of {@code webUrl} property (as defined in service metadata)
* @return {@code this} (for method chaining)
*/
public Builder webUrl(String webUrl) {
this.webUrl = webUrl;
this.changedFields = changedFields.add("webUrl");
return this;
}
public EducationAssignment build() {
EducationAssignment _x = new EducationAssignment();
_x.contextPath = null;
_x.changedFields = changedFields;
_x.unmappedFields = new UnmappedFieldsImpl();
_x.odataType = "microsoft.graph.educationAssignment";
_x.id = id;
_x.addedStudentAction = addedStudentAction;
_x.addToCalendarAction = addToCalendarAction;
_x.allowLateSubmissions = allowLateSubmissions;
_x.allowStudentsToAddResourcesToSubmission = allowStudentsToAddResourcesToSubmission;
_x.assignDateTime = assignDateTime;
_x.assignedDateTime = assignedDateTime;
_x.assignTo = assignTo;
_x.classId = classId;
_x.closeDateTime = closeDateTime;
_x.createdBy = createdBy;
_x.createdDateTime = createdDateTime;
_x.displayName = displayName;
_x.dueDateTime = dueDateTime;
_x.feedbackResourcesFolderUrl = feedbackResourcesFolderUrl;
_x.grading = grading;
_x.instructions = instructions;
_x.lastModifiedBy = lastModifiedBy;
_x.lastModifiedDateTime = lastModifiedDateTime;
_x.notificationChannelUrl = notificationChannelUrl;
_x.resourcesFolderUrl = resourcesFolderUrl;
_x.status = status;
_x.webUrl = webUrl;
return _x;
}
}
@Override
@JsonIgnore
public ChangedFields getChangedFields() {
return changedFields;
}
@Override
public void postInject(boolean addKeysToContextPath) {
if (addKeysToContextPath && id != null) {
contextPath = contextPath.clearQueries().addKeys(new NameValue(id.toString()));
}
}
@Property(name="addedStudentAction")
@JsonIgnore
public Optional getAddedStudentAction() {
return Optional.ofNullable(addedStudentAction);
}
public EducationAssignment withAddedStudentAction(EducationAddedStudentAction addedStudentAction) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("addedStudentAction");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.addedStudentAction = addedStudentAction;
return _x;
}
@Property(name="addToCalendarAction")
@JsonIgnore
public Optional getAddToCalendarAction() {
return Optional.ofNullable(addToCalendarAction);
}
public EducationAssignment withAddToCalendarAction(EducationAddToCalendarOptions addToCalendarAction) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("addToCalendarAction");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.addToCalendarAction = addToCalendarAction;
return _x;
}
@Property(name="allowLateSubmissions")
@JsonIgnore
public Optional getAllowLateSubmissions() {
return Optional.ofNullable(allowLateSubmissions);
}
public EducationAssignment withAllowLateSubmissions(Boolean allowLateSubmissions) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("allowLateSubmissions");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.allowLateSubmissions = allowLateSubmissions;
return _x;
}
@Property(name="allowStudentsToAddResourcesToSubmission")
@JsonIgnore
public Optional getAllowStudentsToAddResourcesToSubmission() {
return Optional.ofNullable(allowStudentsToAddResourcesToSubmission);
}
public EducationAssignment withAllowStudentsToAddResourcesToSubmission(Boolean allowStudentsToAddResourcesToSubmission) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("allowStudentsToAddResourcesToSubmission");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.allowStudentsToAddResourcesToSubmission = allowStudentsToAddResourcesToSubmission;
return _x;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @return property assignDateTime
*/
@Property(name="assignDateTime")
@JsonIgnore
public Optional getAssignDateTime() {
return Optional.ofNullable(assignDateTime);
}
/**
* Returns an immutable copy of {@code this} with just the {@code assignDateTime}
* field changed. Field description below. The field name is also added to an
* internal map of changed fields in the returned object so that when {@code this.
* patch()} is called (if available)on the returned object only the changed fields
* are submitted.
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param assignDateTime
* new value of {@code assignDateTime} field (as defined in service metadata)
* @return immutable copy of {@code this} with just the {@code assignDateTime} field changed
*/
public EducationAssignment withAssignDateTime(OffsetDateTime assignDateTime) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("assignDateTime");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.assignDateTime = assignDateTime;
return _x;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @return property assignedDateTime
*/
@Property(name="assignedDateTime")
@JsonIgnore
public Optional getAssignedDateTime() {
return Optional.ofNullable(assignedDateTime);
}
/**
* Returns an immutable copy of {@code this} with just the {@code assignedDateTime}
* field changed. Field description below. The field name is also added to an
* internal map of changed fields in the returned object so that when {@code this.
* patch()} is called (if available)on the returned object only the changed fields
* are submitted.
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param assignedDateTime
* new value of {@code assignedDateTime} field (as defined in service metadata)
* @return immutable copy of {@code this} with just the {@code assignedDateTime} field changed
*/
public EducationAssignment withAssignedDateTime(OffsetDateTime assignedDateTime) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("assignedDateTime");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.assignedDateTime = assignedDateTime;
return _x;
}
@Property(name="assignTo")
@JsonIgnore
public Optional getAssignTo() {
return Optional.ofNullable(assignTo);
}
public EducationAssignment withAssignTo(EducationAssignmentRecipient assignTo) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("assignTo");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.assignTo = assignTo;
return _x;
}
@Property(name="classId")
@JsonIgnore
public Optional getClassId() {
return Optional.ofNullable(classId);
}
public EducationAssignment withClassId(String classId) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("classId");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.classId = classId;
return _x;
}
@Property(name="closeDateTime")
@JsonIgnore
public Optional getCloseDateTime() {
return Optional.ofNullable(closeDateTime);
}
public EducationAssignment withCloseDateTime(OffsetDateTime closeDateTime) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("closeDateTime");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.closeDateTime = closeDateTime;
return _x;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @return property createdBy
*/
@Property(name="createdBy")
@JsonIgnore
public Optional getCreatedBy() {
return Optional.ofNullable(createdBy);
}
/**
* Returns an immutable copy of {@code this} with just the {@code createdBy} field
* changed. Field description below. The field name is also added to an internal
* map of changed fields in the returned object so that when {@code this.patch()}
* is called (if available)on the returned object only the changed fields are
* submitted.
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param createdBy
* new value of {@code createdBy} field (as defined in service metadata)
* @return immutable copy of {@code this} with just the {@code createdBy} field changed
*/
public EducationAssignment withCreatedBy(IdentitySet createdBy) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("createdBy");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.createdBy = createdBy;
return _x;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @return property createdDateTime
*/
@Property(name="createdDateTime")
@JsonIgnore
public Optional getCreatedDateTime() {
return Optional.ofNullable(createdDateTime);
}
/**
* Returns an immutable copy of {@code this} with just the {@code createdDateTime}
* field changed. Field description below. The field name is also added to an
* internal map of changed fields in the returned object so that when {@code this.
* patch()} is called (if available)on the returned object only the changed fields
* are submitted.
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param createdDateTime
* new value of {@code createdDateTime} field (as defined in service metadata)
* @return immutable copy of {@code this} with just the {@code createdDateTime} field changed
*/
public EducationAssignment withCreatedDateTime(OffsetDateTime createdDateTime) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("createdDateTime");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.createdDateTime = createdDateTime;
return _x;
}
@Property(name="displayName")
@JsonIgnore
public Optional getDisplayName() {
return Optional.ofNullable(displayName);
}
public EducationAssignment withDisplayName(String displayName) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("displayName");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.displayName = displayName;
return _x;
}
@Property(name="dueDateTime")
@JsonIgnore
public Optional getDueDateTime() {
return Optional.ofNullable(dueDateTime);
}
public EducationAssignment withDueDateTime(OffsetDateTime dueDateTime) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("dueDateTime");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.dueDateTime = dueDateTime;
return _x;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @return property feedbackResourcesFolderUrl
*/
@Property(name="feedbackResourcesFolderUrl")
@JsonIgnore
public Optional getFeedbackResourcesFolderUrl() {
return Optional.ofNullable(feedbackResourcesFolderUrl);
}
/**
* Returns an immutable copy of {@code this} with just the {@code
* feedbackResourcesFolderUrl} field changed. Field description below. The field
* name is also added to an internal map of changed fields in the returned object
* so that when {@code this.patch()} is called (if available)on the returned object
* only the changed fields are submitted.
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param feedbackResourcesFolderUrl
* new value of {@code feedbackResourcesFolderUrl} field (as defined in service metadata)
* @return immutable copy of {@code this} with just the {@code feedbackResourcesFolderUrl} field changed
*/
public EducationAssignment withFeedbackResourcesFolderUrl(String feedbackResourcesFolderUrl) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("feedbackResourcesFolderUrl");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.feedbackResourcesFolderUrl = feedbackResourcesFolderUrl;
return _x;
}
@Property(name="grading")
@JsonIgnore
public Optional getGrading() {
return Optional.ofNullable(grading);
}
public EducationAssignment withGrading(EducationAssignmentGradeType grading) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("grading");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.grading = grading;
return _x;
}
@Property(name="instructions")
@JsonIgnore
public Optional getInstructions() {
return Optional.ofNullable(instructions);
}
public EducationAssignment withInstructions(EducationItemBody instructions) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("instructions");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.instructions = instructions;
return _x;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @return property lastModifiedBy
*/
@Property(name="lastModifiedBy")
@JsonIgnore
public Optional getLastModifiedBy() {
return Optional.ofNullable(lastModifiedBy);
}
/**
* Returns an immutable copy of {@code this} with just the {@code lastModifiedBy}
* field changed. Field description below. The field name is also added to an
* internal map of changed fields in the returned object so that when {@code this.
* patch()} is called (if available)on the returned object only the changed fields
* are submitted.
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param lastModifiedBy
* new value of {@code lastModifiedBy} field (as defined in service metadata)
* @return immutable copy of {@code this} with just the {@code lastModifiedBy} field changed
*/
public EducationAssignment withLastModifiedBy(IdentitySet lastModifiedBy) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("lastModifiedBy");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.lastModifiedBy = lastModifiedBy;
return _x;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @return property lastModifiedDateTime
*/
@Property(name="lastModifiedDateTime")
@JsonIgnore
public Optional getLastModifiedDateTime() {
return Optional.ofNullable(lastModifiedDateTime);
}
/**
* Returns an immutable copy of {@code this} with just the {@code
* lastModifiedDateTime} field changed. Field description below. The field name is
* also added to an internal map of changed fields in the returned object so that
* when {@code this.patch()} is called (if available)on the returned object only
* the changed fields are submitted.
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param lastModifiedDateTime
* new value of {@code lastModifiedDateTime} field (as defined in service metadata)
* @return immutable copy of {@code this} with just the {@code lastModifiedDateTime} field changed
*/
public EducationAssignment withLastModifiedDateTime(OffsetDateTime lastModifiedDateTime) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("lastModifiedDateTime");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.lastModifiedDateTime = lastModifiedDateTime;
return _x;
}
@Property(name="notificationChannelUrl")
@JsonIgnore
public Optional getNotificationChannelUrl() {
return Optional.ofNullable(notificationChannelUrl);
}
public EducationAssignment withNotificationChannelUrl(String notificationChannelUrl) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("notificationChannelUrl");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.notificationChannelUrl = notificationChannelUrl;
return _x;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @return property resourcesFolderUrl
*/
@Property(name="resourcesFolderUrl")
@JsonIgnore
public Optional getResourcesFolderUrl() {
return Optional.ofNullable(resourcesFolderUrl);
}
/**
* Returns an immutable copy of {@code this} with just the {@code
* resourcesFolderUrl} field changed. Field description below. The field name is
* also added to an internal map of changed fields in the returned object so that
* when {@code this.patch()} is called (if available)on the returned object only
* the changed fields are submitted.
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param resourcesFolderUrl
* new value of {@code resourcesFolderUrl} field (as defined in service metadata)
* @return immutable copy of {@code this} with just the {@code resourcesFolderUrl} field changed
*/
public EducationAssignment withResourcesFolderUrl(String resourcesFolderUrl) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("resourcesFolderUrl");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.resourcesFolderUrl = resourcesFolderUrl;
return _x;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @return property status
*/
@Property(name="status")
@JsonIgnore
public Optional getStatus() {
return Optional.ofNullable(status);
}
/**
* Returns an immutable copy of {@code this} with just the {@code status} field
* changed. Field description below. The field name is also added to an internal
* map of changed fields in the returned object so that when {@code this.patch()}
* is called (if available)on the returned object only the changed fields are
* submitted.
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param status
* new value of {@code status} field (as defined in service metadata)
* @return immutable copy of {@code this} with just the {@code status} field changed
*/
public EducationAssignment withStatus(EducationAssignmentStatus status) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("status");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.status = status;
return _x;
}
/**
*
* Org.OData.Core.V1.Computed
*
* true
*
* @return property webUrl
*/
@Property(name="webUrl")
@JsonIgnore
public Optional getWebUrl() {
return Optional.ofNullable(webUrl);
}
/**
* Returns an immutable copy of {@code this} with just the {@code webUrl} field
* changed. Field description below. The field name is also added to an internal
* map of changed fields in the returned object so that when {@code this.patch()}
* is called (if available)on the returned object only the changed fields are
* submitted.
*
* Org.OData.Core.V1.Computed
*
* true
*
* @param webUrl
* new value of {@code webUrl} field (as defined in service metadata)
* @return immutable copy of {@code this} with just the {@code webUrl} field changed
*/
public EducationAssignment withWebUrl(String webUrl) {
EducationAssignment _x = _copy();
_x.changedFields = changedFields.add("webUrl");
_x.odataType = Util.nvl(odataType, "microsoft.graph.educationAssignment");
_x.webUrl = webUrl;
return _x;
}
public EducationAssignment withUnmappedField(String name, String value) {
EducationAssignment _x = _copy();
_x.setUnmappedField(name, value);
return _x;
}
@NavigationProperty(name="categories")
@JsonIgnore
public EducationCategoryCollectionRequest getCategories() {
return new EducationCategoryCollectionRequest(
contextPath.addSegment("categories"), RequestHelper.getValue(unmappedFields, "categories"));
}
@NavigationProperty(name="resources")
@JsonIgnore
public EducationAssignmentResourceCollectionRequest getResources() {
return new EducationAssignmentResourceCollectionRequest(
contextPath.addSegment("resources"), RequestHelper.getValue(unmappedFields, "resources"));
}
@NavigationProperty(name="rubric")
@JsonIgnore
public EducationRubricRequest getRubric() {
return new EducationRubricRequest(contextPath.addSegment("rubric"), RequestHelper.getValue(unmappedFields, "rubric"));
}
@NavigationProperty(name="submissions")
@JsonIgnore
public EducationSubmissionCollectionRequest getSubmissions() {
return new EducationSubmissionCollectionRequest(
contextPath.addSegment("submissions"), RequestHelper.getValue(unmappedFields, "submissions"));
}
@JsonAnySetter
private void setUnmappedField(String name, Object value) {
if (unmappedFields == null) {
unmappedFields = new UnmappedFieldsImpl();
}
unmappedFields.put(name, value);
}
@JsonAnyGetter
private UnmappedFieldsImpl unmappedFields() {
return unmappedFields == null ? UnmappedFieldsImpl.EMPTY : unmappedFields;
}
@Override
public UnmappedFields getUnmappedFields() {
return unmappedFields();
}
/**
* Submits only changed fields for update and returns an
* immutable copy of {@code this} with changed fields reset.
*
* @return a copy of {@code this} with changed fields reset
* @throws ClientException if HTTP response is not as expected
*/
public EducationAssignment patch() {
RequestHelper.patch(this, contextPath, RequestOptions.EMPTY);
EducationAssignment _x = _copy();
_x.changedFields = null;
return _x;
}
/**
* Submits all fields for update and returns an immutable copy of {@code this}
* with changed fields reset (they were ignored anyway).
*
* @return a copy of {@code this} with changed fields reset
* @throws ClientException if HTTP response is not as expected
*/
public EducationAssignment put() {
RequestHelper.put(this, contextPath, RequestOptions.EMPTY);
EducationAssignment _x = _copy();
_x.changedFields = null;
return _x;
}
private EducationAssignment _copy() {
EducationAssignment _x = new EducationAssignment();
_x.contextPath = contextPath;
_x.changedFields = changedFields;
_x.unmappedFields = unmappedFields.copy();
_x.odataType = odataType;
_x.id = id;
_x.addedStudentAction = addedStudentAction;
_x.addToCalendarAction = addToCalendarAction;
_x.allowLateSubmissions = allowLateSubmissions;
_x.allowStudentsToAddResourcesToSubmission = allowStudentsToAddResourcesToSubmission;
_x.assignDateTime = assignDateTime;
_x.assignedDateTime = assignedDateTime;
_x.assignTo = assignTo;
_x.classId = classId;
_x.closeDateTime = closeDateTime;
_x.createdBy = createdBy;
_x.createdDateTime = createdDateTime;
_x.displayName = displayName;
_x.dueDateTime = dueDateTime;
_x.feedbackResourcesFolderUrl = feedbackResourcesFolderUrl;
_x.grading = grading;
_x.instructions = instructions;
_x.lastModifiedBy = lastModifiedBy;
_x.lastModifiedDateTime = lastModifiedDateTime;
_x.notificationChannelUrl = notificationChannelUrl;
_x.resourcesFolderUrl = resourcesFolderUrl;
_x.status = status;
_x.webUrl = webUrl;
return _x;
}
@Action(name = "publish")
@JsonIgnore
public ActionRequestReturningNonCollectionUnwrapped publish() {
Map _parameters = ParameterMap.empty();
return new ActionRequestReturningNonCollectionUnwrapped(this.contextPath.addActionOrFunctionSegment("microsoft.graph.publish"), EducationAssignment.class, _parameters);
}
@Action(name = "setUpFeedbackResourcesFolder")
@JsonIgnore
public ActionRequestReturningNonCollectionUnwrapped setUpFeedbackResourcesFolder() {
Map _parameters = ParameterMap.empty();
return new ActionRequestReturningNonCollectionUnwrapped(this.contextPath.addActionOrFunctionSegment("microsoft.graph.setUpFeedbackResourcesFolder"), EducationAssignment.class, _parameters);
}
@Action(name = "setUpResourcesFolder")
@JsonIgnore
public ActionRequestReturningNonCollectionUnwrapped setUpResourcesFolder() {
Map _parameters = ParameterMap.empty();
return new ActionRequestReturningNonCollectionUnwrapped(this.contextPath.addActionOrFunctionSegment("microsoft.graph.setUpResourcesFolder"), EducationAssignment.class, _parameters);
}
@Override
public String toString() {
StringBuilder b = new StringBuilder();
b.append("EducationAssignment[");
b.append("id=");
b.append(this.id);
b.append(", ");
b.append("addedStudentAction=");
b.append(this.addedStudentAction);
b.append(", ");
b.append("addToCalendarAction=");
b.append(this.addToCalendarAction);
b.append(", ");
b.append("allowLateSubmissions=");
b.append(this.allowLateSubmissions);
b.append(", ");
b.append("allowStudentsToAddResourcesToSubmission=");
b.append(this.allowStudentsToAddResourcesToSubmission);
b.append(", ");
b.append("assignDateTime=");
b.append(this.assignDateTime);
b.append(", ");
b.append("assignedDateTime=");
b.append(this.assignedDateTime);
b.append(", ");
b.append("assignTo=");
b.append(this.assignTo);
b.append(", ");
b.append("classId=");
b.append(this.classId);
b.append(", ");
b.append("closeDateTime=");
b.append(this.closeDateTime);
b.append(", ");
b.append("createdBy=");
b.append(this.createdBy);
b.append(", ");
b.append("createdDateTime=");
b.append(this.createdDateTime);
b.append(", ");
b.append("displayName=");
b.append(this.displayName);
b.append(", ");
b.append("dueDateTime=");
b.append(this.dueDateTime);
b.append(", ");
b.append("feedbackResourcesFolderUrl=");
b.append(this.feedbackResourcesFolderUrl);
b.append(", ");
b.append("grading=");
b.append(this.grading);
b.append(", ");
b.append("instructions=");
b.append(this.instructions);
b.append(", ");
b.append("lastModifiedBy=");
b.append(this.lastModifiedBy);
b.append(", ");
b.append("lastModifiedDateTime=");
b.append(this.lastModifiedDateTime);
b.append(", ");
b.append("notificationChannelUrl=");
b.append(this.notificationChannelUrl);
b.append(", ");
b.append("resourcesFolderUrl=");
b.append(this.resourcesFolderUrl);
b.append(", ");
b.append("status=");
b.append(this.status);
b.append(", ");
b.append("webUrl=");
b.append(this.webUrl);
b.append("]");
b.append(",unmappedFields=");
b.append(unmappedFields);
b.append(",odataType=");
b.append(odataType);
return b.toString();
}
}