#694 - Refactor - Rename IdGenerator to PlatformIdGenerator ... with a view to support customer Id generators

This commit is contained in:
Robin Bygrave
2016-05-06 14:50:50 +12:00
parent 2b602f6e51
commit 036092d470
14 changed files with 25 additions and 27 deletions
@@ -34,8 +34,8 @@ public class DB2Platform extends DatabasePlatform {
* sequence values.
*/
@Override
public IdGenerator createSequenceIdGenerator(BackgroundExecutor be,
DataSource ds, String seqName, int batchSize) {
public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be,
DataSource ds, String seqName, int batchSize) {
return new DB2SequenceIdGenerator(be, ds, seqName, batchSize);
}
@@ -251,7 +251,7 @@ public class DatabasePlatform {
* @param seqName the name of the sequence
* @param batchSize the number of sequences that should be loaded
*/
public IdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
return null;
}
@@ -39,8 +39,8 @@ public class H2Platform extends DatabasePlatform {
* sequence values.
*/
@Override
public IdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds,
String seqName, int batchSize) {
public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds,
String seqName, int batchSize) {
return new H2SequenceIdGenerator(be, ds, seqName, batchSize);
}
@@ -26,7 +26,7 @@ public class HsqldbPlatform extends DatabasePlatform {
}
@Override
public IdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
return new H2SequenceIdGenerator(be, ds, seqName, batchSize);
}
@@ -52,8 +52,8 @@ public class MySqlPlatform extends DatabasePlatform {
* Return null in case there is a sequence annotation.
*/
@Override
public IdGenerator createSequenceIdGenerator(BackgroundExecutor be,
DataSource ds, String seqName, int batchSize) {
public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be,
DataSource ds, String seqName, int batchSize) {
return null;
}
@@ -54,7 +54,7 @@ public class OraclePlatform extends DatabasePlatform {
}
@Override
public IdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
return new OracleSequenceIdGenerator(be, ds, seqName, batchSize);
}
@@ -11,7 +11,7 @@ import com.avaje.ebean.Transaction;
* actual insert.
* </p>
*/
public interface IdGenerator {
public interface PlatformIdGenerator {
/**
* The name of the default UUID generator.
@@ -84,7 +84,7 @@ public class PostgresPlatform extends DatabasePlatform {
* Create a Postgres specific sequence IdGenerator.
*/
@Override
public IdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
public PlatformIdGenerator createSequenceIdGenerator(BackgroundExecutor be, DataSource ds, String seqName, int batchSize) {
return new PostgresSequenceIdGenerator(be, ds, seqName, batchSize);
}
@@ -17,7 +17,7 @@ import org.slf4j.LoggerFactory;
/**
* Database sequence based IdGenerator.
*/
public abstract class SequenceIdGenerator implements IdGenerator {
public abstract class SequenceIdGenerator implements PlatformIdGenerator {
private static final Logger logger = LoggerFactory.getLogger(SequenceIdGenerator.class);
@@ -18,7 +18,7 @@ import org.slf4j.LoggerFactory;
* One which batch requests sequence Id's would be better for performance.
* </p>
*/
public class SimpleSequenceIdGenerator implements IdGenerator {
public class SimpleSequenceIdGenerator implements PlatformIdGenerator {
private static final Logger logger = LoggerFactory.getLogger(SimpleSequenceIdGenerator.class);
@@ -16,7 +16,7 @@ import com.avaje.ebean.bean.PersistenceContext;
import com.avaje.ebean.bean.PersistenceContextUtil;
import com.avaje.ebean.config.EncryptKey;
import com.avaje.ebean.config.ServerConfig;
import com.avaje.ebean.config.dbplatform.IdGenerator;
import com.avaje.ebean.config.dbplatform.PlatformIdGenerator;
import com.avaje.ebean.config.dbplatform.IdType;
import com.avaje.ebean.event.BeanFindController;
import com.avaje.ebean.event.BeanPersistController;
@@ -152,7 +152,7 @@ public class BeanDescriptor<T> implements MetaBeanInfo, BeanType<T> {
private final boolean idTypePlatformDefault;
private final IdGenerator idGenerator;
private final PlatformIdGenerator idGenerator;
/**
* The database sequence name (optional).
@@ -15,7 +15,7 @@ import com.avaje.ebean.config.ServerConfig;
import com.avaje.ebean.config.dbplatform.DatabasePlatform;
import com.avaje.ebean.config.dbplatform.DbHistorySupport;
import com.avaje.ebean.config.dbplatform.DbIdentity;
import com.avaje.ebean.config.dbplatform.IdGenerator;
import com.avaje.ebean.config.dbplatform.PlatformIdGenerator;
import com.avaje.ebean.config.dbplatform.IdType;
import com.avaje.ebean.event.changelog.ChangeLogFilter;
import com.avaje.ebean.event.changelog.ChangeLogListener;
@@ -663,7 +663,7 @@ public class BeanDescriptorManager implements BeanDescriptorMap {
InheritInfo inheritInfo = descriptor.getInheritInfo();
if (inheritInfo != null && !inheritInfo.isRoot()) {
DeployBeanInfo<?> rootBeanInfo = deplyInfoMap.get(inheritInfo.getRoot().getType());
IdGenerator rootIdGen = rootBeanInfo.getDescriptor().getIdGenerator();
PlatformIdGenerator rootIdGen = rootBeanInfo.getDescriptor().getIdGenerator();
if (rootIdGen != null) {
descriptor.setIdGenerator(rootIdGen);
}
@@ -1240,11 +1240,11 @@ public class BeanDescriptorManager implements BeanDescriptorMap {
}
// create the sequence based IdGenerator
IdGenerator seqIdGen = createSequenceIdGenerator(seqName);
PlatformIdGenerator seqIdGen = createSequenceIdGenerator(seqName);
desc.setIdGenerator(seqIdGen);
}
private IdGenerator createSequenceIdGenerator(String seqName) {
private PlatformIdGenerator createSequenceIdGenerator(String seqName) {
return databasePlatform.createSequenceIdGenerator(backgroundExecutor, dataSource, seqName, dbSequenceBatchSize);
}
@@ -6,7 +6,7 @@ import com.avaje.ebean.annotation.DocStore;
import com.avaje.ebean.annotation.DocStoreMode;
import com.avaje.ebean.config.ServerConfig;
import com.avaje.ebean.config.TableName;
import com.avaje.ebean.config.dbplatform.IdGenerator;
import com.avaje.ebean.config.dbplatform.PlatformIdGenerator;
import com.avaje.ebean.config.dbplatform.IdType;
import com.avaje.ebean.event.BeanFindController;
import com.avaje.ebean.event.BeanPersistController;
@@ -94,7 +94,7 @@ public class DeployBeanDescriptor<T> {
*/
private String idGeneratorName;
private IdGenerator idGenerator;
private PlatformIdGenerator idGenerator;
/**
* The database sequence name (optional).
@@ -816,14 +816,14 @@ public class DeployBeanDescriptor<T> {
/**
* Return the actual IdGenerator for this bean type (can be null).
*/
public IdGenerator getIdGenerator() {
public PlatformIdGenerator getIdGenerator() {
return idGenerator;
}
/**
* Set the actual IdGenerator for this bean type.
*/
public void setIdGenerator(IdGenerator idGenerator) {
public void setIdGenerator(PlatformIdGenerator idGenerator) {
this.idGenerator = idGenerator;
if (idGenerator != null && idGenerator.isDbSequence()) {
setSequenceName(idGenerator.getName());
@@ -3,12 +3,12 @@ package com.avaje.ebeaninternal.server.idgen;
import java.util.UUID;
import com.avaje.ebean.Transaction;
import com.avaje.ebean.config.dbplatform.IdGenerator;
import com.avaje.ebean.config.dbplatform.PlatformIdGenerator;
/**
* IdGenerator for java util UUID.
*/
public class UuidIdGenerator implements IdGenerator {
public class UuidIdGenerator implements PlatformIdGenerator {
/**
* Return UUID from UUID.randomUUID();
@@ -38,6 +38,4 @@ public class UuidIdGenerator implements IdGenerator {
// ignored
}
}