/*
* Copyright (c) 2017 OBiBa. All rights reserved.
*
* This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.obiba.magma;
import javax.validation.constraints.NotNull;
public abstract class AbstractDatasourceFactory implements DatasourceFactory {
//
// Instance Variables
//
@Deprecated
private DatasourceTransformer transformer;
private String name;
@NotNull
protected abstract Datasource internalCreate();
//
// DatasourceFactory Methods
//
@SuppressWarnings("ConstantConditions")
@Override
public void setName(@NotNull String name) {
if(name == null) throw new IllegalArgumentException("Datasource name cannot be null.");
this.name = name;
}
@Override
public String getName() {
return name;
}
@Override
public Datasource create() {
return internalCreate();
}
@Override
public void setDatasourceTransformer(DatasourceTransformer transformer) {
this.transformer = transformer;
}
@Override
public DatasourceTransformer getDatasourceTransformer() {
return transformer;
}
}