/* | |
* Copyright 1999-2011 Alibaba Group. | |
* | |
* 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.dubbo.config; | |
import java.util.Arrays; | |
import java.util.List; | |
import com.alibaba.dubbo.common.Constants; | |
import com.alibaba.dubbo.config.support.Parameter; | |
import com.alibaba.dubbo.rpc.ExporterListener; | |
/** | |
* AbstractServiceConfig | |
* | |
* @author william.liangf | |
*/ | |
public abstract class AbstractServiceConfig extends AbstractInterfaceConfig { | |
private static final long serialVersionUID = 1L; | |
// 服务版本 | |
protected String version; | |
// 服务分组 | |
protected String group; | |
// 服务是否已经deprecated | |
protected Boolean deprecated; | |
// 延迟暴露 | |
protected Integer delay; | |
// 是否暴露 | |
protected Boolean export; | |
// 权重 | |
protected Integer weight; | |
// 应用文档 | |
protected String document; | |
// 在注册中心上注册成动态的还是静态的服务 | |
protected Boolean dynamic; | |
// 是否使用令牌 | |
protected String token; | |
// 访问日志 | |
protected String accesslog; | |
// 允许执行请求数 | |
private Integer executes; | |
protected List<ProtocolConfig> protocols; | |
// 是否注册 | |
private Boolean register; | |
public String getVersion() { | |
return version; | |
} | |
public void setVersion(String version) { | |
checkKey("version", version); | |
this.version = version; | |
} | |
public String getGroup() { | |
return group; | |
} | |
public void setGroup(String group) { | |
checkKey("group", group); | |
this.group = group; | |
} | |
public Integer getDelay() { | |
return delay; | |
} | |
public void setDelay(Integer delay) { | |
this.delay = delay; | |
} | |
public Boolean getExport() { | |
return export; | |
} | |
public void setExport(Boolean export) { | |
this.export = export; | |
} | |
public Integer getWeight() { | |
return weight; | |
} | |
public void setWeight(Integer weight) { | |
this.weight = weight; | |
} | |
@Parameter(escaped = true) | |
public String getDocument() { | |
return document; | |
} | |
public void setDocument(String document) { | |
this.document = document; | |
} | |
public String getToken() { | |
return token; | |
} | |
public void setToken(String token) { | |
checkName("token", token); | |
this.token = token; | |
} | |
public void setToken(Boolean token) { | |
if (token == null) { | |
setToken((String) null); | |
} else { | |
setToken(String.valueOf(token)); | |
} | |
} | |
public Boolean isDeprecated() { | |
return deprecated; | |
} | |
public void setDeprecated(Boolean deprecated) { | |
this.deprecated = deprecated; | |
} | |
public Boolean isDynamic() { | |
return dynamic; | |
} | |
public void setDynamic(Boolean dynamic) { | |
this.dynamic = dynamic; | |
} | |
public List<ProtocolConfig> getProtocols() { | |
return protocols; | |
} | |
@SuppressWarnings({ "unchecked" }) | |
public void setProtocols(List<? extends ProtocolConfig> protocols) { | |
this.protocols = (List<ProtocolConfig>)protocols; | |
} | |
public ProtocolConfig getProtocol() { | |
return protocols == null || protocols.size() == 0 ? null : protocols.get(0); | |
} | |
public void setProtocol(ProtocolConfig protocol) { | |
this.protocols = Arrays.asList(new ProtocolConfig[] {protocol}); | |
} | |
public String getAccesslog() { | |
return accesslog; | |
} | |
public void setAccesslog(String accesslog) { | |
this.accesslog = accesslog; | |
} | |
public void setAccesslog(Boolean accesslog) { | |
if (accesslog == null) { | |
setAccesslog((String) null); | |
} else { | |
setAccesslog(String.valueOf(accesslog)); | |
} | |
} | |
public Integer getExecutes() { | |
return executes; | |
} | |
public void setExecutes(Integer executes) { | |
this.executes = executes; | |
} | |
@Parameter(key = Constants.SERVICE_FILTER_KEY, append = true) | |
public String getFilter() { | |
return super.getFilter(); | |
} | |
@Parameter(key = Constants.EXPORTER_LISTENER_KEY, append = true) | |
public String getListener() { | |
return super.getListener(); | |
} | |
@Override | |
public void setListener(String listener) { | |
checkMultiExtension(ExporterListener.class, "listener", listener); | |
super.setListener(listener); | |
} | |
public Boolean isRegister() { | |
return register; | |
} | |
public void setRegister(Boolean register) { | |
this.register = register; | |
if (Boolean.FALSE.equals(register)) { | |
setRegistry(new RegistryConfig(RegistryConfig.NO_AVAILABLE)); | |
} | |
} | |
} |