package com.taobao.yugong.common.model; import java.io.Serializable; import java.util.Properties; import org.apache.commons.lang.builder.ToStringBuilder; import com.taobao.yugong.common.utils.YuGongToStringStyle; /** * 数据介质源信息描述 * * @author agapple 2011-9-2 上午11:28:21 */ public class DataSourceConfig implements Serializable { private static final long serialVersionUID = -7653632703273608373L; private String username; private String password; private String url; private DbType type; private String encode; private Properties properties = new Properties(); public DataSourceConfig(){ } public DataSourceConfig(String url, String username, String password, DbType type, Properties properties){ this.username = username; this.password = password; this.url = url; this.type = type; this.properties = properties; } public DataSourceConfig(String url, String username, String password, DbType type, String encode, Properties properties){ this.username = username; this.password = password; this.url = url; this.type = type; this.encode = encode; this.properties = properties; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public DbType getType() { return type; } public void setType(DbType type) { this.type = type; } public String getEncode() { return encode; } public void setEncode(String encode) { this.encode = encode; } public Properties getProperties() { return properties; } public void setProperties(Properties properties) { this.properties = properties; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((encode == null) ? 0 : encode.hashCode()); result = prime * result + ((password == null) ? 0 : password.hashCode()); result = prime * result + ((properties == null) ? 0 : properties.hashCode()); result = prime * result + ((type == null) ? 0 : type.hashCode()); result = prime * result + ((url == null) ? 0 : url.hashCode()); result = prime * result + ((username == null) ? 0 : username.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; DataSourceConfig other = (DataSourceConfig) obj; if (encode == null) { if (other.encode != null) return false; } else if (!encode.equals(other.encode)) return false; if (password == null) { if (other.password != null) return false; } else if (!password.equals(other.password)) return false; if (properties == null) { if (other.properties != null) return false; } else if (!properties.equals(other.properties)) return false; if (type != other.type) return false; if (url == null) { if (other.url != null) return false; } else if (!url.equals(other.url)) return false; if (username == null) { if (other.username != null) return false; } else if (!username.equals(other.username)) return false; return true; } public String toString() { return ToStringBuilder.reflectionToString(this, YuGongToStringStyle.DEFAULT_STYLE); } }