1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.commons.resourcehandler.webapp.config;
20
21 import javax.faces.context.FacesContext;
22
23 import org.apache.myfaces.commons.resourcehandler.webapp.config.impl.WebConfigProviderImpl;
24
25
26
27
28
29
30 public abstract class WebConfigProviderFactory
31 {
32 protected static final String FACTORY_DEFAULT = WebConfigProviderFactory.class.getName();
33
34 private static final String FACTORY_KEY = WebConfigProviderFactory.class.getName();
35
36 public static WebConfigProviderFactory getFacesConfigResourceProviderFactory(FacesContext ctx)
37 {
38 WebConfigProviderFactory instance = (WebConfigProviderFactory) ctx.getExternalContext().getApplicationMap().get(FACTORY_KEY);
39 if (instance != null)
40 {
41 return instance;
42 }
43 else
44 {
45 WebConfigProviderFactory wcpf = new WebConfigProviderFactory()
46 {
47 @Override
48 public WebConfigProvider createWebConfigProvider(FacesContext facesContext)
49 {
50 return new WebConfigProviderImpl();
51 }
52 };
53 setWebConfigProviderFactory(ctx, wcpf);
54 return wcpf;
55 }
56 }
57
58 public static void setWebConfigProviderFactory(FacesContext ctx, WebConfigProviderFactory instance)
59 {
60 ctx.getExternalContext().getApplicationMap().put(FACTORY_KEY, instance);
61 }
62
63 public abstract WebConfigProvider createWebConfigProvider(FacesContext facesContext);
64 }