com.alibaba.nacos.api.remote.request.RequestMeta Maven / Gradle / Ivy
/*
* Copyright 1999-2020 Alibaba Group Holding Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.nacos.api.remote.request;
import com.alibaba.nacos.api.ability.constant.AbilityKey;
import com.alibaba.nacos.api.ability.constant.AbilityStatus;
import java.util.HashMap;
import java.util.Map;
/**
* RequestMeta info.
*
* @author liuzunfei
* @version $Id: RequestMeta.java, v 0.1 2020年07月14日 10:32 AM liuzunfei Exp $
*/
public class RequestMeta {
private String connectionId = "";
private String clientIp = "";
private String clientVersion = "";
private Map labels = new HashMap<>();
private Map abilityTable;
public AbilityStatus getConnectionAbility(AbilityKey abilityKey) {
if (abilityTable == null || !abilityTable.containsKey(abilityKey.getName())) {
return AbilityStatus.UNKNOWN;
}
return abilityTable.get(abilityKey.getName()) ? AbilityStatus.SUPPORTED : AbilityStatus.NOT_SUPPORTED;
}
/**
* Setter method for property abilityTable.
*
* @param abilityTable property value of clientVersion
*/
public void setAbilityTable(Map abilityTable) {
this.abilityTable = abilityTable;
}
/**
* Getter method for property clientVersion.
*
* @return property value of clientVersion
*/
public String getClientVersion() {
return clientVersion;
}
/**
* Setter method for property clientVersion.
*
* @param clientVersion value to be assigned to property clientVersion
*/
public void setClientVersion(String clientVersion) {
this.clientVersion = clientVersion;
}
/**
* Getter method for property labels.
*
* @return property value of labels
*/
public Map getLabels() {
return labels;
}
/**
* Setter method for property labels.
*
* @param labels value to be assigned to property labels
*/
public void setLabels(Map labels) {
this.labels = labels;
}
/**
* Getter method for property connectionId.
*
* @return property value of connectionId
*/
public String getConnectionId() {
return connectionId;
}
/**
* Setter method for property connectionId.
*
* @param connectionId value to be assigned to property connectionId
*/
public void setConnectionId(String connectionId) {
this.connectionId = connectionId;
}
/**
* Getter method for property clientIp.
*
* @return property value of clientIp
*/
public String getClientIp() {
return clientIp;
}
/**
* Setter method for property clientIp.
*
* @param clientIp value to be assigned to property clientIp
*/
public void setClientIp(String clientIp) {
this.clientIp = clientIp;
}
@Override
public String toString() {
return "RequestMeta{" + "connectionId='" + connectionId + '\'' + ", clientIp='" + clientIp + '\''
+ ", clientVersion='" + clientVersion + '\'' + ", labels=" + labels + '}';
}
}