1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package javax.faces.view.facelets;
21
22 import java.io.IOException;
23 import java.net.URL;
24
25
26
27
28 public abstract class FaceletCache<V>
29 {
30 private FaceletCache.MemberFactory<V> _faceletFactory;
31 private FaceletCache.MemberFactory<V> _viewMetadataFaceletFactory;
32
33 public abstract V getFacelet(URL url) throws IOException;
34
35 public abstract boolean isFaceletCached(URL url);
36
37 public abstract V getViewMetadataFacelet(URL url) throws IOException;
38
39 public abstract boolean isViewMetadataFaceletCached(URL url);
40
41 protected void setMemberFactories(FaceletCache.MemberFactory<V> faceletFactory,
42 FaceletCache.MemberFactory<V> viewMetadataFaceletFactory)
43 {
44 if (faceletFactory == null)
45 {
46 throw new NullPointerException("faceletFactory is null");
47 }
48 if (viewMetadataFaceletFactory == null)
49 {
50 throw new NullPointerException("viewMetadataFaceletFactory is null");
51 }
52 _faceletFactory = faceletFactory;
53 _viewMetadataFaceletFactory = viewMetadataFaceletFactory;
54 }
55
56 protected FaceletCache.MemberFactory<V> getMemberFactory()
57 {
58 return _faceletFactory;
59 }
60
61 protected FaceletCache.MemberFactory<V> getMetadataMemberFactory()
62 {
63 return _viewMetadataFaceletFactory;
64 }
65
66 public static interface MemberFactory<V>
67 {
68 V newInstance(URL key) throws IOException;
69 }
70 }