1 |
| |
2 |
| |
3 |
| |
4 |
| |
5 |
| |
6 |
| |
7 |
| |
8 |
| |
9 |
| |
10 |
| |
11 |
| |
12 |
| |
13 |
| |
14 |
| |
15 |
| package org.apache.tapestry.engine.state; |
16 |
| |
17 |
| import org.apache.hivemind.ApplicationRuntimeException; |
18 |
| import org.apache.hivemind.ClassResolver; |
19 |
| import org.apache.hivemind.impl.BaseLocatable; |
20 |
| |
21 |
| |
22 |
| |
23 |
| |
24 |
| |
25 |
| |
26 |
| |
27 |
| public class NamedClassStateObjectFactory extends BaseLocatable implements StateObjectFactory |
28 |
| { |
29 |
| private ClassResolver _classResolver; |
30 |
| |
31 |
| private String _className; |
32 |
| |
33 |
5
| public Object createStateObject()
|
34 |
| { |
35 |
5
| try
|
36 |
| { |
37 |
5
| Class c = _classResolver.findClass(_className);
|
38 |
| |
39 |
4
| return c.newInstance();
|
40 |
| } |
41 |
| catch (Exception ex) |
42 |
| { |
43 |
2
| throw new ApplicationRuntimeException(StateMessages.unableToInstantiateObject(
|
44 |
| _className, |
45 |
| ex), getLocation(), ex); |
46 |
| } |
47 |
| } |
48 |
| |
49 |
5
| public void setClassName(String className)
|
50 |
| { |
51 |
5
| _className = className;
|
52 |
| } |
53 |
| |
54 |
1
| public String getClassName()
|
55 |
| { |
56 |
1
| return _className;
|
57 |
| } |
58 |
| |
59 |
5
| public void setClassResolver(ClassResolver classResolver)
|
60 |
| { |
61 |
5
| _classResolver = classResolver;
|
62 |
| } |
63 |
| |
64 |
| |
65 |
| } |