SuggestPagedResponse.java
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.search.documents.util;
import com.azure.core.annotation.Immutable;
import com.azure.core.http.rest.Page;
import com.azure.core.http.rest.PagedResponseBase;
import com.azure.core.http.rest.SimpleResponse;
import com.azure.search.documents.implementation.models.SuggestDocumentsResult;
import com.azure.search.documents.models.SuggestResult;
/**
* Represents an HTTP response from the suggest API request that contains a list of items deserialized into a {@link
* Page}. Each page contains additional information returned by the API request. In the Suggest API case the additional
* information is: coverage - coverage value.
*/
@Immutable
public final class SuggestPagedResponse extends PagedResponseBase<Void, SuggestResult> {
/**
* The percentage of the index covered in the suggest request.
* <p>
* If {@code minimumCoverage} wasn't supplied in the request this will be {@code null}.
*
* @return The percentage of the index covered in the suggest request if {@code minimumCoverage} was set in the
* request, otherwise {@code null}.
*/
public Double getCoverage() {
return coverage;
}
private final Double coverage;
/**
* Constructor
*
* @param documentSearchResponse an http response with the results
*/
public SuggestPagedResponse(SimpleResponse<SuggestDocumentsResult> documentSearchResponse) {
super(documentSearchResponse.getRequest(),
documentSearchResponse.getStatusCode(),
documentSearchResponse.getHeaders(),
documentSearchResponse.getValue().getResults(),
null,
null);
this.coverage = documentSearchResponse.getValue().getCoverage();
}
}