![JAR search and dependency download from the Maven repository](/logo.png)
com.openthinks.libs.sql.entity.key.IdGenerator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openlibs.sql Show documentation
Show all versions of openlibs.sql Show documentation
The lib of java database ORM simple implementation.
The newest version!
package com.openthinks.libs.sql.entity.key;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
/**
* Entity key generator
*
* @author minjdai
*
*/
public abstract class IdGenerator {
private final static Logger logger = Logger.getLogger(IdGenerator.class);
static Map, IdGenerator> generatorMap = new ConcurrentHashMap, IdGenerator>();
static {
generatorMap.put(Object.class, new DefaultIdGenerator());
}
public static void register(Class> type, IdGenerator generator) {
generatorMap.put(type, generator);
}
public static IdGenerator getGenerator(Class> type) {
IdGenerator generator = generatorMap.get(type);
if (generator == null) {
logger.log(Level.WARN, "Can not find this type:" + type + " IdGenerator, use default IdGenerator");
generator = generatorMap.get(Object.class);
}
return generator;
}
public abstract String generator();
static class DefaultIdGenerator extends IdGenerator {
@Override
public String generator() {
return UUID.randomUUID().toString();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy