com.hp.autonomy.searchcomponents.idol.requests.IdolQueryRequestImpl Maven / Gradle / Ivy
/*
* Copyright 2015 Hewlett-Packard Development Company, L.P.
* Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License.
*/
package com.hp.autonomy.searchcomponents.idol.requests;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
import com.hp.autonomy.searchcomponents.core.search.QueryRequest;
import com.hp.autonomy.searchcomponents.idol.search.IdolDocumentsService;
import com.hp.autonomy.searchcomponents.idol.search.IdolQueryRequest;
import com.hp.autonomy.searchcomponents.idol.search.IdolQueryRequestBuilder;
import com.hp.autonomy.searchcomponents.idol.search.IdolQueryRestrictions;
import lombok.Builder;
import lombok.Data;
import lombok.Singular;
import java.util.Collection;
/**
* Options for interacting with {@link IdolDocumentsService#queryTextIndex(QueryRequest)}
*/
@Data
@Builder(toBuilder = true)
@JsonDeserialize(builder = IdolQueryRequestImpl.IdolQueryRequestImplBuilder.class)
class IdolQueryRequestImpl implements IdolQueryRequest {
private static final long serialVersionUID = -6338199353489914631L;
private final boolean autoCorrect;
private final IdolQueryRestrictions queryRestrictions;
private final int start;
private final int maxResults;
private final String summary;
private final Integer summaryCharacters;
private final String sort;
private final boolean highlight;
private final String print;
@Singular
private final Collection printFields;
private final QueryRequest.QueryType queryType;
@SuppressWarnings({"FieldMayBeFinal", "unused"})
@JsonPOJOBuilder(withPrefix = "")
static class IdolQueryRequestImplBuilder implements IdolQueryRequestBuilder {
private int start = DEFAULT_START;
private int maxResults = DEFAULT_MAX_RESULTS;
private String print = DEFAULT_PRINT.name();
private QueryRequest.QueryType queryType = QueryRequest.QueryType.MODIFIED;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy