org.fabric3.datasource.spi.DataSourceConfiguration Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fabric3-datasource Show documentation
Show all versions of fabric3-datasource Show documentation
Support for configuring, deploying, and accessing datasources
The newest version!
/*
* Fabric3
* Copyright (c) 2009-2013 Metaform Systems
*
* Fabric3 is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version, with the
* following exception:
*
* Linking this software statically or dynamically with other
* modules is making a combined work based on this software.
* Thus, the terms and conditions of the GNU General Public
* License cover the whole combination.
*
* As a special exception, the copyright holders of this software
* give you permission to link this software with independent
* modules to produce an executable, regardless of the license
* terms of these independent modules, and to copy and distribute
* the resulting executable under terms of your choice, provided
* that you also meet, for each linked independent module, the
* terms and conditions of the license of that module. An
* independent module is a module which is not derived from or
* based on this software. If you modify this software, you may
* extend this exception to your version of the software, but
* you are not obligated to do so. If you do not wish to do so,
* delete this exception statement from your version.
*
* Fabric3 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the
* GNU General Public License along with Fabric3.
* If not, see .
*/
package org.fabric3.datasource.spi;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;
import java.util.Properties;
/**
* Configuration used to create a datasource on a runtime.
*/
public class DataSourceConfiguration implements Serializable {
private static final long serialVersionUID = -2790525523535863636L;
private String name;
private List aliases;
private String driverClass;
private DataSourceType type;
private String url;
private String username;
private String password;
private int maxPoolSize = -1;
private int minPoolSize = -1;
private int connectionTimeout = -1;
private int loginTimeout = -1;
private int maintenanceInterval = -1;
private int maxIdle = -1;
private int poolSize = -1;
private int reap = -1;
private String query;
private Properties properties = new Properties();
public DataSourceConfiguration(String name, String driverClass, DataSourceType type) {
this.name = name;
this.driverClass = driverClass;
this.type = type;
this.aliases = Collections.emptyList();
}
public String getName() {
return name;
}
public List getAliases() {
return aliases;
}
public void setAliases(List aliases) {
this.aliases = aliases;
}
public String getDriverClass() {
return driverClass;
}
public DataSourceType getType() {
return type;
}
public Object getProperty(String name) {
return properties.get(name);
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
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 int getMaxPoolSize() {
return maxPoolSize;
}
public void setMaxPoolSize(int maxPoolSize) {
this.maxPoolSize = maxPoolSize;
}
public int getMinPoolSize() {
return minPoolSize;
}
public void setMinPoolSize(int minPoolSize) {
this.minPoolSize = minPoolSize;
}
public int getConnectionTimeout() {
return connectionTimeout;
}
public void setConnectionTimeout(int connectionTimeout) {
this.connectionTimeout = connectionTimeout;
}
public int getLoginTimeout() {
return loginTimeout;
}
public void setLoginTimeout(int loginTimeout) {
this.loginTimeout = loginTimeout;
}
public int getMaintenanceInterval() {
return maintenanceInterval;
}
public void setMaintenanceInterval(int maintenanceInterval) {
this.maintenanceInterval = maintenanceInterval;
}
public int getMaxIdle() {
return maxIdle;
}
public void setMaxIdle(int maxIdle) {
this.maxIdle = maxIdle;
}
public int getPoolSize() {
return poolSize;
}
public void setPoolSize(int poolSize) {
this.poolSize = poolSize;
}
public int getReap() {
return reap;
}
public void setReap(int reap) {
this.reap = reap;
}
public String getQuery() {
return query;
}
public void setQuery(String query) {
this.query = query;
}
/**
* Sets a driver-specific property.
*
* @param name the property name
* @param value the property value
*/
public void setProperty(String name, String value) {
properties.put(name, value);
}
/**
* Returns the driver-specific properties configured for the datasource
*
* @return the properties
*/
public Properties getProperties() {
return properties;
}
}