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 {
50 throw new NullPointerException ("type is null");
51 }
52
53 if (renderer == null)
54 {
55 throw new NullPointerException ("renderer is null");
56 }
57
58 this.clientBehaviorRenderers.put (type, renderer);
59 }
60
61 public abstract void addRenderer(String family, String rendererType, Renderer renderer);
62
63 public abstract ResponseStream createResponseStream(OutputStream out);
64
65 public abstract ResponseWriter createResponseWriter(Writer writer, String contentTypeList,
66 String characterEncoding);
67
68 public ClientBehaviorRenderer getClientBehaviorRenderer(String type)
69 {
70 if (type == null)
71 {
72 throw new NullPointerException ("type is null");
73 }
74
75 return this.clientBehaviorRenderers.get (type);
76 }
77
78 public Iterator<String> getClientBehaviorRendererTypes()
79 {
80 return this.clientBehaviorRenderers.keySet().iterator();
81 }
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 public Iterator<String> getComponentFamilies()
98 {
99 List<String> emptyList = Collections.emptyList();
100
101 return emptyList.iterator();
102 }
103
104 public abstract Renderer getRenderer(String family, String rendererType);
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127 public Iterator<String> getRendererTypes(String componentFamily)
128 {
129 List<String> emptyList = Collections.emptyList();
130
131 return emptyList.iterator();
132 }
133
134 public abstract ResponseStateManager getResponseStateManager();
135 }