org.opensearch.extensions.UpdateSettingsRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of opensearch Show documentation
Show all versions of opensearch Show documentation
OpenSearch subproject :server
/*
* SPDX-License-Identifier: Apache-2.0
*
* The OpenSearch Contributors require contributions made to
* this file be licensed under the Apache-2.0 license or a
* compatible open source license.
*/
package org.opensearch.extensions;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.opensearch.common.settings.Setting;
import org.opensearch.common.settings.WriteableSetting;
import org.opensearch.core.common.io.stream.StreamInput;
import org.opensearch.core.common.io.stream.StreamOutput;
import org.opensearch.transport.TransportRequest;
import java.io.IOException;
import java.util.Objects;
/**
* Update Settings Request for Extensibility
*
* @opensearch.internal
*/
public class UpdateSettingsRequest extends TransportRequest {
private static final Logger logger = LogManager.getLogger(UpdateSettingsRequest.class);
private WriteableSetting.SettingType settingType;
private Setting> componentSetting;
private Object data;
public UpdateSettingsRequest(WriteableSetting.SettingType settingType, Setting> componentSetting, Object data) {
this.settingType = settingType;
this.componentSetting = componentSetting;
this.data = data;
}
public UpdateSettingsRequest(StreamInput in) throws IOException {
super(in);
this.settingType = in.readEnum(WriteableSetting.SettingType.class);
this.componentSetting = new WriteableSetting(in).getSetting();
this.data = in.readGenericValue();
}
@Override
public void writeTo(StreamOutput out) throws IOException {
super.writeTo(out);
out.writeEnum(settingType);
new WriteableSetting(componentSetting).writeTo(out);
out.writeGenericValue(this.data);
}
public WriteableSetting.SettingType getSettingType() {
return this.settingType;
}
public Setting> getComponentSetting() {
return this.componentSetting;
}
public Object getData() {
return this.data;
}
@Override
public String toString() {
return "UpdateSettingRequest{settingType="
+ this.settingType.toString()
+ "componentSetting="
+ this.componentSetting.toString()
+ ", data="
+ this.data.toString()
+ "}";
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
UpdateSettingsRequest that = (UpdateSettingsRequest) obj;
return Objects.equals(settingType, that.settingType)
&& Objects.equals(componentSetting, that.componentSetting)
&& Objects.equals(data, that.data);
}
@Override
public int hashCode() {
return Objects.hash(settingType, componentSetting, data);
}
}