1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.tiles.definition.util;
23
24 import org.apache.tiles.TilesContainer;
25 import org.apache.tiles.access.TilesAccess;
26 import org.apache.tiles.definition.DefinitionsFactory;
27 import org.apache.tiles.definition.DefinitionsFactoryException;
28 import org.apache.tiles.definition.ReloadableDefinitionsFactory;
29 import org.apache.tiles.impl.BasicTilesContainer;
30
31 /***
32 * Various {@link DefinitionsFactory} utilities.
33 *
34 * @version $Rev: 527536 $ $Date: 2007-04-11 17:44:51 +0200 (Wed, 11 Apr 2007) $
35 */
36 public final class DefinitionsFactoryUtil {
37
38 /***
39 * Private constructor to avoid instatiation.
40 */
41 private DefinitionsFactoryUtil() {
42 }
43
44 /***
45 * Reloads the definitions factory content, if necessary.
46 *
47 * @param context The context object to use
48 * @throws DefinitionsFactoryException If something goes wrong during
49 * reload.
50 */
51 public static void reloadDefinitionsFactory(Object context)
52 throws DefinitionsFactoryException {
53 TilesContainer container = TilesAccess.getContainer(context);
54 if (container instanceof BasicTilesContainer) {
55 BasicTilesContainer basic = (BasicTilesContainer) container;
56 DefinitionsFactory factory = basic.getDefinitionsFactory();
57 if (factory instanceof ReloadableDefinitionsFactory) {
58 ReloadableDefinitionsFactory rFactory = (ReloadableDefinitionsFactory) factory;
59 if (rFactory.refreshRequired()) {
60 rFactory.refresh();
61 }
62 }
63 }
64 }
65 }