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

odata.msgraph.client.entity.AndroidWorkProfileGeneralDeviceConfiguration 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.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.Property;
import com.github.davidmoten.odata.client.internal.ChangedFields;
import com.github.davidmoten.odata.client.internal.RequestHelper;
import com.github.davidmoten.odata.client.internal.UnmappedFieldsImpl;

import java.lang.Boolean;
import java.lang.Integer;
import java.lang.Object;
import java.lang.Override;
import java.lang.String;
import java.lang.StringBuilder;
import java.time.OffsetDateTime;
import java.util.Optional;

import odata.msgraph.client.enums.AndroidWorkProfileCrossProfileDataSharingType;
import odata.msgraph.client.enums.AndroidWorkProfileDefaultAppPermissionPolicyType;
import odata.msgraph.client.enums.AndroidWorkProfileRequiredPasswordType;


/**
 * “Android Work Profile general device configuration.”
 */@JsonPropertyOrder({
    "@odata.type", 
    "passwordBlockFingerprintUnlock", 
    "passwordBlockTrustAgents", 
    "passwordExpirationDays", 
    "passwordMinimumLength", 
    "passwordMinutesOfInactivityBeforeScreenTimeout", 
    "passwordPreviousPasswordBlockCount", 
    "passwordRequiredType", 
    "passwordSignInFailureCountBeforeFactoryReset", 
    "securityRequireVerifyApps", 
    "workProfileBlockAddingAccounts", 
    "workProfileBlockCamera", 
    "workProfileBlockCrossProfileCallerId", 
    "workProfileBlockCrossProfileContactsSearch", 
    "workProfileBlockCrossProfileCopyPaste", 
    "workProfileBlockNotificationsWhileDeviceLocked", 
    "workProfileBlockScreenCapture", 
    "workProfileBluetoothEnableContactSharing", 
    "workProfileDataSharingType", 
    "workProfileDefaultAppPermissionPolicy", 
    "workProfilePasswordBlockFingerprintUnlock", 
    "workProfilePasswordBlockTrustAgents", 
    "workProfilePasswordExpirationDays", 
    "workProfilePasswordMinimumLength", 
    "workProfilePasswordMinLetterCharacters", 
    "workProfilePasswordMinLowerCaseCharacters", 
    "workProfilePasswordMinNonLetterCharacters", 
    "workProfilePasswordMinNumericCharacters", 
    "workProfilePasswordMinSymbolCharacters", 
    "workProfilePasswordMinUpperCaseCharacters", 
    "workProfilePasswordMinutesOfInactivityBeforeScreenTimeout", 
    "workProfilePasswordPreviousPasswordBlockCount", 
    "workProfilePasswordRequiredType", 
    "workProfilePasswordSignInFailureCountBeforeFactoryReset", 
    "workProfileRequirePassword"})
@JsonInclude(Include.NON_NULL)
public class AndroidWorkProfileGeneralDeviceConfiguration extends DeviceConfiguration implements ODataEntityType {

    @Override
    public String odataTypeName() {
        return "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration";
    }

    @JsonProperty("passwordBlockFingerprintUnlock")
    protected Boolean passwordBlockFingerprintUnlock;

    @JsonProperty("passwordBlockTrustAgents")
    protected Boolean passwordBlockTrustAgents;

    @JsonProperty("passwordExpirationDays")
    protected Integer passwordExpirationDays;

    @JsonProperty("passwordMinimumLength")
    protected Integer passwordMinimumLength;

    @JsonProperty("passwordMinutesOfInactivityBeforeScreenTimeout")
    protected Integer passwordMinutesOfInactivityBeforeScreenTimeout;

    @JsonProperty("passwordPreviousPasswordBlockCount")
    protected Integer passwordPreviousPasswordBlockCount;

    @JsonProperty("passwordRequiredType")
    protected AndroidWorkProfileRequiredPasswordType passwordRequiredType;

    @JsonProperty("passwordSignInFailureCountBeforeFactoryReset")
    protected Integer passwordSignInFailureCountBeforeFactoryReset;

    @JsonProperty("securityRequireVerifyApps")
    protected Boolean securityRequireVerifyApps;

    @JsonProperty("workProfileBlockAddingAccounts")
    protected Boolean workProfileBlockAddingAccounts;

    @JsonProperty("workProfileBlockCamera")
    protected Boolean workProfileBlockCamera;

    @JsonProperty("workProfileBlockCrossProfileCallerId")
    protected Boolean workProfileBlockCrossProfileCallerId;

    @JsonProperty("workProfileBlockCrossProfileContactsSearch")
    protected Boolean workProfileBlockCrossProfileContactsSearch;

    @JsonProperty("workProfileBlockCrossProfileCopyPaste")
    protected Boolean workProfileBlockCrossProfileCopyPaste;

    @JsonProperty("workProfileBlockNotificationsWhileDeviceLocked")
    protected Boolean workProfileBlockNotificationsWhileDeviceLocked;

    @JsonProperty("workProfileBlockScreenCapture")
    protected Boolean workProfileBlockScreenCapture;

    @JsonProperty("workProfileBluetoothEnableContactSharing")
    protected Boolean workProfileBluetoothEnableContactSharing;

    @JsonProperty("workProfileDataSharingType")
    protected AndroidWorkProfileCrossProfileDataSharingType workProfileDataSharingType;

    @JsonProperty("workProfileDefaultAppPermissionPolicy")
    protected AndroidWorkProfileDefaultAppPermissionPolicyType workProfileDefaultAppPermissionPolicy;

    @JsonProperty("workProfilePasswordBlockFingerprintUnlock")
    protected Boolean workProfilePasswordBlockFingerprintUnlock;

    @JsonProperty("workProfilePasswordBlockTrustAgents")
    protected Boolean workProfilePasswordBlockTrustAgents;

    @JsonProperty("workProfilePasswordExpirationDays")
    protected Integer workProfilePasswordExpirationDays;

    @JsonProperty("workProfilePasswordMinimumLength")
    protected Integer workProfilePasswordMinimumLength;

    @JsonProperty("workProfilePasswordMinLetterCharacters")
    protected Integer workProfilePasswordMinLetterCharacters;

    @JsonProperty("workProfilePasswordMinLowerCaseCharacters")
    protected Integer workProfilePasswordMinLowerCaseCharacters;

    @JsonProperty("workProfilePasswordMinNonLetterCharacters")
    protected Integer workProfilePasswordMinNonLetterCharacters;

    @JsonProperty("workProfilePasswordMinNumericCharacters")
    protected Integer workProfilePasswordMinNumericCharacters;

    @JsonProperty("workProfilePasswordMinSymbolCharacters")
    protected Integer workProfilePasswordMinSymbolCharacters;

    @JsonProperty("workProfilePasswordMinUpperCaseCharacters")
    protected Integer workProfilePasswordMinUpperCaseCharacters;

    @JsonProperty("workProfilePasswordMinutesOfInactivityBeforeScreenTimeout")
    protected Integer workProfilePasswordMinutesOfInactivityBeforeScreenTimeout;

    @JsonProperty("workProfilePasswordPreviousPasswordBlockCount")
    protected Integer workProfilePasswordPreviousPasswordBlockCount;

    @JsonProperty("workProfilePasswordRequiredType")
    protected AndroidWorkProfileRequiredPasswordType workProfilePasswordRequiredType;

    @JsonProperty("workProfilePasswordSignInFailureCountBeforeFactoryReset")
    protected Integer workProfilePasswordSignInFailureCountBeforeFactoryReset;

    @JsonProperty("workProfileRequirePassword")
    protected Boolean workProfileRequirePassword;

    protected AndroidWorkProfileGeneralDeviceConfiguration() {
        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 builderAndroidWorkProfileGeneralDeviceConfiguration() {
        return new Builder();
    }

    public static final class Builder {
        private String id;
        private OffsetDateTime createdDateTime;
        private String description;
        private String displayName;
        private OffsetDateTime lastModifiedDateTime;
        private Integer version;
        private Boolean passwordBlockFingerprintUnlock;
        private Boolean passwordBlockTrustAgents;
        private Integer passwordExpirationDays;
        private Integer passwordMinimumLength;
        private Integer passwordMinutesOfInactivityBeforeScreenTimeout;
        private Integer passwordPreviousPasswordBlockCount;
        private AndroidWorkProfileRequiredPasswordType passwordRequiredType;
        private Integer passwordSignInFailureCountBeforeFactoryReset;
        private Boolean securityRequireVerifyApps;
        private Boolean workProfileBlockAddingAccounts;
        private Boolean workProfileBlockCamera;
        private Boolean workProfileBlockCrossProfileCallerId;
        private Boolean workProfileBlockCrossProfileContactsSearch;
        private Boolean workProfileBlockCrossProfileCopyPaste;
        private Boolean workProfileBlockNotificationsWhileDeviceLocked;
        private Boolean workProfileBlockScreenCapture;
        private Boolean workProfileBluetoothEnableContactSharing;
        private AndroidWorkProfileCrossProfileDataSharingType workProfileDataSharingType;
        private AndroidWorkProfileDefaultAppPermissionPolicyType workProfileDefaultAppPermissionPolicy;
        private Boolean workProfilePasswordBlockFingerprintUnlock;
        private Boolean workProfilePasswordBlockTrustAgents;
        private Integer workProfilePasswordExpirationDays;
        private Integer workProfilePasswordMinimumLength;
        private Integer workProfilePasswordMinLetterCharacters;
        private Integer workProfilePasswordMinLowerCaseCharacters;
        private Integer workProfilePasswordMinNonLetterCharacters;
        private Integer workProfilePasswordMinNumericCharacters;
        private Integer workProfilePasswordMinSymbolCharacters;
        private Integer workProfilePasswordMinUpperCaseCharacters;
        private Integer workProfilePasswordMinutesOfInactivityBeforeScreenTimeout;
        private Integer workProfilePasswordPreviousPasswordBlockCount;
        private AndroidWorkProfileRequiredPasswordType workProfilePasswordRequiredType;
        private Integer workProfilePasswordSignInFailureCountBeforeFactoryReset;
        private Boolean workProfileRequirePassword;
        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 createdDateTime(OffsetDateTime createdDateTime) {
            this.createdDateTime = createdDateTime;
            this.changedFields = changedFields.add("createdDateTime");
            return this;
        }

        public Builder description(String description) {
            this.description = description;
            this.changedFields = changedFields.add("description");
            return this;
        }

        public Builder displayName(String displayName) {
            this.displayName = displayName;
            this.changedFields = changedFields.add("displayName");
            return this;
        }

        public Builder lastModifiedDateTime(OffsetDateTime lastModifiedDateTime) {
            this.lastModifiedDateTime = lastModifiedDateTime;
            this.changedFields = changedFields.add("lastModifiedDateTime");
            return this;
        }

        public Builder version(Integer version) {
            this.version = version;
            this.changedFields = changedFields.add("version");
            return this;
        }

        /**
         * “Indicates whether or not to block fingerprint unlock.”
         * 
         * @param passwordBlockFingerprintUnlock
         *            value of {@code passwordBlockFingerprintUnlock} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder passwordBlockFingerprintUnlock(Boolean passwordBlockFingerprintUnlock) {
            this.passwordBlockFingerprintUnlock = passwordBlockFingerprintUnlock;
            this.changedFields = changedFields.add("passwordBlockFingerprintUnlock");
            return this;
        }

        /**
         * “Indicates whether or not to block Smart Lock and other trust agents.”
         * 
         * @param passwordBlockTrustAgents
         *            value of {@code passwordBlockTrustAgents} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder passwordBlockTrustAgents(Boolean passwordBlockTrustAgents) {
            this.passwordBlockTrustAgents = passwordBlockTrustAgents;
            this.changedFields = changedFields.add("passwordBlockTrustAgents");
            return this;
        }

        /**
         * “Number of days before the password expires. Valid values 1 to 365”
         * 
         * @param passwordExpirationDays
         *            value of {@code passwordExpirationDays} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder passwordExpirationDays(Integer passwordExpirationDays) {
            this.passwordExpirationDays = passwordExpirationDays;
            this.changedFields = changedFields.add("passwordExpirationDays");
            return this;
        }

        /**
         * “Minimum length of passwords. Valid values 4 to 16”
         * 
         * @param passwordMinimumLength
         *            value of {@code passwordMinimumLength} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder passwordMinimumLength(Integer passwordMinimumLength) {
            this.passwordMinimumLength = passwordMinimumLength;
            this.changedFields = changedFields.add("passwordMinimumLength");
            return this;
        }

        /**
         * “Minutes of inactivity before the screen times out.”
         * 
         * @param passwordMinutesOfInactivityBeforeScreenTimeout
         *            value of {@code passwordMinutesOfInactivityBeforeScreenTimeout} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder passwordMinutesOfInactivityBeforeScreenTimeout(Integer passwordMinutesOfInactivityBeforeScreenTimeout) {
            this.passwordMinutesOfInactivityBeforeScreenTimeout = passwordMinutesOfInactivityBeforeScreenTimeout;
            this.changedFields = changedFields.add("passwordMinutesOfInactivityBeforeScreenTimeout");
            return this;
        }

        /**
         * “Number of previous passwords to block. Valid values 0 to 24”
         * 
         * @param passwordPreviousPasswordBlockCount
         *            value of {@code passwordPreviousPasswordBlockCount} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder passwordPreviousPasswordBlockCount(Integer passwordPreviousPasswordBlockCount) {
            this.passwordPreviousPasswordBlockCount = passwordPreviousPasswordBlockCount;
            this.changedFields = changedFields.add("passwordPreviousPasswordBlockCount");
            return this;
        }

        /**
         * “Type of password that is required.”
         * 
         * @param passwordRequiredType
         *            value of {@code passwordRequiredType} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder passwordRequiredType(AndroidWorkProfileRequiredPasswordType passwordRequiredType) {
            this.passwordRequiredType = passwordRequiredType;
            this.changedFields = changedFields.add("passwordRequiredType");
            return this;
        }

        /**
         * “Number of sign in failures allowed before factory reset. Valid values 1 to 16”
         * 
         * @param passwordSignInFailureCountBeforeFactoryReset
         *            value of {@code passwordSignInFailureCountBeforeFactoryReset} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder passwordSignInFailureCountBeforeFactoryReset(Integer passwordSignInFailureCountBeforeFactoryReset) {
            this.passwordSignInFailureCountBeforeFactoryReset = passwordSignInFailureCountBeforeFactoryReset;
            this.changedFields = changedFields.add("passwordSignInFailureCountBeforeFactoryReset");
            return this;
        }

        /**
         * “Require the Android Verify apps feature is turned on.”
         * 
         * @param securityRequireVerifyApps
         *            value of {@code securityRequireVerifyApps} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder securityRequireVerifyApps(Boolean securityRequireVerifyApps) {
            this.securityRequireVerifyApps = securityRequireVerifyApps;
            this.changedFields = changedFields.add("securityRequireVerifyApps");
            return this;
        }

        /**
         * “Block users from adding/removing accounts in work profile.”
         * 
         * @param workProfileBlockAddingAccounts
         *            value of {@code workProfileBlockAddingAccounts} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfileBlockAddingAccounts(Boolean workProfileBlockAddingAccounts) {
            this.workProfileBlockAddingAccounts = workProfileBlockAddingAccounts;
            this.changedFields = changedFields.add("workProfileBlockAddingAccounts");
            return this;
        }

        /**
         * “Block work profile camera.”
         * 
         * @param workProfileBlockCamera
         *            value of {@code workProfileBlockCamera} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfileBlockCamera(Boolean workProfileBlockCamera) {
            this.workProfileBlockCamera = workProfileBlockCamera;
            this.changedFields = changedFields.add("workProfileBlockCamera");
            return this;
        }

        /**
         * “Block display work profile caller ID in personal profile.”
         * 
         * @param workProfileBlockCrossProfileCallerId
         *            value of {@code workProfileBlockCrossProfileCallerId} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfileBlockCrossProfileCallerId(Boolean workProfileBlockCrossProfileCallerId) {
            this.workProfileBlockCrossProfileCallerId = workProfileBlockCrossProfileCallerId;
            this.changedFields = changedFields.add("workProfileBlockCrossProfileCallerId");
            return this;
        }

        /**
         * “Block work profile contacts availability in personal profile.”
         * 
         * @param workProfileBlockCrossProfileContactsSearch
         *            value of {@code workProfileBlockCrossProfileContactsSearch} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfileBlockCrossProfileContactsSearch(Boolean workProfileBlockCrossProfileContactsSearch) {
            this.workProfileBlockCrossProfileContactsSearch = workProfileBlockCrossProfileContactsSearch;
            this.changedFields = changedFields.add("workProfileBlockCrossProfileContactsSearch");
            return this;
        }

        /**
         * “Boolean that indicates if the setting disallow cross profile copy/paste is
         * enabled.”
         * 
         * @param workProfileBlockCrossProfileCopyPaste
         *            value of {@code workProfileBlockCrossProfileCopyPaste} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfileBlockCrossProfileCopyPaste(Boolean workProfileBlockCrossProfileCopyPaste) {
            this.workProfileBlockCrossProfileCopyPaste = workProfileBlockCrossProfileCopyPaste;
            this.changedFields = changedFields.add("workProfileBlockCrossProfileCopyPaste");
            return this;
        }

        /**
         * “Indicates whether or not to block notifications while device locked.”
         * 
         * @param workProfileBlockNotificationsWhileDeviceLocked
         *            value of {@code workProfileBlockNotificationsWhileDeviceLocked} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfileBlockNotificationsWhileDeviceLocked(Boolean workProfileBlockNotificationsWhileDeviceLocked) {
            this.workProfileBlockNotificationsWhileDeviceLocked = workProfileBlockNotificationsWhileDeviceLocked;
            this.changedFields = changedFields.add("workProfileBlockNotificationsWhileDeviceLocked");
            return this;
        }

        /**
         * “Block screen capture in work profile.”
         * 
         * @param workProfileBlockScreenCapture
         *            value of {@code workProfileBlockScreenCapture} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfileBlockScreenCapture(Boolean workProfileBlockScreenCapture) {
            this.workProfileBlockScreenCapture = workProfileBlockScreenCapture;
            this.changedFields = changedFields.add("workProfileBlockScreenCapture");
            return this;
        }

        /**
         * “Allow bluetooth devices to access enterprise contacts.”
         * 
         * @param workProfileBluetoothEnableContactSharing
         *            value of {@code workProfileBluetoothEnableContactSharing} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfileBluetoothEnableContactSharing(Boolean workProfileBluetoothEnableContactSharing) {
            this.workProfileBluetoothEnableContactSharing = workProfileBluetoothEnableContactSharing;
            this.changedFields = changedFields.add("workProfileBluetoothEnableContactSharing");
            return this;
        }

        /**
         * “Type of data sharing that is allowed.”
         * 
         * @param workProfileDataSharingType
         *            value of {@code workProfileDataSharingType} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfileDataSharingType(AndroidWorkProfileCrossProfileDataSharingType workProfileDataSharingType) {
            this.workProfileDataSharingType = workProfileDataSharingType;
            this.changedFields = changedFields.add("workProfileDataSharingType");
            return this;
        }

        /**
         * “Type of password that is required.”
         * 
         * @param workProfileDefaultAppPermissionPolicy
         *            value of {@code workProfileDefaultAppPermissionPolicy} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfileDefaultAppPermissionPolicy(AndroidWorkProfileDefaultAppPermissionPolicyType workProfileDefaultAppPermissionPolicy) {
            this.workProfileDefaultAppPermissionPolicy = workProfileDefaultAppPermissionPolicy;
            this.changedFields = changedFields.add("workProfileDefaultAppPermissionPolicy");
            return this;
        }

        /**
         * “Indicates whether or not to block fingerprint unlock for work profile.”
         * 
         * @param workProfilePasswordBlockFingerprintUnlock
         *            value of {@code workProfilePasswordBlockFingerprintUnlock} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordBlockFingerprintUnlock(Boolean workProfilePasswordBlockFingerprintUnlock) {
            this.workProfilePasswordBlockFingerprintUnlock = workProfilePasswordBlockFingerprintUnlock;
            this.changedFields = changedFields.add("workProfilePasswordBlockFingerprintUnlock");
            return this;
        }

        /**
         * “Indicates whether or not to block Smart Lock and other trust agents for work
         * profile.”
         * 
         * @param workProfilePasswordBlockTrustAgents
         *            value of {@code workProfilePasswordBlockTrustAgents} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordBlockTrustAgents(Boolean workProfilePasswordBlockTrustAgents) {
            this.workProfilePasswordBlockTrustAgents = workProfilePasswordBlockTrustAgents;
            this.changedFields = changedFields.add("workProfilePasswordBlockTrustAgents");
            return this;
        }

        /**
         * “Number of days before the work profile password expires. Valid values 1 to 365”
         * 
         * @param workProfilePasswordExpirationDays
         *            value of {@code workProfilePasswordExpirationDays} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordExpirationDays(Integer workProfilePasswordExpirationDays) {
            this.workProfilePasswordExpirationDays = workProfilePasswordExpirationDays;
            this.changedFields = changedFields.add("workProfilePasswordExpirationDays");
            return this;
        }

        /**
         * “Minimum length of work profile password. Valid values 4 to 16”
         * 
         * @param workProfilePasswordMinimumLength
         *            value of {@code workProfilePasswordMinimumLength} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordMinimumLength(Integer workProfilePasswordMinimumLength) {
            this.workProfilePasswordMinimumLength = workProfilePasswordMinimumLength;
            this.changedFields = changedFields.add("workProfilePasswordMinimumLength");
            return this;
        }

        /**
         * “Minimum # of letter characters required in work profile password. Valid values 1
         * to 10”
         * 
         * @param workProfilePasswordMinLetterCharacters
         *            value of {@code workProfilePasswordMinLetterCharacters} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordMinLetterCharacters(Integer workProfilePasswordMinLetterCharacters) {
            this.workProfilePasswordMinLetterCharacters = workProfilePasswordMinLetterCharacters;
            this.changedFields = changedFields.add("workProfilePasswordMinLetterCharacters");
            return this;
        }

        /**
         * “Minimum # of lower-case characters required in work profile password. Valid
         * values 1 to 10”
         * 
         * @param workProfilePasswordMinLowerCaseCharacters
         *            value of {@code workProfilePasswordMinLowerCaseCharacters} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordMinLowerCaseCharacters(Integer workProfilePasswordMinLowerCaseCharacters) {
            this.workProfilePasswordMinLowerCaseCharacters = workProfilePasswordMinLowerCaseCharacters;
            this.changedFields = changedFields.add("workProfilePasswordMinLowerCaseCharacters");
            return this;
        }

        /**
         * “Minimum # of non-letter characters required in work profile password. Valid
         * values 1 to 10”
         * 
         * @param workProfilePasswordMinNonLetterCharacters
         *            value of {@code workProfilePasswordMinNonLetterCharacters} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordMinNonLetterCharacters(Integer workProfilePasswordMinNonLetterCharacters) {
            this.workProfilePasswordMinNonLetterCharacters = workProfilePasswordMinNonLetterCharacters;
            this.changedFields = changedFields.add("workProfilePasswordMinNonLetterCharacters");
            return this;
        }

        /**
         * “Minimum # of numeric characters required in work profile password. Valid values
         * 1 to 10”
         * 
         * @param workProfilePasswordMinNumericCharacters
         *            value of {@code workProfilePasswordMinNumericCharacters} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordMinNumericCharacters(Integer workProfilePasswordMinNumericCharacters) {
            this.workProfilePasswordMinNumericCharacters = workProfilePasswordMinNumericCharacters;
            this.changedFields = changedFields.add("workProfilePasswordMinNumericCharacters");
            return this;
        }

        /**
         * “Minimum # of symbols required in work profile password. Valid values 1 to 10”
         * 
         * @param workProfilePasswordMinSymbolCharacters
         *            value of {@code workProfilePasswordMinSymbolCharacters} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordMinSymbolCharacters(Integer workProfilePasswordMinSymbolCharacters) {
            this.workProfilePasswordMinSymbolCharacters = workProfilePasswordMinSymbolCharacters;
            this.changedFields = changedFields.add("workProfilePasswordMinSymbolCharacters");
            return this;
        }

        /**
         * “Minimum # of upper-case characters required in work profile password. Valid
         * values 1 to 10”
         * 
         * @param workProfilePasswordMinUpperCaseCharacters
         *            value of {@code workProfilePasswordMinUpperCaseCharacters} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordMinUpperCaseCharacters(Integer workProfilePasswordMinUpperCaseCharacters) {
            this.workProfilePasswordMinUpperCaseCharacters = workProfilePasswordMinUpperCaseCharacters;
            this.changedFields = changedFields.add("workProfilePasswordMinUpperCaseCharacters");
            return this;
        }

        /**
         * “Minutes of inactivity before the screen times out.”
         * 
         * @param workProfilePasswordMinutesOfInactivityBeforeScreenTimeout
         *            value of {@code workProfilePasswordMinutesOfInactivityBeforeScreenTimeout} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordMinutesOfInactivityBeforeScreenTimeout(Integer workProfilePasswordMinutesOfInactivityBeforeScreenTimeout) {
            this.workProfilePasswordMinutesOfInactivityBeforeScreenTimeout = workProfilePasswordMinutesOfInactivityBeforeScreenTimeout;
            this.changedFields = changedFields.add("workProfilePasswordMinutesOfInactivityBeforeScreenTimeout");
            return this;
        }

        /**
         * “Number of previous work profile passwords to block. Valid values 0 to 24”
         * 
         * @param workProfilePasswordPreviousPasswordBlockCount
         *            value of {@code workProfilePasswordPreviousPasswordBlockCount} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordPreviousPasswordBlockCount(Integer workProfilePasswordPreviousPasswordBlockCount) {
            this.workProfilePasswordPreviousPasswordBlockCount = workProfilePasswordPreviousPasswordBlockCount;
            this.changedFields = changedFields.add("workProfilePasswordPreviousPasswordBlockCount");
            return this;
        }

        /**
         * “Type of work profile password that is required.”
         * 
         * @param workProfilePasswordRequiredType
         *            value of {@code workProfilePasswordRequiredType} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordRequiredType(AndroidWorkProfileRequiredPasswordType workProfilePasswordRequiredType) {
            this.workProfilePasswordRequiredType = workProfilePasswordRequiredType;
            this.changedFields = changedFields.add("workProfilePasswordRequiredType");
            return this;
        }

        /**
         * “Number of sign in failures allowed before work profile is removed and all
         * corporate data deleted. Valid values 1 to 16”
         * 
         * @param workProfilePasswordSignInFailureCountBeforeFactoryReset
         *            value of {@code workProfilePasswordSignInFailureCountBeforeFactoryReset} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfilePasswordSignInFailureCountBeforeFactoryReset(Integer workProfilePasswordSignInFailureCountBeforeFactoryReset) {
            this.workProfilePasswordSignInFailureCountBeforeFactoryReset = workProfilePasswordSignInFailureCountBeforeFactoryReset;
            this.changedFields = changedFields.add("workProfilePasswordSignInFailureCountBeforeFactoryReset");
            return this;
        }

        /**
         * “Password is required or not for work profile”
         * 
         * @param workProfileRequirePassword
         *            value of {@code workProfileRequirePassword} property (as defined in service metadata)
         * @return {@code this} (for method chaining)
         */
        public Builder workProfileRequirePassword(Boolean workProfileRequirePassword) {
            this.workProfileRequirePassword = workProfileRequirePassword;
            this.changedFields = changedFields.add("workProfileRequirePassword");
            return this;
        }

        public AndroidWorkProfileGeneralDeviceConfiguration build() {
            AndroidWorkProfileGeneralDeviceConfiguration _x = new AndroidWorkProfileGeneralDeviceConfiguration();
            _x.contextPath = null;
            _x.changedFields = changedFields;
            _x.unmappedFields = new UnmappedFieldsImpl();
            _x.odataType = "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration";
            _x.id = id;
            _x.createdDateTime = createdDateTime;
            _x.description = description;
            _x.displayName = displayName;
            _x.lastModifiedDateTime = lastModifiedDateTime;
            _x.version = version;
            _x.passwordBlockFingerprintUnlock = passwordBlockFingerprintUnlock;
            _x.passwordBlockTrustAgents = passwordBlockTrustAgents;
            _x.passwordExpirationDays = passwordExpirationDays;
            _x.passwordMinimumLength = passwordMinimumLength;
            _x.passwordMinutesOfInactivityBeforeScreenTimeout = passwordMinutesOfInactivityBeforeScreenTimeout;
            _x.passwordPreviousPasswordBlockCount = passwordPreviousPasswordBlockCount;
            _x.passwordRequiredType = passwordRequiredType;
            _x.passwordSignInFailureCountBeforeFactoryReset = passwordSignInFailureCountBeforeFactoryReset;
            _x.securityRequireVerifyApps = securityRequireVerifyApps;
            _x.workProfileBlockAddingAccounts = workProfileBlockAddingAccounts;
            _x.workProfileBlockCamera = workProfileBlockCamera;
            _x.workProfileBlockCrossProfileCallerId = workProfileBlockCrossProfileCallerId;
            _x.workProfileBlockCrossProfileContactsSearch = workProfileBlockCrossProfileContactsSearch;
            _x.workProfileBlockCrossProfileCopyPaste = workProfileBlockCrossProfileCopyPaste;
            _x.workProfileBlockNotificationsWhileDeviceLocked = workProfileBlockNotificationsWhileDeviceLocked;
            _x.workProfileBlockScreenCapture = workProfileBlockScreenCapture;
            _x.workProfileBluetoothEnableContactSharing = workProfileBluetoothEnableContactSharing;
            _x.workProfileDataSharingType = workProfileDataSharingType;
            _x.workProfileDefaultAppPermissionPolicy = workProfileDefaultAppPermissionPolicy;
            _x.workProfilePasswordBlockFingerprintUnlock = workProfilePasswordBlockFingerprintUnlock;
            _x.workProfilePasswordBlockTrustAgents = workProfilePasswordBlockTrustAgents;
            _x.workProfilePasswordExpirationDays = workProfilePasswordExpirationDays;
            _x.workProfilePasswordMinimumLength = workProfilePasswordMinimumLength;
            _x.workProfilePasswordMinLetterCharacters = workProfilePasswordMinLetterCharacters;
            _x.workProfilePasswordMinLowerCaseCharacters = workProfilePasswordMinLowerCaseCharacters;
            _x.workProfilePasswordMinNonLetterCharacters = workProfilePasswordMinNonLetterCharacters;
            _x.workProfilePasswordMinNumericCharacters = workProfilePasswordMinNumericCharacters;
            _x.workProfilePasswordMinSymbolCharacters = workProfilePasswordMinSymbolCharacters;
            _x.workProfilePasswordMinUpperCaseCharacters = workProfilePasswordMinUpperCaseCharacters;
            _x.workProfilePasswordMinutesOfInactivityBeforeScreenTimeout = workProfilePasswordMinutesOfInactivityBeforeScreenTimeout;
            _x.workProfilePasswordPreviousPasswordBlockCount = workProfilePasswordPreviousPasswordBlockCount;
            _x.workProfilePasswordRequiredType = workProfilePasswordRequiredType;
            _x.workProfilePasswordSignInFailureCountBeforeFactoryReset = workProfilePasswordSignInFailureCountBeforeFactoryReset;
            _x.workProfileRequirePassword = workProfileRequirePassword;
            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()));
        }
    }

    /**
     * “Indicates whether or not to block fingerprint unlock.”
     * 
     * @return property passwordBlockFingerprintUnlock
     */
    @Property(name="passwordBlockFingerprintUnlock")
    @JsonIgnore
    public Optional getPasswordBlockFingerprintUnlock() {
        return Optional.ofNullable(passwordBlockFingerprintUnlock);
    }

    /**
     * Returns an immutable copy of {@code this} with just the {@code
     * passwordBlockFingerprintUnlock} 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.
     * 

* “Indicates whether or not to block fingerprint unlock.” * * @param passwordBlockFingerprintUnlock * new value of {@code passwordBlockFingerprintUnlock} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code passwordBlockFingerprintUnlock} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withPasswordBlockFingerprintUnlock(Boolean passwordBlockFingerprintUnlock) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("passwordBlockFingerprintUnlock"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.passwordBlockFingerprintUnlock = passwordBlockFingerprintUnlock; return _x; } /** * “Indicates whether or not to block Smart Lock and other trust agents.” * * @return property passwordBlockTrustAgents */ @Property(name="passwordBlockTrustAgents") @JsonIgnore public Optional getPasswordBlockTrustAgents() { return Optional.ofNullable(passwordBlockTrustAgents); } /** * Returns an immutable copy of {@code this} with just the {@code * passwordBlockTrustAgents} 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. *

* “Indicates whether or not to block Smart Lock and other trust agents.” * * @param passwordBlockTrustAgents * new value of {@code passwordBlockTrustAgents} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code passwordBlockTrustAgents} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withPasswordBlockTrustAgents(Boolean passwordBlockTrustAgents) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("passwordBlockTrustAgents"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.passwordBlockTrustAgents = passwordBlockTrustAgents; return _x; } /** * “Number of days before the password expires. Valid values 1 to 365” * * @return property passwordExpirationDays */ @Property(name="passwordExpirationDays") @JsonIgnore public Optional getPasswordExpirationDays() { return Optional.ofNullable(passwordExpirationDays); } /** * Returns an immutable copy of {@code this} with just the {@code * passwordExpirationDays} 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. *

* “Number of days before the password expires. Valid values 1 to 365” * * @param passwordExpirationDays * new value of {@code passwordExpirationDays} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code passwordExpirationDays} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withPasswordExpirationDays(Integer passwordExpirationDays) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("passwordExpirationDays"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.passwordExpirationDays = passwordExpirationDays; return _x; } /** * “Minimum length of passwords. Valid values 4 to 16” * * @return property passwordMinimumLength */ @Property(name="passwordMinimumLength") @JsonIgnore public Optional getPasswordMinimumLength() { return Optional.ofNullable(passwordMinimumLength); } /** * Returns an immutable copy of {@code this} with just the {@code * passwordMinimumLength} 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. *

* “Minimum length of passwords. Valid values 4 to 16” * * @param passwordMinimumLength * new value of {@code passwordMinimumLength} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code passwordMinimumLength} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withPasswordMinimumLength(Integer passwordMinimumLength) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("passwordMinimumLength"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.passwordMinimumLength = passwordMinimumLength; return _x; } /** * “Minutes of inactivity before the screen times out.” * * @return property passwordMinutesOfInactivityBeforeScreenTimeout */ @Property(name="passwordMinutesOfInactivityBeforeScreenTimeout") @JsonIgnore public Optional getPasswordMinutesOfInactivityBeforeScreenTimeout() { return Optional.ofNullable(passwordMinutesOfInactivityBeforeScreenTimeout); } /** * Returns an immutable copy of {@code this} with just the {@code * passwordMinutesOfInactivityBeforeScreenTimeout} 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. *

* “Minutes of inactivity before the screen times out.” * * @param passwordMinutesOfInactivityBeforeScreenTimeout * new value of {@code passwordMinutesOfInactivityBeforeScreenTimeout} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code passwordMinutesOfInactivityBeforeScreenTimeout} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withPasswordMinutesOfInactivityBeforeScreenTimeout(Integer passwordMinutesOfInactivityBeforeScreenTimeout) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("passwordMinutesOfInactivityBeforeScreenTimeout"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.passwordMinutesOfInactivityBeforeScreenTimeout = passwordMinutesOfInactivityBeforeScreenTimeout; return _x; } /** * “Number of previous passwords to block. Valid values 0 to 24” * * @return property passwordPreviousPasswordBlockCount */ @Property(name="passwordPreviousPasswordBlockCount") @JsonIgnore public Optional getPasswordPreviousPasswordBlockCount() { return Optional.ofNullable(passwordPreviousPasswordBlockCount); } /** * Returns an immutable copy of {@code this} with just the {@code * passwordPreviousPasswordBlockCount} 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. *

* “Number of previous passwords to block. Valid values 0 to 24” * * @param passwordPreviousPasswordBlockCount * new value of {@code passwordPreviousPasswordBlockCount} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code passwordPreviousPasswordBlockCount} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withPasswordPreviousPasswordBlockCount(Integer passwordPreviousPasswordBlockCount) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("passwordPreviousPasswordBlockCount"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.passwordPreviousPasswordBlockCount = passwordPreviousPasswordBlockCount; return _x; } /** * “Type of password that is required.” * * @return property passwordRequiredType */ @Property(name="passwordRequiredType") @JsonIgnore public Optional getPasswordRequiredType() { return Optional.ofNullable(passwordRequiredType); } /** * Returns an immutable copy of {@code this} with just the {@code * passwordRequiredType} 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. *

* “Type of password that is required.” * * @param passwordRequiredType * new value of {@code passwordRequiredType} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code passwordRequiredType} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withPasswordRequiredType(AndroidWorkProfileRequiredPasswordType passwordRequiredType) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("passwordRequiredType"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.passwordRequiredType = passwordRequiredType; return _x; } /** * “Number of sign in failures allowed before factory reset. Valid values 1 to 16” * * @return property passwordSignInFailureCountBeforeFactoryReset */ @Property(name="passwordSignInFailureCountBeforeFactoryReset") @JsonIgnore public Optional getPasswordSignInFailureCountBeforeFactoryReset() { return Optional.ofNullable(passwordSignInFailureCountBeforeFactoryReset); } /** * Returns an immutable copy of {@code this} with just the {@code * passwordSignInFailureCountBeforeFactoryReset} 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. *

* “Number of sign in failures allowed before factory reset. Valid values 1 to 16” * * @param passwordSignInFailureCountBeforeFactoryReset * new value of {@code passwordSignInFailureCountBeforeFactoryReset} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code passwordSignInFailureCountBeforeFactoryReset} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withPasswordSignInFailureCountBeforeFactoryReset(Integer passwordSignInFailureCountBeforeFactoryReset) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("passwordSignInFailureCountBeforeFactoryReset"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.passwordSignInFailureCountBeforeFactoryReset = passwordSignInFailureCountBeforeFactoryReset; return _x; } /** * “Require the Android Verify apps feature is turned on.” * * @return property securityRequireVerifyApps */ @Property(name="securityRequireVerifyApps") @JsonIgnore public Optional getSecurityRequireVerifyApps() { return Optional.ofNullable(securityRequireVerifyApps); } /** * Returns an immutable copy of {@code this} with just the {@code * securityRequireVerifyApps} 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. *

* “Require the Android Verify apps feature is turned on.” * * @param securityRequireVerifyApps * new value of {@code securityRequireVerifyApps} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code securityRequireVerifyApps} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withSecurityRequireVerifyApps(Boolean securityRequireVerifyApps) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("securityRequireVerifyApps"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.securityRequireVerifyApps = securityRequireVerifyApps; return _x; } /** * “Block users from adding/removing accounts in work profile.” * * @return property workProfileBlockAddingAccounts */ @Property(name="workProfileBlockAddingAccounts") @JsonIgnore public Optional getWorkProfileBlockAddingAccounts() { return Optional.ofNullable(workProfileBlockAddingAccounts); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfileBlockAddingAccounts} 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. *

* “Block users from adding/removing accounts in work profile.” * * @param workProfileBlockAddingAccounts * new value of {@code workProfileBlockAddingAccounts} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfileBlockAddingAccounts} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfileBlockAddingAccounts(Boolean workProfileBlockAddingAccounts) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfileBlockAddingAccounts"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfileBlockAddingAccounts = workProfileBlockAddingAccounts; return _x; } /** * “Block work profile camera.” * * @return property workProfileBlockCamera */ @Property(name="workProfileBlockCamera") @JsonIgnore public Optional getWorkProfileBlockCamera() { return Optional.ofNullable(workProfileBlockCamera); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfileBlockCamera} 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. *

* “Block work profile camera.” * * @param workProfileBlockCamera * new value of {@code workProfileBlockCamera} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfileBlockCamera} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfileBlockCamera(Boolean workProfileBlockCamera) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfileBlockCamera"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfileBlockCamera = workProfileBlockCamera; return _x; } /** * “Block display work profile caller ID in personal profile.” * * @return property workProfileBlockCrossProfileCallerId */ @Property(name="workProfileBlockCrossProfileCallerId") @JsonIgnore public Optional getWorkProfileBlockCrossProfileCallerId() { return Optional.ofNullable(workProfileBlockCrossProfileCallerId); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfileBlockCrossProfileCallerId} 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. *

* “Block display work profile caller ID in personal profile.” * * @param workProfileBlockCrossProfileCallerId * new value of {@code workProfileBlockCrossProfileCallerId} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfileBlockCrossProfileCallerId} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfileBlockCrossProfileCallerId(Boolean workProfileBlockCrossProfileCallerId) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfileBlockCrossProfileCallerId"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfileBlockCrossProfileCallerId = workProfileBlockCrossProfileCallerId; return _x; } /** * “Block work profile contacts availability in personal profile.” * * @return property workProfileBlockCrossProfileContactsSearch */ @Property(name="workProfileBlockCrossProfileContactsSearch") @JsonIgnore public Optional getWorkProfileBlockCrossProfileContactsSearch() { return Optional.ofNullable(workProfileBlockCrossProfileContactsSearch); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfileBlockCrossProfileContactsSearch} 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. *

* “Block work profile contacts availability in personal profile.” * * @param workProfileBlockCrossProfileContactsSearch * new value of {@code workProfileBlockCrossProfileContactsSearch} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfileBlockCrossProfileContactsSearch} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfileBlockCrossProfileContactsSearch(Boolean workProfileBlockCrossProfileContactsSearch) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfileBlockCrossProfileContactsSearch"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfileBlockCrossProfileContactsSearch = workProfileBlockCrossProfileContactsSearch; return _x; } /** * “Boolean that indicates if the setting disallow cross profile copy/paste is * enabled.” * * @return property workProfileBlockCrossProfileCopyPaste */ @Property(name="workProfileBlockCrossProfileCopyPaste") @JsonIgnore public Optional getWorkProfileBlockCrossProfileCopyPaste() { return Optional.ofNullable(workProfileBlockCrossProfileCopyPaste); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfileBlockCrossProfileCopyPaste} 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. *

* “Boolean that indicates if the setting disallow cross profile copy/paste is * enabled.” * * @param workProfileBlockCrossProfileCopyPaste * new value of {@code workProfileBlockCrossProfileCopyPaste} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfileBlockCrossProfileCopyPaste} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfileBlockCrossProfileCopyPaste(Boolean workProfileBlockCrossProfileCopyPaste) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfileBlockCrossProfileCopyPaste"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfileBlockCrossProfileCopyPaste = workProfileBlockCrossProfileCopyPaste; return _x; } /** * “Indicates whether or not to block notifications while device locked.” * * @return property workProfileBlockNotificationsWhileDeviceLocked */ @Property(name="workProfileBlockNotificationsWhileDeviceLocked") @JsonIgnore public Optional getWorkProfileBlockNotificationsWhileDeviceLocked() { return Optional.ofNullable(workProfileBlockNotificationsWhileDeviceLocked); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfileBlockNotificationsWhileDeviceLocked} 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. *

* “Indicates whether or not to block notifications while device locked.” * * @param workProfileBlockNotificationsWhileDeviceLocked * new value of {@code workProfileBlockNotificationsWhileDeviceLocked} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfileBlockNotificationsWhileDeviceLocked} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfileBlockNotificationsWhileDeviceLocked(Boolean workProfileBlockNotificationsWhileDeviceLocked) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfileBlockNotificationsWhileDeviceLocked"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfileBlockNotificationsWhileDeviceLocked = workProfileBlockNotificationsWhileDeviceLocked; return _x; } /** * “Block screen capture in work profile.” * * @return property workProfileBlockScreenCapture */ @Property(name="workProfileBlockScreenCapture") @JsonIgnore public Optional getWorkProfileBlockScreenCapture() { return Optional.ofNullable(workProfileBlockScreenCapture); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfileBlockScreenCapture} 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. *

* “Block screen capture in work profile.” * * @param workProfileBlockScreenCapture * new value of {@code workProfileBlockScreenCapture} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfileBlockScreenCapture} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfileBlockScreenCapture(Boolean workProfileBlockScreenCapture) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfileBlockScreenCapture"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfileBlockScreenCapture = workProfileBlockScreenCapture; return _x; } /** * “Allow bluetooth devices to access enterprise contacts.” * * @return property workProfileBluetoothEnableContactSharing */ @Property(name="workProfileBluetoothEnableContactSharing") @JsonIgnore public Optional getWorkProfileBluetoothEnableContactSharing() { return Optional.ofNullable(workProfileBluetoothEnableContactSharing); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfileBluetoothEnableContactSharing} 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. *

* “Allow bluetooth devices to access enterprise contacts.” * * @param workProfileBluetoothEnableContactSharing * new value of {@code workProfileBluetoothEnableContactSharing} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfileBluetoothEnableContactSharing} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfileBluetoothEnableContactSharing(Boolean workProfileBluetoothEnableContactSharing) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfileBluetoothEnableContactSharing"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfileBluetoothEnableContactSharing = workProfileBluetoothEnableContactSharing; return _x; } /** * “Type of data sharing that is allowed.” * * @return property workProfileDataSharingType */ @Property(name="workProfileDataSharingType") @JsonIgnore public Optional getWorkProfileDataSharingType() { return Optional.ofNullable(workProfileDataSharingType); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfileDataSharingType} 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. *

* “Type of data sharing that is allowed.” * * @param workProfileDataSharingType * new value of {@code workProfileDataSharingType} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfileDataSharingType} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfileDataSharingType(AndroidWorkProfileCrossProfileDataSharingType workProfileDataSharingType) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfileDataSharingType"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfileDataSharingType = workProfileDataSharingType; return _x; } /** * “Type of password that is required.” * * @return property workProfileDefaultAppPermissionPolicy */ @Property(name="workProfileDefaultAppPermissionPolicy") @JsonIgnore public Optional getWorkProfileDefaultAppPermissionPolicy() { return Optional.ofNullable(workProfileDefaultAppPermissionPolicy); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfileDefaultAppPermissionPolicy} 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. *

* “Type of password that is required.” * * @param workProfileDefaultAppPermissionPolicy * new value of {@code workProfileDefaultAppPermissionPolicy} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfileDefaultAppPermissionPolicy} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfileDefaultAppPermissionPolicy(AndroidWorkProfileDefaultAppPermissionPolicyType workProfileDefaultAppPermissionPolicy) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfileDefaultAppPermissionPolicy"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfileDefaultAppPermissionPolicy = workProfileDefaultAppPermissionPolicy; return _x; } /** * “Indicates whether or not to block fingerprint unlock for work profile.” * * @return property workProfilePasswordBlockFingerprintUnlock */ @Property(name="workProfilePasswordBlockFingerprintUnlock") @JsonIgnore public Optional getWorkProfilePasswordBlockFingerprintUnlock() { return Optional.ofNullable(workProfilePasswordBlockFingerprintUnlock); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordBlockFingerprintUnlock} 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. *

* “Indicates whether or not to block fingerprint unlock for work profile.” * * @param workProfilePasswordBlockFingerprintUnlock * new value of {@code workProfilePasswordBlockFingerprintUnlock} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordBlockFingerprintUnlock} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordBlockFingerprintUnlock(Boolean workProfilePasswordBlockFingerprintUnlock) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordBlockFingerprintUnlock"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordBlockFingerprintUnlock = workProfilePasswordBlockFingerprintUnlock; return _x; } /** * “Indicates whether or not to block Smart Lock and other trust agents for work * profile.” * * @return property workProfilePasswordBlockTrustAgents */ @Property(name="workProfilePasswordBlockTrustAgents") @JsonIgnore public Optional getWorkProfilePasswordBlockTrustAgents() { return Optional.ofNullable(workProfilePasswordBlockTrustAgents); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordBlockTrustAgents} 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. *

* “Indicates whether or not to block Smart Lock and other trust agents for work * profile.” * * @param workProfilePasswordBlockTrustAgents * new value of {@code workProfilePasswordBlockTrustAgents} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordBlockTrustAgents} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordBlockTrustAgents(Boolean workProfilePasswordBlockTrustAgents) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordBlockTrustAgents"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordBlockTrustAgents = workProfilePasswordBlockTrustAgents; return _x; } /** * “Number of days before the work profile password expires. Valid values 1 to 365” * * @return property workProfilePasswordExpirationDays */ @Property(name="workProfilePasswordExpirationDays") @JsonIgnore public Optional getWorkProfilePasswordExpirationDays() { return Optional.ofNullable(workProfilePasswordExpirationDays); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordExpirationDays} 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. *

* “Number of days before the work profile password expires. Valid values 1 to 365” * * @param workProfilePasswordExpirationDays * new value of {@code workProfilePasswordExpirationDays} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordExpirationDays} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordExpirationDays(Integer workProfilePasswordExpirationDays) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordExpirationDays"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordExpirationDays = workProfilePasswordExpirationDays; return _x; } /** * “Minimum length of work profile password. Valid values 4 to 16” * * @return property workProfilePasswordMinimumLength */ @Property(name="workProfilePasswordMinimumLength") @JsonIgnore public Optional getWorkProfilePasswordMinimumLength() { return Optional.ofNullable(workProfilePasswordMinimumLength); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordMinimumLength} 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. *

* “Minimum length of work profile password. Valid values 4 to 16” * * @param workProfilePasswordMinimumLength * new value of {@code workProfilePasswordMinimumLength} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordMinimumLength} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordMinimumLength(Integer workProfilePasswordMinimumLength) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordMinimumLength"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordMinimumLength = workProfilePasswordMinimumLength; return _x; } /** * “Minimum # of letter characters required in work profile password. Valid values 1 * to 10” * * @return property workProfilePasswordMinLetterCharacters */ @Property(name="workProfilePasswordMinLetterCharacters") @JsonIgnore public Optional getWorkProfilePasswordMinLetterCharacters() { return Optional.ofNullable(workProfilePasswordMinLetterCharacters); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordMinLetterCharacters} 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. *

* “Minimum # of letter characters required in work profile password. Valid values 1 * to 10” * * @param workProfilePasswordMinLetterCharacters * new value of {@code workProfilePasswordMinLetterCharacters} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordMinLetterCharacters} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordMinLetterCharacters(Integer workProfilePasswordMinLetterCharacters) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordMinLetterCharacters"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordMinLetterCharacters = workProfilePasswordMinLetterCharacters; return _x; } /** * “Minimum # of lower-case characters required in work profile password. Valid * values 1 to 10” * * @return property workProfilePasswordMinLowerCaseCharacters */ @Property(name="workProfilePasswordMinLowerCaseCharacters") @JsonIgnore public Optional getWorkProfilePasswordMinLowerCaseCharacters() { return Optional.ofNullable(workProfilePasswordMinLowerCaseCharacters); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordMinLowerCaseCharacters} 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. *

* “Minimum # of lower-case characters required in work profile password. Valid * values 1 to 10” * * @param workProfilePasswordMinLowerCaseCharacters * new value of {@code workProfilePasswordMinLowerCaseCharacters} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordMinLowerCaseCharacters} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordMinLowerCaseCharacters(Integer workProfilePasswordMinLowerCaseCharacters) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordMinLowerCaseCharacters"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordMinLowerCaseCharacters = workProfilePasswordMinLowerCaseCharacters; return _x; } /** * “Minimum # of non-letter characters required in work profile password. Valid * values 1 to 10” * * @return property workProfilePasswordMinNonLetterCharacters */ @Property(name="workProfilePasswordMinNonLetterCharacters") @JsonIgnore public Optional getWorkProfilePasswordMinNonLetterCharacters() { return Optional.ofNullable(workProfilePasswordMinNonLetterCharacters); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordMinNonLetterCharacters} 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. *

* “Minimum # of non-letter characters required in work profile password. Valid * values 1 to 10” * * @param workProfilePasswordMinNonLetterCharacters * new value of {@code workProfilePasswordMinNonLetterCharacters} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordMinNonLetterCharacters} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordMinNonLetterCharacters(Integer workProfilePasswordMinNonLetterCharacters) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordMinNonLetterCharacters"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordMinNonLetterCharacters = workProfilePasswordMinNonLetterCharacters; return _x; } /** * “Minimum # of numeric characters required in work profile password. Valid values * 1 to 10” * * @return property workProfilePasswordMinNumericCharacters */ @Property(name="workProfilePasswordMinNumericCharacters") @JsonIgnore public Optional getWorkProfilePasswordMinNumericCharacters() { return Optional.ofNullable(workProfilePasswordMinNumericCharacters); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordMinNumericCharacters} 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. *

* “Minimum # of numeric characters required in work profile password. Valid values * 1 to 10” * * @param workProfilePasswordMinNumericCharacters * new value of {@code workProfilePasswordMinNumericCharacters} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordMinNumericCharacters} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordMinNumericCharacters(Integer workProfilePasswordMinNumericCharacters) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordMinNumericCharacters"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordMinNumericCharacters = workProfilePasswordMinNumericCharacters; return _x; } /** * “Minimum # of symbols required in work profile password. Valid values 1 to 10” * * @return property workProfilePasswordMinSymbolCharacters */ @Property(name="workProfilePasswordMinSymbolCharacters") @JsonIgnore public Optional getWorkProfilePasswordMinSymbolCharacters() { return Optional.ofNullable(workProfilePasswordMinSymbolCharacters); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordMinSymbolCharacters} 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. *

* “Minimum # of symbols required in work profile password. Valid values 1 to 10” * * @param workProfilePasswordMinSymbolCharacters * new value of {@code workProfilePasswordMinSymbolCharacters} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordMinSymbolCharacters} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordMinSymbolCharacters(Integer workProfilePasswordMinSymbolCharacters) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordMinSymbolCharacters"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordMinSymbolCharacters = workProfilePasswordMinSymbolCharacters; return _x; } /** * “Minimum # of upper-case characters required in work profile password. Valid * values 1 to 10” * * @return property workProfilePasswordMinUpperCaseCharacters */ @Property(name="workProfilePasswordMinUpperCaseCharacters") @JsonIgnore public Optional getWorkProfilePasswordMinUpperCaseCharacters() { return Optional.ofNullable(workProfilePasswordMinUpperCaseCharacters); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordMinUpperCaseCharacters} 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. *

* “Minimum # of upper-case characters required in work profile password. Valid * values 1 to 10” * * @param workProfilePasswordMinUpperCaseCharacters * new value of {@code workProfilePasswordMinUpperCaseCharacters} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordMinUpperCaseCharacters} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordMinUpperCaseCharacters(Integer workProfilePasswordMinUpperCaseCharacters) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordMinUpperCaseCharacters"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordMinUpperCaseCharacters = workProfilePasswordMinUpperCaseCharacters; return _x; } /** * “Minutes of inactivity before the screen times out.” * * @return property workProfilePasswordMinutesOfInactivityBeforeScreenTimeout */ @Property(name="workProfilePasswordMinutesOfInactivityBeforeScreenTimeout") @JsonIgnore public Optional getWorkProfilePasswordMinutesOfInactivityBeforeScreenTimeout() { return Optional.ofNullable(workProfilePasswordMinutesOfInactivityBeforeScreenTimeout); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordMinutesOfInactivityBeforeScreenTimeout} 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. *

* “Minutes of inactivity before the screen times out.” * * @param workProfilePasswordMinutesOfInactivityBeforeScreenTimeout * new value of {@code workProfilePasswordMinutesOfInactivityBeforeScreenTimeout} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordMinutesOfInactivityBeforeScreenTimeout} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordMinutesOfInactivityBeforeScreenTimeout(Integer workProfilePasswordMinutesOfInactivityBeforeScreenTimeout) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordMinutesOfInactivityBeforeScreenTimeout"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordMinutesOfInactivityBeforeScreenTimeout = workProfilePasswordMinutesOfInactivityBeforeScreenTimeout; return _x; } /** * “Number of previous work profile passwords to block. Valid values 0 to 24” * * @return property workProfilePasswordPreviousPasswordBlockCount */ @Property(name="workProfilePasswordPreviousPasswordBlockCount") @JsonIgnore public Optional getWorkProfilePasswordPreviousPasswordBlockCount() { return Optional.ofNullable(workProfilePasswordPreviousPasswordBlockCount); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordPreviousPasswordBlockCount} 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. *

* “Number of previous work profile passwords to block. Valid values 0 to 24” * * @param workProfilePasswordPreviousPasswordBlockCount * new value of {@code workProfilePasswordPreviousPasswordBlockCount} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordPreviousPasswordBlockCount} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordPreviousPasswordBlockCount(Integer workProfilePasswordPreviousPasswordBlockCount) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordPreviousPasswordBlockCount"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordPreviousPasswordBlockCount = workProfilePasswordPreviousPasswordBlockCount; return _x; } /** * “Type of work profile password that is required.” * * @return property workProfilePasswordRequiredType */ @Property(name="workProfilePasswordRequiredType") @JsonIgnore public Optional getWorkProfilePasswordRequiredType() { return Optional.ofNullable(workProfilePasswordRequiredType); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordRequiredType} 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. *

* “Type of work profile password that is required.” * * @param workProfilePasswordRequiredType * new value of {@code workProfilePasswordRequiredType} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordRequiredType} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordRequiredType(AndroidWorkProfileRequiredPasswordType workProfilePasswordRequiredType) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordRequiredType"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordRequiredType = workProfilePasswordRequiredType; return _x; } /** * “Number of sign in failures allowed before work profile is removed and all * corporate data deleted. Valid values 1 to 16” * * @return property workProfilePasswordSignInFailureCountBeforeFactoryReset */ @Property(name="workProfilePasswordSignInFailureCountBeforeFactoryReset") @JsonIgnore public Optional getWorkProfilePasswordSignInFailureCountBeforeFactoryReset() { return Optional.ofNullable(workProfilePasswordSignInFailureCountBeforeFactoryReset); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfilePasswordSignInFailureCountBeforeFactoryReset} 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. *

* “Number of sign in failures allowed before work profile is removed and all * corporate data deleted. Valid values 1 to 16” * * @param workProfilePasswordSignInFailureCountBeforeFactoryReset * new value of {@code workProfilePasswordSignInFailureCountBeforeFactoryReset} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfilePasswordSignInFailureCountBeforeFactoryReset} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfilePasswordSignInFailureCountBeforeFactoryReset(Integer workProfilePasswordSignInFailureCountBeforeFactoryReset) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfilePasswordSignInFailureCountBeforeFactoryReset"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfilePasswordSignInFailureCountBeforeFactoryReset = workProfilePasswordSignInFailureCountBeforeFactoryReset; return _x; } /** * “Password is required or not for work profile” * * @return property workProfileRequirePassword */ @Property(name="workProfileRequirePassword") @JsonIgnore public Optional getWorkProfileRequirePassword() { return Optional.ofNullable(workProfileRequirePassword); } /** * Returns an immutable copy of {@code this} with just the {@code * workProfileRequirePassword} 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. *

* “Password is required or not for work profile” * * @param workProfileRequirePassword * new value of {@code workProfileRequirePassword} field (as defined in service metadata) * @return immutable copy of {@code this} with just the {@code workProfileRequirePassword} field changed */ public AndroidWorkProfileGeneralDeviceConfiguration withWorkProfileRequirePassword(Boolean workProfileRequirePassword) { AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = changedFields.add("workProfileRequirePassword"); _x.odataType = Util.nvl(odataType, "microsoft.graph.androidWorkProfileGeneralDeviceConfiguration"); _x.workProfileRequirePassword = workProfileRequirePassword; return _x; } public AndroidWorkProfileGeneralDeviceConfiguration withUnmappedField(String name, String value) { AndroidWorkProfileGeneralDeviceConfiguration _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(); } /** * 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 AndroidWorkProfileGeneralDeviceConfiguration patch() { RequestHelper.patch(this, contextPath, RequestOptions.EMPTY); AndroidWorkProfileGeneralDeviceConfiguration _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 AndroidWorkProfileGeneralDeviceConfiguration put() { RequestHelper.put(this, contextPath, RequestOptions.EMPTY); AndroidWorkProfileGeneralDeviceConfiguration _x = _copy(); _x.changedFields = null; return _x; } private AndroidWorkProfileGeneralDeviceConfiguration _copy() { AndroidWorkProfileGeneralDeviceConfiguration _x = new AndroidWorkProfileGeneralDeviceConfiguration(); _x.contextPath = contextPath; _x.changedFields = changedFields; _x.unmappedFields = unmappedFields.copy(); _x.odataType = odataType; _x.id = id; _x.createdDateTime = createdDateTime; _x.description = description; _x.displayName = displayName; _x.lastModifiedDateTime = lastModifiedDateTime; _x.version = version; _x.passwordBlockFingerprintUnlock = passwordBlockFingerprintUnlock; _x.passwordBlockTrustAgents = passwordBlockTrustAgents; _x.passwordExpirationDays = passwordExpirationDays; _x.passwordMinimumLength = passwordMinimumLength; _x.passwordMinutesOfInactivityBeforeScreenTimeout = passwordMinutesOfInactivityBeforeScreenTimeout; _x.passwordPreviousPasswordBlockCount = passwordPreviousPasswordBlockCount; _x.passwordRequiredType = passwordRequiredType; _x.passwordSignInFailureCountBeforeFactoryReset = passwordSignInFailureCountBeforeFactoryReset; _x.securityRequireVerifyApps = securityRequireVerifyApps; _x.workProfileBlockAddingAccounts = workProfileBlockAddingAccounts; _x.workProfileBlockCamera = workProfileBlockCamera; _x.workProfileBlockCrossProfileCallerId = workProfileBlockCrossProfileCallerId; _x.workProfileBlockCrossProfileContactsSearch = workProfileBlockCrossProfileContactsSearch; _x.workProfileBlockCrossProfileCopyPaste = workProfileBlockCrossProfileCopyPaste; _x.workProfileBlockNotificationsWhileDeviceLocked = workProfileBlockNotificationsWhileDeviceLocked; _x.workProfileBlockScreenCapture = workProfileBlockScreenCapture; _x.workProfileBluetoothEnableContactSharing = workProfileBluetoothEnableContactSharing; _x.workProfileDataSharingType = workProfileDataSharingType; _x.workProfileDefaultAppPermissionPolicy = workProfileDefaultAppPermissionPolicy; _x.workProfilePasswordBlockFingerprintUnlock = workProfilePasswordBlockFingerprintUnlock; _x.workProfilePasswordBlockTrustAgents = workProfilePasswordBlockTrustAgents; _x.workProfilePasswordExpirationDays = workProfilePasswordExpirationDays; _x.workProfilePasswordMinimumLength = workProfilePasswordMinimumLength; _x.workProfilePasswordMinLetterCharacters = workProfilePasswordMinLetterCharacters; _x.workProfilePasswordMinLowerCaseCharacters = workProfilePasswordMinLowerCaseCharacters; _x.workProfilePasswordMinNonLetterCharacters = workProfilePasswordMinNonLetterCharacters; _x.workProfilePasswordMinNumericCharacters = workProfilePasswordMinNumericCharacters; _x.workProfilePasswordMinSymbolCharacters = workProfilePasswordMinSymbolCharacters; _x.workProfilePasswordMinUpperCaseCharacters = workProfilePasswordMinUpperCaseCharacters; _x.workProfilePasswordMinutesOfInactivityBeforeScreenTimeout = workProfilePasswordMinutesOfInactivityBeforeScreenTimeout; _x.workProfilePasswordPreviousPasswordBlockCount = workProfilePasswordPreviousPasswordBlockCount; _x.workProfilePasswordRequiredType = workProfilePasswordRequiredType; _x.workProfilePasswordSignInFailureCountBeforeFactoryReset = workProfilePasswordSignInFailureCountBeforeFactoryReset; _x.workProfileRequirePassword = workProfileRequirePassword; return _x; } @Override public String toString() { StringBuilder b = new StringBuilder(); b.append("AndroidWorkProfileGeneralDeviceConfiguration["); b.append("id="); b.append(this.id); b.append(", "); b.append("createdDateTime="); b.append(this.createdDateTime); b.append(", "); b.append("description="); b.append(this.description); b.append(", "); b.append("displayName="); b.append(this.displayName); b.append(", "); b.append("lastModifiedDateTime="); b.append(this.lastModifiedDateTime); b.append(", "); b.append("version="); b.append(this.version); b.append(", "); b.append("passwordBlockFingerprintUnlock="); b.append(this.passwordBlockFingerprintUnlock); b.append(", "); b.append("passwordBlockTrustAgents="); b.append(this.passwordBlockTrustAgents); b.append(", "); b.append("passwordExpirationDays="); b.append(this.passwordExpirationDays); b.append(", "); b.append("passwordMinimumLength="); b.append(this.passwordMinimumLength); b.append(", "); b.append("passwordMinutesOfInactivityBeforeScreenTimeout="); b.append(this.passwordMinutesOfInactivityBeforeScreenTimeout); b.append(", "); b.append("passwordPreviousPasswordBlockCount="); b.append(this.passwordPreviousPasswordBlockCount); b.append(", "); b.append("passwordRequiredType="); b.append(this.passwordRequiredType); b.append(", "); b.append("passwordSignInFailureCountBeforeFactoryReset="); b.append(this.passwordSignInFailureCountBeforeFactoryReset); b.append(", "); b.append("securityRequireVerifyApps="); b.append(this.securityRequireVerifyApps); b.append(", "); b.append("workProfileBlockAddingAccounts="); b.append(this.workProfileBlockAddingAccounts); b.append(", "); b.append("workProfileBlockCamera="); b.append(this.workProfileBlockCamera); b.append(", "); b.append("workProfileBlockCrossProfileCallerId="); b.append(this.workProfileBlockCrossProfileCallerId); b.append(", "); b.append("workProfileBlockCrossProfileContactsSearch="); b.append(this.workProfileBlockCrossProfileContactsSearch); b.append(", "); b.append("workProfileBlockCrossProfileCopyPaste="); b.append(this.workProfileBlockCrossProfileCopyPaste); b.append(", "); b.append("workProfileBlockNotificationsWhileDeviceLocked="); b.append(this.workProfileBlockNotificationsWhileDeviceLocked); b.append(", "); b.append("workProfileBlockScreenCapture="); b.append(this.workProfileBlockScreenCapture); b.append(", "); b.append("workProfileBluetoothEnableContactSharing="); b.append(this.workProfileBluetoothEnableContactSharing); b.append(", "); b.append("workProfileDataSharingType="); b.append(this.workProfileDataSharingType); b.append(", "); b.append("workProfileDefaultAppPermissionPolicy="); b.append(this.workProfileDefaultAppPermissionPolicy); b.append(", "); b.append("workProfilePasswordBlockFingerprintUnlock="); b.append(this.workProfilePasswordBlockFingerprintUnlock); b.append(", "); b.append("workProfilePasswordBlockTrustAgents="); b.append(this.workProfilePasswordBlockTrustAgents); b.append(", "); b.append("workProfilePasswordExpirationDays="); b.append(this.workProfilePasswordExpirationDays); b.append(", "); b.append("workProfilePasswordMinimumLength="); b.append(this.workProfilePasswordMinimumLength); b.append(", "); b.append("workProfilePasswordMinLetterCharacters="); b.append(this.workProfilePasswordMinLetterCharacters); b.append(", "); b.append("workProfilePasswordMinLowerCaseCharacters="); b.append(this.workProfilePasswordMinLowerCaseCharacters); b.append(", "); b.append("workProfilePasswordMinNonLetterCharacters="); b.append(this.workProfilePasswordMinNonLetterCharacters); b.append(", "); b.append("workProfilePasswordMinNumericCharacters="); b.append(this.workProfilePasswordMinNumericCharacters); b.append(", "); b.append("workProfilePasswordMinSymbolCharacters="); b.append(this.workProfilePasswordMinSymbolCharacters); b.append(", "); b.append("workProfilePasswordMinUpperCaseCharacters="); b.append(this.workProfilePasswordMinUpperCaseCharacters); b.append(", "); b.append("workProfilePasswordMinutesOfInactivityBeforeScreenTimeout="); b.append(this.workProfilePasswordMinutesOfInactivityBeforeScreenTimeout); b.append(", "); b.append("workProfilePasswordPreviousPasswordBlockCount="); b.append(this.workProfilePasswordPreviousPasswordBlockCount); b.append(", "); b.append("workProfilePasswordRequiredType="); b.append(this.workProfilePasswordRequiredType); b.append(", "); b.append("workProfilePasswordSignInFailureCountBeforeFactoryReset="); b.append(this.workProfilePasswordSignInFailureCountBeforeFactoryReset); b.append(", "); b.append("workProfileRequirePassword="); b.append(this.workProfileRequirePassword); b.append("]"); b.append(",unmappedFields="); b.append(unmappedFields); b.append(",odataType="); b.append(odataType); return b.toString(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy