mirror of
https://github.com/ebean-orm/ebean.git
synced 2026-10-24 12:53:59 +00:00
#694 - Refactor - Rename IdGenerator to PlatformIdGenerator ... with a view to support customer Id generators
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
+1
-1
@@ -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
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user