// Path: src/com/smartmarmot/dbforbix/config/Config.java
// interface Validable {
// 
// 	public boolean isValid();
// }
// 
// Path: src/com/smartmarmot/dbforbix/config/item/IConfigurationItem.java
// public interface IConfigurationItem {
// 
// 	String getConfigurationUID();
// 	void setConfigurationUID(String _configurationUID);
// 	String getHost();
// 	void setHost(String _host);
// 	String getHostid();
// 	void setHostid(String _hostid);
// 	String getDb();
// 	void setDb(String _db);
// 	String getKey();
// 	void setKey(String _key);
// 	String getParam();
// 	void setParam(String _param);
// 	String getHashParam();
// 	void setHashParam(String _hashParam);
// 	ZabbixServer getZabbixServer();
// 	void setZabbixServer(ZabbixServer _zabbixServer);
// 	Set<IConfigurationElement> getConfigurationElements();
// 	void addConfigurationElements(Set<IConfigurationElement> configurationElements);
// 
// }
// 
// Path: src/com/smartmarmot/dbforbix/zabbix/ZabbixSender.java
// public enum PROTOCOL {
// 	V14, V18, V32
// }


import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.smartmarmot.dbforbix.config.Config.Validable;
import com.smartmarmot.dbforbix.config.item.IConfigurationItem;
import com.smartmarmot.dbforbix.zabbix.ZabbixSender.PROTOCOL;

package com.smartmarmot.dbforbix.config;



/**
 * Zabbix server config entry
 */
public class ZabbixServer implements Validable {
	
	String		zbxServerHost		= null;
	int			zbxServerPort		= 10051;
	private String 		zbxServerNameFC		= null;
	String		proxy		= null;
	private PROTOCOL	protocol	= PROTOCOL.V32;		
	private Collection<String> definedDBNames  = null;
	
	
	/**
	 * reinit 
	 */
	private Map<String,List<String> > hosts=null;
	private Map<String,List<String> > items=null;
	private Map<String,List<String> > hostmacro=null;
	private Map<String,List<String>> hostsTemplates=null;

// Path: src/com/smartmarmot/dbforbix/config/Config.java
// interface Validable {
// 
// 	public boolean isValid();
// }
// 
// Path: src/com/smartmarmot/dbforbix/config/item/IConfigurationItem.java
// public interface IConfigurationItem {
// 
// 	String getConfigurationUID();
// 	void setConfigurationUID(String _configurationUID);
// 	String getHost();
// 	void setHost(String _host);
// 	String getHostid();
// 	void setHostid(String _hostid);
// 	String getDb();
// 	void setDb(String _db);
// 	String getKey();
// 	void setKey(String _key);
// 	String getParam();
// 	void setParam(String _param);
// 	String getHashParam();
// 	void setHashParam(String _hashParam);
// 	ZabbixServer getZabbixServer();
// 	void setZabbixServer(ZabbixServer _zabbixServer);
// 	Set<IConfigurationElement> getConfigurationElements();
// 	void addConfigurationElements(Set<IConfigurationElement> configurationElements);
// 
// }
// 
// Path: src/com/smartmarmot/dbforbix/zabbix/ZabbixSender.java
// public enum PROTOCOL {
// 	V14, V18, V32
// }


// Path: src/com/smartmarmot/dbforbix/config/ZabbixServer.java
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.smartmarmot.dbforbix.config.Config.Validable;
import com.smartmarmot.dbforbix.config.item.IConfigurationItem;
import com.smartmarmot.dbforbix.zabbix.ZabbixSender.PROTOCOL;

package com.smartmarmot.dbforbix.config;



/**
 * Zabbix server config entry
 */
public class ZabbixServer implements Validable {
	
	String		zbxServerHost		= null;
	int			zbxServerPort		= 10051;
	private String 		zbxServerNameFC		= null;
	String		proxy		= null;
	private PROTOCOL	protocol	= PROTOCOL.V32;		
	private Collection<String> definedDBNames  = null;
	
	
	/**
	 * reinit 
	 */
	private Map<String,List<String> > hosts=null;
	private Map<String,List<String> > items=null;
	private Map<String,List<String> > hostmacro=null;
	private Map<String,List<String>> hostsTemplates=null;

	private Map<String,IConfigurationItem> configurationItems = new HashMap<>();
