1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.struts.tiles;
21
22 import java.io.Serializable;
23 import java.util.Map;
24
25 import javax.servlet.ServletContext;
26 import javax.servlet.ServletRequest;
27
28 /***
29 * Component repository interface.
30 * This interface allows to retrieve an definition by its name, independently of the
31 * factory implementation.
32 * Implementation must be Serializable, in order to be compliant with web Container
33 * having this constraint (Weblogic 6.x).
34 * @deprecated Use DefinitionsFactory instead.
35 */
36 public interface ComponentDefinitionsFactory extends Serializable
37 {
38
39 /***
40 * Get a definition by its name.
41 * @param name Name of requested definition.
42 * @param request Current servelet request
43 * @param servletContext current servlet context
44 * @throws DefinitionsFactoryException An error occur while getting definition.
45 * @throws NoSuchDefinitionException No definition found for specified name
46 * Implementation can throw more accurate exception as a subclass of this exception
47 */
48 public ComponentDefinition getDefinition(String name, ServletRequest request, ServletContext servletContext) throws NoSuchDefinitionException,DefinitionsFactoryException;
49
50 /***
51 * Init factory.
52 * This method is called exactly once immediately after factory creation in
53 * case of internal creation (by DefinitionUtil).
54 * @param servletContext Servlet Context passed to newly created factory.
55 * @param properties Map of name/property passed to newly created factory.
56 * Map can contains more properties than requested.
57 * @throws DefinitionsFactoryException An error occur during initialization.
58 */
59 public void initFactory(ServletContext servletContext, Map properties) throws DefinitionsFactoryException;
60 }