📄 idgeneratorfactory.java
字号:
package cn.edu.nju.software.sd.torm.util;
import java.util.HashMap;
import java.util.Map;
/**
* The IDGeneratorFactory class is used to generate the corresponding
* IDGenerator according to the given name, or the default generator if the name
* is wrong or undefined.
*
* @author Yinfei XU
* @version 1.0.0
*/
public class IDGeneratorFactory {
static Map<String, IDGenerator> generators;
static {
generators = new HashMap<String, IDGenerator>();
generators.put("increment", new IncrementIDGenerator());
}
/**
* Create the default IDGenerator. It would be <tt>IncrementIDGenerator<tt>
*
* @return The Default IDGenerator.
*/
public static IDGenerator createDefaultIDGenerator() {
return generators.get("increment");
}
/**
* Create a IDGenerator according to the Generator name.
*
* @param name The name of the generator.
*
* @return A IDGenerator with the name specified by the arg name. And A
* DefaultGenreator if the name is wrong.
*/
public static IDGenerator createIDGenerator(String name) {
if (name == null || name.length()<1)
return generators.get("increment");
String nname = name.toLowerCase().trim();
IDGenerator g = generators.get(name.toLowerCase().trim());
if (g == null) {
String fullName = nname.substring(0, 1).toUpperCase()
+ nname.substring(1) + "Generator";
Class c = null;
try {
c = Class.forName("cn.edu.nju.software.sd.util." + fullName);
} catch (ClassNotFoundException e) {
return createDefaultIDGenerator();
}
try {
generators.put(nname, (g = (IDGenerator) c.getConstructor(
new Class[] {}).newInstance(new Object[] {})));
} catch (Exception e) {
return createDefaultIDGenerator();
}
}
return g;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -