org.elasticsearch.action.support.master.MasterNodeReadRequest 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;
import org.elasticsearch.common.io.stream.StreamInput;
import org.elasticsearch.common.io.stream.StreamOutput;
import java.io.IOException;
/**
* Base request for master based read operations that allows to read the cluster state from the local node if needed
*/
public abstract class MasterNodeReadRequest> extends MasterNodeRequest {
protected boolean local = false;
protected MasterNodeReadRequest() {}
protected MasterNodeReadRequest(StreamInput in) throws IOException {
super(in);
local = in.readBoolean();
}
@Override
public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeBoolean(local);
}
@SuppressWarnings("unchecked")
public final Request local(boolean local) {
this.local = local;
return (Request) this;
}
/**
* Return local information, do not retrieve the state from master node (default: false).
* @return true
if local information is to be returned;
* false
if information is to be retrieved from master node (default).
*/
public final boolean local() {
return local;
}
}