1
14
15 package com.liferay.portal.kernel.increment;
16
17 import com.liferay.portal.SystemException;
18
19 import java.lang.reflect.Constructor;
20
21
26 public class IncrementFactory {
27
28 @SuppressWarnings("rawtypes")
29 public static Increment createIncrement(
30 Class<? extends Increment<?>> counterClass, Object value)
31 throws SystemException {
32
33 if ((counterClass == NumberIncrement.class) &&
34 (value instanceof Number)) {
35
36 return new NumberIncrement((Number)value);
37 }
38 try {
39 Constructor<? extends Increment<?>> constructor =
40 counterClass.getConstructor(value.getClass());
41
42 return constructor.newInstance(value);
43 }
44 catch (Exception e) {
45 throw new SystemException(e);
46 }
47 }
48
49 }