
odata.msgraph.client.complex.MessageRuleActions Maven / Gradle / Ivy
package odata.msgraph.client.complex;
import com.fasterxml.jackson.annotation.JacksonInject;
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.CollectionPage;
import com.github.davidmoten.odata.client.ContextPath;
import com.github.davidmoten.odata.client.HttpRequestOptions;
import com.github.davidmoten.odata.client.ODataType;
import com.github.davidmoten.odata.client.UnmappedFields;
import com.github.davidmoten.odata.client.Util;
import com.github.davidmoten.odata.client.annotation.Property;
import com.github.davidmoten.odata.client.internal.ChangedFields;
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.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import odata.msgraph.client.enums.Importance;
@JsonPropertyOrder({
"@odata.type",
"assignCategories",
"copyToFolder",
"delete",
"forwardAsAttachmentTo",
"forwardTo",
"markAsRead",
"markImportance",
"moveToFolder",
"permanentDelete",
"redirectTo",
"stopProcessingRules"})
@JsonInclude(Include.NON_NULL)
public class MessageRuleActions implements ODataType {
@JacksonInject
@JsonIgnore
protected ContextPath contextPath;
@JacksonInject
@JsonIgnore
protected UnmappedFieldsImpl unmappedFields;
@JsonProperty("@odata.type")
protected String odataType;
@JsonProperty("assignCategories")
protected List assignCategories;
@JsonProperty("assignCategories@nextLink")
protected String assignCategoriesNextLink;
@JsonProperty("copyToFolder")
protected String copyToFolder;
@JsonProperty("delete")
protected Boolean delete;
@JsonProperty("forwardAsAttachmentTo")
protected List forwardAsAttachmentTo;
@JsonProperty("forwardAsAttachmentTo@nextLink")
protected String forwardAsAttachmentToNextLink;
@JsonProperty("forwardTo")
protected List forwardTo;
@JsonProperty("forwardTo@nextLink")
protected String forwardToNextLink;
@JsonProperty("markAsRead")
protected Boolean markAsRead;
@JsonProperty("markImportance")
protected Importance markImportance;
@JsonProperty("moveToFolder")
protected String moveToFolder;
@JsonProperty("permanentDelete")
protected Boolean permanentDelete;
@JsonProperty("redirectTo")
protected List redirectTo;
@JsonProperty("redirectTo@nextLink")
protected String redirectToNextLink;
@JsonProperty("stopProcessingRules")
protected Boolean stopProcessingRules;
protected MessageRuleActions() {
}
@Override
public String odataTypeName() {
return "microsoft.graph.messageRuleActions";
}
@Property(name="assignCategories")
@JsonIgnore
public CollectionPage getAssignCategories() {
return new CollectionPage(contextPath, String.class, this.assignCategories, Optional.ofNullable(assignCategoriesNextLink), Collections.emptyList(), HttpRequestOptions.EMPTY);
}
@Property(name="assignCategories")
@JsonIgnore
public CollectionPage getAssignCategories(HttpRequestOptions options) {
return new CollectionPage(contextPath, String.class, this.assignCategories, Optional.ofNullable(assignCategoriesNextLink), Collections.emptyList(), options);
}
@Property(name="copyToFolder")
@JsonIgnore
public Optional getCopyToFolder() {
return Optional.ofNullable(copyToFolder);
}
public MessageRuleActions withCopyToFolder(String copyToFolder) {
MessageRuleActions _x = _copy();
_x.odataType = Util.nvl(odataType, "microsoft.graph.messageRuleActions");
_x.copyToFolder = copyToFolder;
return _x;
}
@Property(name="delete")
@JsonIgnore
public Optional getDelete() {
return Optional.ofNullable(delete);
}
public MessageRuleActions withDelete(Boolean delete) {
MessageRuleActions _x = _copy();
_x.odataType = Util.nvl(odataType, "microsoft.graph.messageRuleActions");
_x.delete = delete;
return _x;
}
@Property(name="forwardAsAttachmentTo")
@JsonIgnore
public CollectionPage getForwardAsAttachmentTo() {
return new CollectionPage(contextPath, Recipient.class, this.forwardAsAttachmentTo, Optional.ofNullable(forwardAsAttachmentToNextLink), Collections.emptyList(), HttpRequestOptions.EMPTY);
}
@Property(name="forwardAsAttachmentTo")
@JsonIgnore
public CollectionPage getForwardAsAttachmentTo(HttpRequestOptions options) {
return new CollectionPage(contextPath, Recipient.class, this.forwardAsAttachmentTo, Optional.ofNullable(forwardAsAttachmentToNextLink), Collections.emptyList(), options);
}
@Property(name="forwardTo")
@JsonIgnore
public CollectionPage getForwardTo() {
return new CollectionPage(contextPath, Recipient.class, this.forwardTo, Optional.ofNullable(forwardToNextLink), Collections.emptyList(), HttpRequestOptions.EMPTY);
}
@Property(name="forwardTo")
@JsonIgnore
public CollectionPage getForwardTo(HttpRequestOptions options) {
return new CollectionPage(contextPath, Recipient.class, this.forwardTo, Optional.ofNullable(forwardToNextLink), Collections.emptyList(), options);
}
@Property(name="markAsRead")
@JsonIgnore
public Optional getMarkAsRead() {
return Optional.ofNullable(markAsRead);
}
public MessageRuleActions withMarkAsRead(Boolean markAsRead) {
MessageRuleActions _x = _copy();
_x.odataType = Util.nvl(odataType, "microsoft.graph.messageRuleActions");
_x.markAsRead = markAsRead;
return _x;
}
@Property(name="markImportance")
@JsonIgnore
public Optional getMarkImportance() {
return Optional.ofNullable(markImportance);
}
public MessageRuleActions withMarkImportance(Importance markImportance) {
MessageRuleActions _x = _copy();
_x.odataType = Util.nvl(odataType, "microsoft.graph.messageRuleActions");
_x.markImportance = markImportance;
return _x;
}
@Property(name="moveToFolder")
@JsonIgnore
public Optional getMoveToFolder() {
return Optional.ofNullable(moveToFolder);
}
public MessageRuleActions withMoveToFolder(String moveToFolder) {
MessageRuleActions _x = _copy();
_x.odataType = Util.nvl(odataType, "microsoft.graph.messageRuleActions");
_x.moveToFolder = moveToFolder;
return _x;
}
@Property(name="permanentDelete")
@JsonIgnore
public Optional getPermanentDelete() {
return Optional.ofNullable(permanentDelete);
}
public MessageRuleActions withPermanentDelete(Boolean permanentDelete) {
MessageRuleActions _x = _copy();
_x.odataType = Util.nvl(odataType, "microsoft.graph.messageRuleActions");
_x.permanentDelete = permanentDelete;
return _x;
}
@Property(name="redirectTo")
@JsonIgnore
public CollectionPage getRedirectTo() {
return new CollectionPage(contextPath, Recipient.class, this.redirectTo, Optional.ofNullable(redirectToNextLink), Collections.emptyList(), HttpRequestOptions.EMPTY);
}
@Property(name="redirectTo")
@JsonIgnore
public CollectionPage getRedirectTo(HttpRequestOptions options) {
return new CollectionPage(contextPath, Recipient.class, this.redirectTo, Optional.ofNullable(redirectToNextLink), Collections.emptyList(), options);
}
@Property(name="stopProcessingRules")
@JsonIgnore
public Optional getStopProcessingRules() {
return Optional.ofNullable(stopProcessingRules);
}
public MessageRuleActions withStopProcessingRules(Boolean stopProcessingRules) {
MessageRuleActions _x = _copy();
_x.odataType = Util.nvl(odataType, "microsoft.graph.messageRuleActions");
_x.stopProcessingRules = stopProcessingRules;
return _x;
}
public MessageRuleActions withUnmappedField(String name, String value) {
MessageRuleActions _x = _copy();
_x.setUnmappedField(name, value);
return _x;
}
@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();
}
@Override
public void postInject(boolean addKeysToContextPath) {
// do nothing;
}
/**
* 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 builder() {
return new Builder();
}
public static final class Builder {
private List assignCategories;
private String assignCategoriesNextLink;
private String copyToFolder;
private Boolean delete;
private List forwardAsAttachmentTo;
private String forwardAsAttachmentToNextLink;
private List forwardTo;
private String forwardToNextLink;
private Boolean markAsRead;
private Importance markImportance;
private String moveToFolder;
private Boolean permanentDelete;
private List redirectTo;
private String redirectToNextLink;
private Boolean stopProcessingRules;
private ChangedFields changedFields = ChangedFields.EMPTY;
Builder() {
// prevent instantiation
}
public Builder assignCategories(List assignCategories) {
this.assignCategories = assignCategories;
this.changedFields = changedFields.add("assignCategories");
return this;
}
public Builder assignCategories(String... assignCategories) {
return assignCategories(Arrays.asList(assignCategories));
}
public Builder assignCategoriesNextLink(String assignCategoriesNextLink) {
this.assignCategoriesNextLink = assignCategoriesNextLink;
this.changedFields = changedFields.add("assignCategories");
return this;
}
public Builder copyToFolder(String copyToFolder) {
this.copyToFolder = copyToFolder;
this.changedFields = changedFields.add("copyToFolder");
return this;
}
public Builder delete(Boolean delete) {
this.delete = delete;
this.changedFields = changedFields.add("delete");
return this;
}
public Builder forwardAsAttachmentTo(List forwardAsAttachmentTo) {
this.forwardAsAttachmentTo = forwardAsAttachmentTo;
this.changedFields = changedFields.add("forwardAsAttachmentTo");
return this;
}
public Builder forwardAsAttachmentTo(Recipient... forwardAsAttachmentTo) {
return forwardAsAttachmentTo(Arrays.asList(forwardAsAttachmentTo));
}
public Builder forwardAsAttachmentToNextLink(String forwardAsAttachmentToNextLink) {
this.forwardAsAttachmentToNextLink = forwardAsAttachmentToNextLink;
this.changedFields = changedFields.add("forwardAsAttachmentTo");
return this;
}
public Builder forwardTo(List forwardTo) {
this.forwardTo = forwardTo;
this.changedFields = changedFields.add("forwardTo");
return this;
}
public Builder forwardTo(Recipient... forwardTo) {
return forwardTo(Arrays.asList(forwardTo));
}
public Builder forwardToNextLink(String forwardToNextLink) {
this.forwardToNextLink = forwardToNextLink;
this.changedFields = changedFields.add("forwardTo");
return this;
}
public Builder markAsRead(Boolean markAsRead) {
this.markAsRead = markAsRead;
this.changedFields = changedFields.add("markAsRead");
return this;
}
public Builder markImportance(Importance markImportance) {
this.markImportance = markImportance;
this.changedFields = changedFields.add("markImportance");
return this;
}
public Builder moveToFolder(String moveToFolder) {
this.moveToFolder = moveToFolder;
this.changedFields = changedFields.add("moveToFolder");
return this;
}
public Builder permanentDelete(Boolean permanentDelete) {
this.permanentDelete = permanentDelete;
this.changedFields = changedFields.add("permanentDelete");
return this;
}
public Builder redirectTo(List redirectTo) {
this.redirectTo = redirectTo;
this.changedFields = changedFields.add("redirectTo");
return this;
}
public Builder redirectTo(Recipient... redirectTo) {
return redirectTo(Arrays.asList(redirectTo));
}
public Builder redirectToNextLink(String redirectToNextLink) {
this.redirectToNextLink = redirectToNextLink;
this.changedFields = changedFields.add("redirectTo");
return this;
}
public Builder stopProcessingRules(Boolean stopProcessingRules) {
this.stopProcessingRules = stopProcessingRules;
this.changedFields = changedFields.add("stopProcessingRules");
return this;
}
public MessageRuleActions build() {
MessageRuleActions _x = new MessageRuleActions();
_x.contextPath = null;
_x.unmappedFields = new UnmappedFieldsImpl();
_x.odataType = "microsoft.graph.messageRuleActions";
_x.assignCategories = assignCategories;
_x.assignCategoriesNextLink = assignCategoriesNextLink;
_x.copyToFolder = copyToFolder;
_x.delete = delete;
_x.forwardAsAttachmentTo = forwardAsAttachmentTo;
_x.forwardAsAttachmentToNextLink = forwardAsAttachmentToNextLink;
_x.forwardTo = forwardTo;
_x.forwardToNextLink = forwardToNextLink;
_x.markAsRead = markAsRead;
_x.markImportance = markImportance;
_x.moveToFolder = moveToFolder;
_x.permanentDelete = permanentDelete;
_x.redirectTo = redirectTo;
_x.redirectToNextLink = redirectToNextLink;
_x.stopProcessingRules = stopProcessingRules;
return _x;
}
}
private MessageRuleActions _copy() {
MessageRuleActions _x = new MessageRuleActions();
_x.contextPath = contextPath;
_x.unmappedFields = unmappedFields.copy();
_x.odataType = odataType;
_x.assignCategories = assignCategories;
_x.copyToFolder = copyToFolder;
_x.delete = delete;
_x.forwardAsAttachmentTo = forwardAsAttachmentTo;
_x.forwardTo = forwardTo;
_x.markAsRead = markAsRead;
_x.markImportance = markImportance;
_x.moveToFolder = moveToFolder;
_x.permanentDelete = permanentDelete;
_x.redirectTo = redirectTo;
_x.stopProcessingRules = stopProcessingRules;
return _x;
}
@Override
public String toString() {
StringBuilder b = new StringBuilder();
b.append("MessageRuleActions[");
b.append("assignCategories=");
b.append(this.assignCategories);
b.append(", ");
b.append("copyToFolder=");
b.append(this.copyToFolder);
b.append(", ");
b.append("delete=");
b.append(this.delete);
b.append(", ");
b.append("forwardAsAttachmentTo=");
b.append(this.forwardAsAttachmentTo);
b.append(", ");
b.append("forwardTo=");
b.append(this.forwardTo);
b.append(", ");
b.append("markAsRead=");
b.append(this.markAsRead);
b.append(", ");
b.append("markImportance=");
b.append(this.markImportance);
b.append(", ");
b.append("moveToFolder=");
b.append(this.moveToFolder);
b.append(", ");
b.append("permanentDelete=");
b.append(this.permanentDelete);
b.append(", ");
b.append("redirectTo=");
b.append(this.redirectTo);
b.append(", ");
b.append("stopProcessingRules=");
b.append(this.stopProcessingRules);
b.append("]");
b.append(",unmappedFields=");
b.append(unmappedFields);
b.append(",odataType=");
b.append(odataType);
return b.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy