// Path: elastic-config-core/src/main/java/com/github/config/group/ZookeeperConfigProfile.java
// @Setter
// @Getter
// @ToString
// @NoArgsConstructor
// public class ZookeeperConfigProfile extends ConfigProfile {
// 
// 	public ZookeeperConfigProfile(String serverlist, String namespaces, String rootNode, String version) {
// 		super(rootNode, version);
// 		this.serverlist = serverlist;
// 		this.namespaces = namespaces;
// 	}
// 
// 	/**
// 	 * zookeeper地址,包括IP地址和端口号. 多个地址用逗号分隔
// 	 */
// 	private String serverlist;
// 
// 	/**
// 	 * Zookeeper项目配置命名空间
// 	 */
// 	private String namespaces;
// 
// 	/**
// 	 * Zookeeper项目配置监控端口
// 	 */
// 	private int monitorPort = -1;
// 
// 	public String getConcurrentRootNodePath() {
// 		return ZKPaths.makePath(rootNode, version, node);
// 	}
// 
// 	public String getVersionRootNodePath(String node) {
// 		return ZKPaths.makePath(rootNode, version, node);
// 	}
// 
// 	public String getFullPath(String key) {
// 		return ZKPaths.makePath(rootNode, version, node, key);
// 	}
// 
// 	public boolean isVersionRootPath(String path) {
// 		return getConcurrentRootNodePath().equals(path);
// 	}
// }


import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.tuple.Pair;
import com.github.config.group.ZookeeperConfigProfile;
import com.google.common.base.Objects;
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
import com.google.common.base.Throwables;
import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;

package com.github.config.api;





/**
 * ElasticConfig 抽象类
 * 
 * @author ZhangWei
 */
@Slf4j
@RequiredArgsConstructor
public abstract class AbstractElasticConfig extends ConcurrentHashMap<String, String> implements ElasticConfig {

	private static final long serialVersionUID = -2349529888901701071L;

	@Getter

// Path: elastic-config-core/src/main/java/com/github/config/group/ZookeeperConfigProfile.java
// @Setter
// @Getter
// @ToString
// @NoArgsConstructor
// public class ZookeeperConfigProfile extends ConfigProfile {
// 
// 	public ZookeeperConfigProfile(String serverlist, String namespaces, String rootNode, String version) {
// 		super(rootNode, version);
// 		this.serverlist = serverlist;
// 		this.namespaces = namespaces;
// 	}
// 
// 	/**
// 	 * zookeeper地址,包括IP地址和端口号. 多个地址用逗号分隔
// 	 */
// 	private String serverlist;
// 
// 	/**
// 	 * Zookeeper项目配置命名空间
// 	 */
// 	private String namespaces;
// 
// 	/**
// 	 * Zookeeper项目配置监控端口
// 	 */
// 	private int monitorPort = -1;
// 
// 	public String getConcurrentRootNodePath() {
// 		return ZKPaths.makePath(rootNode, version, node);
// 	}
// 
// 	public String getVersionRootNodePath(String node) {
// 		return ZKPaths.makePath(rootNode, version, node);
// 	}
// 
// 	public String getFullPath(String key) {
// 		return ZKPaths.makePath(rootNode, version, node, key);
// 	}
// 
// 	public boolean isVersionRootPath(String path) {
// 		return getConcurrentRootNodePath().equals(path);
// 	}
// }


// Path: elastic-config-core/src/main/java/com/github/config/api/AbstractElasticConfig.java
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.tuple.Pair;
import com.github.config.group.ZookeeperConfigProfile;
import com.google.common.base.Objects;
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
import com.google.common.base.Throwables;
import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;

package com.github.config.api;





/**
 * ElasticConfig 抽象类
 * 
 * @author ZhangWei
 */
@Slf4j
@RequiredArgsConstructor
public abstract class AbstractElasticConfig extends ConcurrentHashMap<String, String> implements ElasticConfig {

	private static final long serialVersionUID = -2349529888901701071L;

	@Getter

	protected final ZookeeperConfigProfile configProfile;
