View Javadoc

1   
2       		/**
3            	IMPORTANT !!!
4   
5            	DO NOT EDIT THIS FILE. IT IS GENERATED FROM 
6            	THE JavaClassesGenerator.xslt. MODIFY THAT FILE INSTEAD OF THIS ONE.
7            
8            	Use Ant task process-gb-messages after that to generate this file again.
9            
10           	IMPORTANT END !!!
11          	*/
12   			   	
13      		package cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages;
14  
15              import java.util.*;import javax.vecmath.*;import cz.cuni.amis.pogamut.base.communication.messages.*;import cz.cuni.amis.pogamut.base.communication.worldview.*;import cz.cuni.amis.pogamut.base.communication.worldview.event.*;import cz.cuni.amis.pogamut.base.communication.worldview.object.*;import cz.cuni.amis.pogamut.multi.communication.worldview.object.*;import cz.cuni.amis.pogamut.base.communication.translator.event.*;import cz.cuni.amis.pogamut.multi.communication.translator.event.*;import cz.cuni.amis.pogamut.base3d.worldview.object.*;import cz.cuni.amis.pogamut.base3d.worldview.object.event.*;import cz.cuni.amis.pogamut.ut2004.communication.messages.*;import cz.cuni.amis.pogamut.ut2004.communication.worldview.objects.*;import cz.cuni.amis.pogamut.ut2004multi.communication.worldview.objects.*;import cz.cuni.amis.pogamut.ut2004.communication.translator.itemdescriptor.*;import cz.cuni.amis.pogamut.ut2004.communication.messages.ItemType.Category;import cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId;import cz.cuni.amis.utils.exception.*;import cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result;import cz.cuni.amis.utils.SafeEquals;import cz.cuni.amis.pogamut.base.agent.*;import cz.cuni.amis.pogamut.multi.agent.*;import cz.cuni.amis.pogamut.multi.communication.worldview.property.*;import cz.cuni.amis.pogamut.ut2004multi.communication.worldview.property.*;import cz.cuni.amis.utils.token.*;import cz.cuni.amis.utils.*;
16  
17              public class UT2004SharedObjectCreator {
18  	
19  				public static interface ISharedObjectCreator<T extends ICompositeWorldObject>
20  				{
21  					public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c);
22  				}
23  				
24  				
25  					public static class AliveMessageSharedCreator implements ISharedObjectCreator<AliveMessage>
26  					{
27  						@Override
28  						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
29  							return new AliveMessageSharedImpl(id, c);
30  						}
31  					}
32  				
33  					public static class AutoTraceRaySharedCreator implements ISharedObjectCreator<AutoTraceRay>
34  					{
35  						@Override
36  						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
37  							return new AutoTraceRaySharedImpl(id, c);
38  						}
39  					}
40  				
41  					public static class BombInfoSharedCreator implements ISharedObjectCreator<BombInfo>
42  					{
43  						@Override
44  						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
45  							return new BombInfoSharedImpl(id, c);
46  						}
47  					}
48  				
49  					public static class ConfigChangeSharedCreator implements ISharedObjectCreator<ConfigChange>
50  					{
51  						@Override
52  						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
53  							return new ConfigChangeSharedImpl(id, c);
54  						}
55  					}
56  				
57  					public static class FlagInfoSharedCreator implements ISharedObjectCreator<FlagInfo>
58  					{
59  						@Override
60  						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
61  							return new FlagInfoSharedImpl(id, c);
62  						}
63  					}
64  				
65  					public static class GameInfoSharedCreator implements ISharedObjectCreator<GameInfo>
66  					{
67  						@Override
68  						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
69  							return new GameInfoSharedImpl(id, c);
70  						}
71  					}
72  				
73  					public static class IncomingProjectileSharedCreator implements ISharedObjectCreator<IncomingProjectile>
74  					{
75  						@Override
76  						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
77  							return new IncomingProjectileSharedImpl(id, c);
78  						}
79  					}
80  				
81  					public static class InitedMessageSharedCreator implements ISharedObjectCreator<InitedMessage>
82  					{
83  						@Override
84  						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
85  							return new InitedMessageSharedImpl(id, c);
86  						}
87  					}
88  				
89  					public static class ItemSharedCreator implements ISharedObjectCreator<Item>
90  					{
91  						@Override
92  						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
93  							return new ItemSharedImpl(id, c);
94  						}
95  					}
96  				
97  					public static class MoverSharedCreator implements ISharedObjectCreator<Mover>
98  					{
99  						@Override
100 						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
101 							return new MoverSharedImpl(id, c);
102 						}
103 					}
104 				
105 					public static class MyInventorySharedCreator implements ISharedObjectCreator<MyInventory>
106 					{
107 						@Override
108 						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
109 							return new MyInventorySharedImpl(id, c);
110 						}
111 					}
112 				
113 					public static class NavPointSharedCreator implements ISharedObjectCreator<NavPoint>
114 					{
115 						@Override
116 						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
117 							return new NavPointSharedImpl(id, c);
118 						}
119 					}
120 				
121 					public static class PlayerSharedCreator implements ISharedObjectCreator<Player>
122 					{
123 						@Override
124 						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
125 							return new PlayerSharedImpl(id, c);
126 						}
127 					}
128 				
129 					public static class SelfSharedCreator implements ISharedObjectCreator<Self>
130 					{
131 						@Override
132 						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
133 							return new SelfSharedImpl(id, c);
134 						}
135 					}
136 				
137 					public static class TeamScoreSharedCreator implements ISharedObjectCreator<TeamScore>
138 					{
139 						@Override
140 						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
141 							return new TeamScoreSharedImpl(id, c);
142 						}
143 					}
144 				
145 					public static class VehicleSharedCreator implements ISharedObjectCreator<Vehicle>
146 					{
147 						@Override
148 						public ISharedWorldObject create(WorldObjectId id, Collection<ISharedProperty> c) {
149 							return new VehicleSharedImpl(id, c);
150 						}
151 					}
152 				
153 				
154 				private static HashMap<Class, ISharedObjectCreator> map = new HashMap<Class, ISharedObjectCreator>();
155 	
156 				static {
157 					
158 						map.put(
159 							AliveMessage
160 							.class, 
161 							new AliveMessageSharedCreator()
162 						);
163 					
164 						map.put(
165 							AutoTraceRay
166 							.class, 
167 							new AutoTraceRaySharedCreator()
168 						);
169 					
170 						map.put(
171 							BombInfo
172 							.class, 
173 							new BombInfoSharedCreator()
174 						);
175 					
176 						map.put(
177 							ConfigChange
178 							.class, 
179 							new ConfigChangeSharedCreator()
180 						);
181 					
182 						map.put(
183 							FlagInfo
184 							.class, 
185 							new FlagInfoSharedCreator()
186 						);
187 					
188 						map.put(
189 							GameInfo
190 							.class, 
191 							new GameInfoSharedCreator()
192 						);
193 					
194 						map.put(
195 							IncomingProjectile
196 							.class, 
197 							new IncomingProjectileSharedCreator()
198 						);
199 					
200 						map.put(
201 							InitedMessage
202 							.class, 
203 							new InitedMessageSharedCreator()
204 						);
205 					
206 						map.put(
207 							Item
208 							.class, 
209 							new ItemSharedCreator()
210 						);
211 					
212 						map.put(
213 							Mover
214 							.class, 
215 							new MoverSharedCreator()
216 						);
217 					
218 						map.put(
219 							MyInventory
220 							.class, 
221 							new MyInventorySharedCreator()
222 						);
223 					
224 						map.put(
225 							NavPoint
226 							.class, 
227 							new NavPointSharedCreator()
228 						);
229 					
230 						map.put(
231 							Player
232 							.class, 
233 							new PlayerSharedCreator()
234 						);
235 					
236 						map.put(
237 							Self
238 							.class, 
239 							new SelfSharedCreator()
240 						);
241 					
242 						map.put(
243 							TeamScore
244 							.class, 
245 							new TeamScoreSharedCreator()
246 						);
247 					
248 						map.put(
249 							Vehicle
250 							.class, 
251 							new VehicleSharedCreator()
252 						);
253 										
254 				}				
255 				
256 				public static ISharedWorldObject create(Class msgClass, WorldObjectId objectId, Collection<ISharedProperty> properties )
257 				{
258 					NullCheck.check(msgClass, "msgClass");
259 					NullCheck.check(objectId, "objectId");
260 					NullCheck.check(properties, "properties");
261 					
262 					ISharedObjectCreator creator = map.get(msgClass);
263 					if (creator == null) {
264 					    throw new PogamutException("There is no shared obejct creator for class " + msgClass + ".", UT2004SharedObjectCreator.class);
265 					}
266 					return creator.create(objectId, properties);
267 				}
268 			}
269