1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.ws.addressing.uuid;
18
19 /***
20 * A {@link UUIdGenerator} factory.
21 *
22 * @author Ian P. Springer <ian_springer@hp.com>
23 */
24 public class UUIdGeneratorFactory {
25
26 /***
27 * NOTE: Use string instead of Class to avoid dependency on jug.jar.
28 */
29 private static final String IMPL_CLASSNAME_JUG = "org.apache.ws.addressing.uuid.JugUUIdGenerator";
30
31 public static final String DEFAULT_IMPL_CLASSNAME = IMPL_CLASSNAME_JUG;
32
33 public static UUIdGenerator createUUIdGenerator() throws RuntimeException {
34 return createUUIdGenerator(DEFAULT_IMPL_CLASSNAME);
35 }
36
37 public static UUIdGenerator createUUIdGenerator(Class implClass) throws RuntimeException {
38 try {
39 return (UUIdGenerator) implClass.newInstance();
40 } catch (Exception e) {
41 throw new RuntimeException("Failed to instantiate UUID generator " + implClass.getName() + ".", e);
42 }
43 }
44
45 public static UUIdGenerator createUUIdGenerator(String implClassname) throws RuntimeException {
46 try {
47 return createUUIdGenerator(Class.forName(implClassname));
48 } catch (Exception e) {
49 throw new RuntimeException("Failed to instantiate UUID generator " + implClassname + ".", e);
50 }
51 }
52
53 }