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