P15GEN2\59518
2024-05-29 d4210c7c4b04abde20037ea8aa0f54ef8a2649aa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package foundation.server;
 
import java.lang.reflect.Method;
 
public class ObjectCreator {
 
    
    @SuppressWarnings("unchecked")
    public static <T> T create(String className) throws Exception {
        T result = null;
        
        Class<?> clazz = Class.forName(className);
 
        Method getInstance = null;
        try {
            getInstance = clazz.getDeclaredMethod("getInstance");
        } 
        catch (NoSuchMethodException e) {
        }
 
        if (getInstance != null) {
            result = (T) getInstance.invoke(null);
        } 
        else {
            result = (T) clazz.newInstance();
        }
        
        return result;
    }
 
}