package com.marklogic.client.spring;
import org.springframework.beans.factory.DisposableBean;
import com.marklogic.client.DatabaseClient;
import com.marklogic.client.helper.DatabaseClientConfig;
import com.marklogic.client.helper.DatabaseClientProvider;
public class SimpleDatabaseClientProvider implements DatabaseClientProvider, DisposableBean {
private DatabaseClientConfig config;
private DatabaseClient client;
public SimpleDatabaseClientProvider() {
}
public SimpleDatabaseClientProvider(DatabaseClientConfig config) {
this.config = config;
}
public SimpleDatabaseClientProvider(DatabaseClientManager mgr) {
this.client = mgr.getObject();
}
@Override
public DatabaseClient getDatabaseClient() {
if (client == null) {
client = new DatabaseClientManager(config).getObject();
}
return client;
}
@Override
public void destroy() throws Exception {
if (client != null) {
client.release();
}
}
}