1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package javax.faces.render;
20
21 import java.io.OutputStream;
22 import java.io.Writer;
23 import java.util.Collections;
24 import java.util.HashMap;
25 import java.util.Iterator;
26 import java.util.List;
27
28 import javax.faces.context.ResponseStream;
29 import javax.faces.context.ResponseWriter;
30
31
32
33
34
35
36
37 public abstract class RenderKit
38 {
39 private HashMap<String, ClientBehaviorRenderer> clientBehaviorRenderers;
40
41 public RenderKit ()
42 {
43 this.clientBehaviorRenderers = new HashMap<String, ClientBehaviorRenderer>();
44 }
45
46 public void addClientBehaviorRenderer(String type, ClientBehaviorRenderer renderer)
47 {
48 if (type == null) {
49 throw new NullPointerException ("type is null");
50 }
51
52 if (renderer == null) {
53 throw new NullPointerException ("renderer is null");
54 }
55
56 this.clientBehaviorRenderers.put (type, renderer);
57 }
58
59 public abstract void addRenderer(String family, String rendererType, Renderer renderer);
60
61 public abstract ResponseStream createResponseStream(OutputStream out);
62
63 public abstract ResponseWriter createResponseWriter(Writer writer, String contentTypeList, String characterEncoding);
64
65 public ClientBehaviorRenderer getClientBehaviorRenderer(String type)
66 {
67 if (type == null) {
68 throw new NullPointerException ("type is null");
69 }
70
71 return this.clientBehaviorRenderers.get (type);
72 }
73
74 public Iterator<String> getClientBehaviorRendererTypes()
75 {
76 return this.clientBehaviorRenderers.keySet().iterator();
77 }
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93 public Iterator<String> getComponentFamilies()
94 {
95 List<String> emptyList = Collections.emptyList();
96
97 return emptyList.iterator();
98 }
99
100 public abstract Renderer getRenderer(String family, String rendererType);
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123 public Iterator<String> getRendererTypes(String componentFamily)
124 {
125 List<String> emptyList = Collections.emptyList();
126
127 return emptyList.iterator();
128 }
129
130 public abstract ResponseStateManager getResponseStateManager();
131 }