com.azure.cosmos.implementation.IRoutingMapProvider Maven / Gradle / Ivy
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.cosmos.implementation;
import com.azure.cosmos.implementation.routing.Range;
import reactor.core.publisher.Mono;
import java.util.List;
import java.util.Map;
//TODO: update documentation
//TODO: add two overload methods for forceRefresh = false
/**
* While this class is public, but it is not part of our published public APIs.
* This is meant to be internally used only by our sdk.
**/
public interface IRoutingMapProvider {
///
/// Returns list of effective partition key ranges for a collection.
///
/// Collection for which to retrieve routing map.
/// This method will return all ranges which overlap this range.
/// Whether forcefully refreshing the routing map is necessary
/// List of effective partition key ranges for a collection or null if collection doesn't exist.
Mono>> tryGetOverlappingRangesAsync(MetadataDiagnosticsContext metaDataDiagnosticsContext, String collectionResourceId, Range range,
boolean forceRefresh /* = false */, Map properties);
Mono> tryGetPartitionKeyRangeByIdAsync(MetadataDiagnosticsContext metaDataDiagnosticsContext, String collectionResourceId, String partitionKeyRangeId,
boolean forceRefresh /* = false */, Map properties);
}