// Path: brent-pusher-core/src/main/java/cn/brent/pusher/config/Constants.java
// final public class Constants {
// 
// 	/** 连接保存者 */
// 	protected ISessionManager sessionManager=new MapSessionManager();
// 
// 	protected int port=8887;
// 
// 	public ISessionManager getSessionManager() {
// 		return sessionManager;
// 	}
// 
// 	public void setSessionManager(ISessionManager sessionManager) {
// 		this.sessionManager = sessionManager;
// 	}
// 
// 	public int getPort() {
// 		return port;
// 	}
// 
// 	public void setPort(int port) {
// 		this.port = port;
// 	}
// 	
// }
// 
// Path: brent-pusher-core/src/main/java/cn/brent/pusher/config/Plugins.java
// final public class Plugins { 
// 
// private final List<IPlugin> list = new ArrayList<IPlugin>();
// 	
// 	/**
// 	 * 新增插件
// 	 * @param verifier
// 	 * @return
// 	 */
// 	public Plugins add(IPlugin verifier) {
// 		if (verifier != null)
// 			this.list.add(verifier);
// 		return this;
// 	}
// 	
// 	public IPlugin[] getAll() {
// 		return list.toArray(new IPlugin[list.size()]);
// 	}
// }
// 
// Path: brent-pusher-core/src/main/java/cn/brent/pusher/config/PusherConfig.java
// public abstract class PusherConfig {
// 
// 	/**
// 	 * Config constant
// 	 */
// 	public abstract void configConstant(Constants me);
// 	
// 	/**
// 	 * Config IVerifier
// 	 */
// 	public abstract void configVerifier(Verifiers me);
// 	
// 	/**
// 	 * Config Plugin
// 	 */
// 	public abstract void configPlugin(Plugins me);
// 
// 	/**
// 	 * Call back after start
// 	 */
// 	public void afterStart(){};
// 	
// 	/**
// 	 * Call back before stop
// 	 */
// 	public void beforeStop(){};
// 	
// 	/**
// 	 * Call back after Connect Success
// 	 */
// 	public void afterConnectSuccess(IPusherClient socket){};
// }
// 
// Path: brent-pusher-core/src/main/java/cn/brent/pusher/config/Verifiers.java
// final public class Verifiers {
// 
// 	private final List<IVerifier> list = new ArrayList<IVerifier>();
// 	
// 	/**
// 	 * 新增认证器
// 	 * @param verifier
// 	 * @return
// 	 */
// 	public Verifiers add(IVerifier verifier) {
// 		if (verifier != null)
// 			this.list.add(verifier);
// 		return this;
// 	}
// 	
// 	public IVerifier[] getAll() {
// 		return list.toArray(new IVerifier[list.size()]);
// 	}
// 	
// }


import cn.brent.pusher.config.Constants;
import cn.brent.pusher.config.Plugins;
import cn.brent.pusher.config.PusherConfig;
import cn.brent.pusher.config.Verifiers;

package cn.brent.pusher.core;


public class Config {

	private static  Constants constants = new Constants();
	private static  Verifiers verifiers = new Verifiers();
	private static  Plugins plugins = new Plugins();
	

// Path: brent-pusher-core/src/main/java/cn/brent/pusher/config/Constants.java
// final public class Constants {
// 
// 	/** 连接保存者 */
// 	protected ISessionManager sessionManager=new MapSessionManager();
// 
// 	protected int port=8887;
// 
// 	public ISessionManager getSessionManager() {
// 		return sessionManager;
// 	}
// 
// 	public void setSessionManager(ISessionManager sessionManager) {
// 		this.sessionManager = sessionManager;
// 	}
// 
// 	public int getPort() {
// 		return port;
// 	}
// 
// 	public void setPort(int port) {
// 		this.port = port;
// 	}
// 	
// }
// 
// Path: brent-pusher-core/src/main/java/cn/brent/pusher/config/Plugins.java
// final public class Plugins { 
// 
// private final List<IPlugin> list = new ArrayList<IPlugin>();
// 	
// 	/**
// 	 * 新增插件
// 	 * @param verifier
// 	 * @return
// 	 */
// 	public Plugins add(IPlugin verifier) {
// 		if (verifier != null)
// 			this.list.add(verifier);
// 		return this;
// 	}
// 	
// 	public IPlugin[] getAll() {
// 		return list.toArray(new IPlugin[list.size()]);
// 	}
// }
// 
// Path: brent-pusher-core/src/main/java/cn/brent/pusher/config/PusherConfig.java
// public abstract class PusherConfig {
// 
// 	/**
// 	 * Config constant
// 	 */
// 	public abstract void configConstant(Constants me);
// 	
// 	/**
// 	 * Config IVerifier
// 	 */
// 	public abstract void configVerifier(Verifiers me);
// 	
// 	/**
// 	 * Config Plugin
// 	 */
// 	public abstract void configPlugin(Plugins me);
// 
// 	/**
// 	 * Call back after start
// 	 */
// 	public void afterStart(){};
// 	
// 	/**
// 	 * Call back before stop
// 	 */
// 	public void beforeStop(){};
// 	
// 	/**
// 	 * Call back after Connect Success
// 	 */
// 	public void afterConnectSuccess(IPusherClient socket){};
// }
// 
// Path: brent-pusher-core/src/main/java/cn/brent/pusher/config/Verifiers.java
// final public class Verifiers {
// 
// 	private final List<IVerifier> list = new ArrayList<IVerifier>();
// 	
// 	/**
// 	 * 新增认证器
// 	 * @param verifier
// 	 * @return
// 	 */
// 	public Verifiers add(IVerifier verifier) {
// 		if (verifier != null)
// 			this.list.add(verifier);
// 		return this;
// 	}
// 	
// 	public IVerifier[] getAll() {
// 		return list.toArray(new IVerifier[list.size()]);
// 	}
// 	
// }


// Path: brent-pusher-core/src/main/java/cn/brent/pusher/core/Config.java
import cn.brent.pusher.config.Constants;
import cn.brent.pusher.config.Plugins;
import cn.brent.pusher.config.PusherConfig;
import cn.brent.pusher.config.Verifiers;

package cn.brent.pusher.core;


public class Config {

	private static  Constants constants = new Constants();
	private static  Verifiers verifiers = new Verifiers();
	private static  Plugins plugins = new Plugins();
	

	protected static void configPusher(PusherConfig pushConfig) {
