org.elasticsearch.action.support.master.info.ClusterInfoRequestBuilder Maven / Gradle / Ivy
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
package org.elasticsearch.action.support.master.info;
import org.elasticsearch.action.ActionResponse;
import org.elasticsearch.action.ActionType;
import org.elasticsearch.action.support.IndicesOptions;
import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBuilder;
import org.elasticsearch.client.internal.ElasticsearchClient;
import org.elasticsearch.common.util.ArrayUtils;
public abstract class ClusterInfoRequestBuilder<
Request extends ClusterInfoRequest,
Response extends ActionResponse,
Builder extends ClusterInfoRequestBuilder> extends MasterNodeReadOperationRequestBuilder<
Request,
Response,
Builder> {
protected ClusterInfoRequestBuilder(ElasticsearchClient client, ActionType action, Request request) {
super(client, action, request);
}
@SuppressWarnings("unchecked")
public Builder setIndices(String... indices) {
request.indices(indices);
return (Builder) this;
}
@SuppressWarnings("unchecked")
public Builder addIndices(String... indices) {
request.indices(ArrayUtils.concat(request.indices(), indices));
return (Builder) this;
}
@SuppressWarnings("unchecked")
public Builder setIndicesOptions(IndicesOptions indicesOptions) {
request.indicesOptions(indicesOptions);
return (Builder) this;
}
}