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

com.microsoft.graph.beta.generated.models.OnPremisesDirectorySynchronizationConfiguration Maven / Gradle / Ivy

package com.microsoft.graph.beta.models;

import com.microsoft.kiota.PeriodAndDuration;
import com.microsoft.kiota.serialization.AdditionalDataHolder;
import com.microsoft.kiota.serialization.Parsable;
import com.microsoft.kiota.serialization.ParseNode;
import com.microsoft.kiota.serialization.SerializationWriter;
import com.microsoft.kiota.store.BackedModel;
import com.microsoft.kiota.store.BackingStore;
import com.microsoft.kiota.store.BackingStoreFactorySingleton;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@jakarta.annotation.Generated("com.microsoft.kiota")
public class OnPremisesDirectorySynchronizationConfiguration implements AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores model information.
     */
    @jakarta.annotation.Nonnull
    protected BackingStore backingStore;
    /**
     * Instantiates a new {@link OnPremisesDirectorySynchronizationConfiguration} and sets the default values.
     */
    public OnPremisesDirectorySynchronizationConfiguration() {
        this.backingStore = BackingStoreFactorySingleton.instance.createBackingStore();
        this.setAdditionalData(new HashMap<>());
    }
    /**
     * Creates a new instance of the appropriate class based on discriminator value
     * @param parseNode The parse node to use to read the discriminator value and create the object
     * @return a {@link OnPremisesDirectorySynchronizationConfiguration}
     */
    @jakarta.annotation.Nonnull
    public static OnPremisesDirectorySynchronizationConfiguration createFromDiscriminatorValue(@jakarta.annotation.Nonnull final ParseNode parseNode) {
        Objects.requireNonNull(parseNode);
        return new OnPremisesDirectorySynchronizationConfiguration();
    }
    /**
     * Gets the accidentalDeletionPrevention property value. Contains the accidental deletion prevention configuration for a tenant.
     * @return a {@link OnPremisesAccidentalDeletionPrevention}
     */
    @jakarta.annotation.Nullable
    public OnPremisesAccidentalDeletionPrevention getAccidentalDeletionPrevention() {
        return this.backingStore.get("accidentalDeletionPrevention");
    }
    /**
     * Gets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     * @return a {@link Map}
     */
    @jakarta.annotation.Nonnull
    public Map getAdditionalData() {
        Map value = this.backingStore.get("additionalData");
        if(value == null) {
            value = new HashMap<>();
            this.setAdditionalData(value);
        }
        return value;
    }
    /**
     * Gets the anchorAttribute property value. The anchor attribute allows customers to customize the property used to create source anchors for synchronization enabled objects.
     * @return a {@link String}
     */
    @jakarta.annotation.Nullable
    public String getAnchorAttribute() {
        return this.backingStore.get("anchorAttribute");
    }
    /**
     * Gets the applicationId property value. The identifier of the on-premises directory synchronization client application that is configured for the tenant.
     * @return a {@link String}
     */
    @jakarta.annotation.Nullable
    public String getApplicationId() {
        return this.backingStore.get("applicationId");
    }
    /**
     * Gets the backingStore property value. Stores model information.
     * @return a {@link BackingStore}
     */
    @jakarta.annotation.Nonnull
    public BackingStore getBackingStore() {
        return this.backingStore;
    }
    /**
     * Gets the currentExportData property value. Data for the current export run.
     * @return a {@link OnPremisesCurrentExportData}
     */
    @jakarta.annotation.Nullable
    public OnPremisesCurrentExportData getCurrentExportData() {
        return this.backingStore.get("currentExportData");
    }
    /**
     * Gets the customerRequestedSynchronizationInterval property value. Interval of time that the customer requested the sync client waits between sync cycles.
     * @return a {@link PeriodAndDuration}
     */
    @jakarta.annotation.Nullable
    public PeriodAndDuration getCustomerRequestedSynchronizationInterval() {
        return this.backingStore.get("customerRequestedSynchronizationInterval");
    }
    /**
     * The deserialization information for the current model
     * @return a {@link Map>}
     */
    @jakarta.annotation.Nonnull
    public Map> getFieldDeserializers() {
        final HashMap> deserializerMap = new HashMap>(9);
        deserializerMap.put("accidentalDeletionPrevention", (n) -> { this.setAccidentalDeletionPrevention(n.getObjectValue(OnPremisesAccidentalDeletionPrevention::createFromDiscriminatorValue)); });
        deserializerMap.put("anchorAttribute", (n) -> { this.setAnchorAttribute(n.getStringValue()); });
        deserializerMap.put("applicationId", (n) -> { this.setApplicationId(n.getStringValue()); });
        deserializerMap.put("currentExportData", (n) -> { this.setCurrentExportData(n.getObjectValue(OnPremisesCurrentExportData::createFromDiscriminatorValue)); });
        deserializerMap.put("customerRequestedSynchronizationInterval", (n) -> { this.setCustomerRequestedSynchronizationInterval(n.getPeriodAndDurationValue()); });
        deserializerMap.put("@odata.type", (n) -> { this.setOdataType(n.getStringValue()); });
        deserializerMap.put("synchronizationClientVersion", (n) -> { this.setSynchronizationClientVersion(n.getStringValue()); });
        deserializerMap.put("synchronizationInterval", (n) -> { this.setSynchronizationInterval(n.getPeriodAndDurationValue()); });
        deserializerMap.put("writebackConfiguration", (n) -> { this.setWritebackConfiguration(n.getObjectValue(OnPremisesWritebackConfiguration::createFromDiscriminatorValue)); });
        return deserializerMap;
    }
    /**
     * Gets the @odata.type property value. The OdataType property
     * @return a {@link String}
     */
    @jakarta.annotation.Nullable
    public String getOdataType() {
        return this.backingStore.get("odataType");
    }
    /**
     * Gets the synchronizationClientVersion property value. Indicates the version of the on-premises directory synchronization application.
     * @return a {@link String}
     */
    @jakarta.annotation.Nullable
    public String getSynchronizationClientVersion() {
        return this.backingStore.get("synchronizationClientVersion");
    }
    /**
     * Gets the synchronizationInterval property value. Interval of time the sync client should honor between sync cycles
     * @return a {@link PeriodAndDuration}
     */
    @jakarta.annotation.Nullable
    public PeriodAndDuration getSynchronizationInterval() {
        return this.backingStore.get("synchronizationInterval");
    }
    /**
     * Gets the writebackConfiguration property value. Configuration to control how cloud created or owned objects are synchronized back to the on-premises directory.
     * @return a {@link OnPremisesWritebackConfiguration}
     */
    @jakarta.annotation.Nullable
    public OnPremisesWritebackConfiguration getWritebackConfiguration() {
        return this.backingStore.get("writebackConfiguration");
    }
    /**
     * Serializes information the current object
     * @param writer Serialization writer to use to serialize this model
     */
    public void serialize(@jakarta.annotation.Nonnull final SerializationWriter writer) {
        Objects.requireNonNull(writer);
        writer.writeObjectValue("accidentalDeletionPrevention", this.getAccidentalDeletionPrevention());
        writer.writeStringValue("anchorAttribute", this.getAnchorAttribute());
        writer.writeStringValue("applicationId", this.getApplicationId());
        writer.writeObjectValue("currentExportData", this.getCurrentExportData());
        writer.writePeriodAndDurationValue("customerRequestedSynchronizationInterval", this.getCustomerRequestedSynchronizationInterval());
        writer.writeStringValue("@odata.type", this.getOdataType());
        writer.writeStringValue("synchronizationClientVersion", this.getSynchronizationClientVersion());
        writer.writePeriodAndDurationValue("synchronizationInterval", this.getSynchronizationInterval());
        writer.writeObjectValue("writebackConfiguration", this.getWritebackConfiguration());
        writer.writeAdditionalData(this.getAdditionalData());
    }
    /**
     * Sets the accidentalDeletionPrevention property value. Contains the accidental deletion prevention configuration for a tenant.
     * @param value Value to set for the accidentalDeletionPrevention property.
     */
    public void setAccidentalDeletionPrevention(@jakarta.annotation.Nullable final OnPremisesAccidentalDeletionPrevention value) {
        this.backingStore.set("accidentalDeletionPrevention", value);
    }
    /**
     * Sets the AdditionalData property value. Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     * @param value Value to set for the AdditionalData property.
     */
    public void setAdditionalData(@jakarta.annotation.Nullable final Map value) {
        this.backingStore.set("additionalData", value);
    }
    /**
     * Sets the anchorAttribute property value. The anchor attribute allows customers to customize the property used to create source anchors for synchronization enabled objects.
     * @param value Value to set for the anchorAttribute property.
     */
    public void setAnchorAttribute(@jakarta.annotation.Nullable final String value) {
        this.backingStore.set("anchorAttribute", value);
    }
    /**
     * Sets the applicationId property value. The identifier of the on-premises directory synchronization client application that is configured for the tenant.
     * @param value Value to set for the applicationId property.
     */
    public void setApplicationId(@jakarta.annotation.Nullable final String value) {
        this.backingStore.set("applicationId", value);
    }
    /**
     * Sets the backingStore property value. Stores model information.
     * @param value Value to set for the backingStore property.
     */
    public void setBackingStore(@jakarta.annotation.Nonnull final BackingStore value) {
        Objects.requireNonNull(value);
        this.backingStore = value;
    }
    /**
     * Sets the currentExportData property value. Data for the current export run.
     * @param value Value to set for the currentExportData property.
     */
    public void setCurrentExportData(@jakarta.annotation.Nullable final OnPremisesCurrentExportData value) {
        this.backingStore.set("currentExportData", value);
    }
    /**
     * Sets the customerRequestedSynchronizationInterval property value. Interval of time that the customer requested the sync client waits between sync cycles.
     * @param value Value to set for the customerRequestedSynchronizationInterval property.
     */
    public void setCustomerRequestedSynchronizationInterval(@jakarta.annotation.Nullable final PeriodAndDuration value) {
        this.backingStore.set("customerRequestedSynchronizationInterval", value);
    }
    /**
     * Sets the @odata.type property value. The OdataType property
     * @param value Value to set for the @odata.type property.
     */
    public void setOdataType(@jakarta.annotation.Nullable final String value) {
        this.backingStore.set("odataType", value);
    }
    /**
     * Sets the synchronizationClientVersion property value. Indicates the version of the on-premises directory synchronization application.
     * @param value Value to set for the synchronizationClientVersion property.
     */
    public void setSynchronizationClientVersion(@jakarta.annotation.Nullable final String value) {
        this.backingStore.set("synchronizationClientVersion", value);
    }
    /**
     * Sets the synchronizationInterval property value. Interval of time the sync client should honor between sync cycles
     * @param value Value to set for the synchronizationInterval property.
     */
    public void setSynchronizationInterval(@jakarta.annotation.Nullable final PeriodAndDuration value) {
        this.backingStore.set("synchronizationInterval", value);
    }
    /**
     * Sets the writebackConfiguration property value. Configuration to control how cloud created or owned objects are synchronized back to the on-premises directory.
     * @param value Value to set for the writebackConfiguration property.
     */
    public void setWritebackConfiguration(@jakarta.annotation.Nullable final OnPremisesWritebackConfiguration value) {
        this.backingStore.set("writebackConfiguration", value);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy