CreateOrUpdateIndexerOptions.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 an {@link SearchIndexer
* indexer}.
*/
public class CreateOrUpdateIndexerOptions {
private final SearchIndexer indexer;
private boolean onlyIfUnchanged;
private Boolean cacheReprocessingChangeDetectionDisabled;
private Boolean cacheResetRequirementsIgnored;
/**
* Creates the property bag used to create or update an {@link SearchIndexer indexer}.
*
* @param indexer The {@link SearchIndexer indexer} being created or updated.
* @throws NullPointerException If {@code indexer} is null.
*/
public CreateOrUpdateIndexerOptions(SearchIndexer indexer) {
this.indexer = Objects.requireNonNull(indexer, "'indexer' cannot be null.");
}
/**
* Gets the {@link SearchIndexer indexer} that will be created or updated.
*
* @return The {@link SearchIndexer indexer} that will be created or updated.
*/
public SearchIndexer getIndexer() {
return indexer;
}
/**
* Sets the flag that determines whether an update will only occur if the {@link SearchIndexer indexer} has not been
* changed since the update has been triggered.
*
* @param onlyIfUnchanged Flag that determines whether an update will only occur if the {@link SearchIndexer
* indexer} has not been changed since the update has been triggered.
* @return The updated CreateOrUpdateIndexerOptions object.
*/
public CreateOrUpdateIndexerOptions setOnlyIfUnchanged(boolean onlyIfUnchanged) {
this.onlyIfUnchanged = onlyIfUnchanged;
return this;
}
/**
* Gets the flag that determines whether an update will only occur if the {@link SearchIndexer indexer} has not been
* changed since the update has been triggered.
*
* @return Whether an update will only occur if the {@link SearchIndexer indexer} 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 SearchIndexer indexer} disables cache
* reprocessing change detection.
*
* @param cacheReprocessingChangeDetectionDisabled An optional flag that determines whether the created or updated
* {@link SearchIndexer indexer} disables cache reprocessing change detection.
* @return The updated CreateOrUpdateIndexerOptions object.
*/
public CreateOrUpdateIndexerOptions setCacheReprocessingChangeDetectionDisabled(
Boolean cacheReprocessingChangeDetectionDisabled) {
this.cacheReprocessingChangeDetectionDisabled = cacheReprocessingChangeDetectionDisabled;
return this;
}
/**
* Gets an optional flag that determines whether the created or updated {@link SearchIndexer indexer} disables cache
* reprocessing change detection.
*
* @return Whether the created or updated {@link SearchIndexer indexer} disables cache reprocessing change
* detection.
*/
public Boolean isCacheReprocessingChangeDetectionDisabled() {
return cacheReprocessingChangeDetectionDisabled;
}
/**
* Sets an optional flag that determines whether the created or updated {@link SearchIndexer indexer} ignores cache
* reset requirements.
*
* @param cacheResetRequirementsIgnored An optional flag that determines whether the created or updated {@link
* SearchIndexer indexer} ignores cache reset requirements.
* @return The updated CreateOrUpdateIndexerOptions object.
*/
public CreateOrUpdateIndexerOptions setCacheResetRequirementsIgnored(Boolean cacheResetRequirementsIgnored) {
this.cacheResetRequirementsIgnored = cacheResetRequirementsIgnored;
return this;
}
/**
* Gets an optional flag that determines whether the created or updated {@link SearchIndexer indexer} ignores cache
* reset requirements.
*
* @return Whether the created or updated {@link SearchIndexer indexer} ignores cache reset requirements.
*/
public Boolean isCacheResetRequirementsIgnored() {
return cacheResetRequirementsIgnored;
}
}