return table;
}
@Override
public JdbcStringBasedCacheStoreConfig adapt() {
JdbcStringBasedCacheStoreConfig config = new JdbcStringBasedCacheStoreConfig();
// StoreConfiguration
config.fetchPersistentState(fetchPersistentState());
config.ignoreModifications(ignoreModifications());
config.purgeOnStartup(purgeOnStartup());
config.purgeSynchronously(purgeSynchronously());
config.purgerThreads(purgerThreads());
// LockSupportCacheStoreConfiguration
config.setLockAcquistionTimeout(lockAcquistionTimeout());
config.setLockConcurrencyLevel(lockConcurrencyLevel());
// AbstractJdbcCacheStoreConfiguration
config.setConnectionFactoryClass(connectionFactoryClass());
config.setConnectionUrl(connectionUrl());
config.setDatasourceJndiLocation(datasource());
config.setDriverClass(driverClass());
config.setUserName(userName());
config.setPassword(password());
// JdbcStringBasedCacheStoreConfiguration
config.setKey2StringMapperClass(key2StringMapper);
// TableManipulation
config.setCreateTableOnStart(table.createOnStart());
config.setDropTableOnExit(table.dropOnExit());
config.setBatchSize(table.batchSize());
config.setFetchSize(table.fetchSize());
config.setCacheName(table.cacheName());
config.setDataColumnName(table.dataColumnName());
config.setDataColumnType(table.dataColumnType());
config.setIdColumnName(table.idColumnName());
config.setIdColumnType(table.idColumnType());
config.setTimestampColumnName(table.timestampColumnName());
config.setTimestampColumnType(table.timestampColumnType());
config.setTableNamePrefix(table.tableNamePrefix());
return config ;
}