CreateOrUpdateDataSourceConnectionOptions.java
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.search.documents.indexes.models;
import java.util.Objects;
/**
* This model represents a property bag containing all options for creating or updating a {@link
* SearchIndexerDataSourceConnection data source connection}.
*/
public final class CreateOrUpdateDataSourceConnectionOptions {
private final SearchIndexerDataSourceConnection dataSourceConnection;
private boolean onlyIfUnchanged;
private Boolean cacheResetRequirementsIgnored;
/**
* Creates the property bag used to create or update a {@link SearchIndexerDataSourceConnection data source
* connection}.
*
* @param dataSourceConnection The {@link SearchIndexerDataSourceConnection data source connection} being created or
* updated.
* @throws NullPointerException If {@code dataSourceConnection} is null.
*/
public CreateOrUpdateDataSourceConnectionOptions(SearchIndexerDataSourceConnection dataSourceConnection) {
this.dataSourceConnection = Objects.requireNonNull(dataSourceConnection,
"'dataSourceConnection' cannot be null.");
}
/**
* Gets the {@link SearchIndexerDataSourceConnection data source connection} that will be created or updated.
*
* @return The {@link SearchIndexerDataSourceConnection data source connection} that will be created or updated.
*/
public SearchIndexerDataSourceConnection getDataSourceConnection() {
return dataSourceConnection;
}
/**
* Sets the flag that determines whether an update will only occur if the {@link SearchIndexerDataSourceConnection
* data source connection} has not been changed since the update has been triggered.
*
* @param onlyIfUnchanged Flag that determines whether an update will only occur if the {@link
* SearchIndexerDataSourceConnection data source connection} has not been changed since the update has been
* triggered.
* @return The updated CreateOrUpdateDataSourceConnectionOptions object.
*/
public CreateOrUpdateDataSourceConnectionOptions setOnlyIfUnchanged(boolean onlyIfUnchanged) {
this.onlyIfUnchanged = onlyIfUnchanged;
return this;
}
/**
* Gets the flag that determines whether an update will only occur if the {@link SearchIndexerDataSourceConnection
* data source connection} has not been changed since the update has been triggered.
*
* @return Whether an update will only occur if the {@link SearchIndexerDataSourceConnection data source connection}
* has not been changed since the update has been triggered.
*/
public boolean isOnlyIfUnchanged() {
return onlyIfUnchanged;
}
/**
* Sets an optional flag that determines whether the created or updated {@link SearchIndexerDataSourceConnection
* data source connection} ignores cache reset requirements.
*
* @param cacheResetRequirementsIgnored An optional flag that determines whether the created or updated {@link
* SearchIndexerDataSourceConnection data source connection} ignores cache reset requirements.
* @return The updated CreateOrUpdateDataSourceConnectionOptions object.
*/
public CreateOrUpdateDataSourceConnectionOptions setCacheResetRequirementsIgnored(Boolean cacheResetRequirementsIgnored) {
this.cacheResetRequirementsIgnored = cacheResetRequirementsIgnored;
return this;
}
/**
* Gets an optional flag that determines whether the created or updated {@link SearchIndexerDataSourceConnection
* data source connection} ignores cache reset requirements.
*
* @return Whether the created or updated {@link SearchIndexerDataSourceConnection data source connection} ignores
* cache reset requirements.
*/
public Boolean isCacheResetRequirementsIgnored() {
return cacheResetRequirementsIgnored;
}
}