View Javadoc

1   package cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages;
2    		
3    		// --- IMPORTS FROM /messages/settings/javasettings/javaimport BEGIN
4   			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.*;
5   		// --- IMPORTS FROM /messages/settings/javasettings/javaimport END
6   		
7   		
8   		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name='all'] BEGIN
9   				
10  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name='all'] END
11  		
12  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name=event]+classtype[@name=impl] BEGIN
13  		
14  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name=event]+classtype[@name=impl] END
15      
16   		/**
17           *  
18           			Definition of the event END.
19           		
20           *
21           *  <p></p><p></p>
22           *  Complete message documentation:               
23           *  
24  		Synchronous message. This message signalizes end of
25  		synchronous
26  		batch.
27  	
28           */
29   	public class EndMessage 
30    				extends InfoMessage
31      			implements IWorldEvent, IWorldChangeEvent
32      			
33  	    {
34   	
35      	/** Example how the message looks like - used during parser tests. */
36      	public static final String PROTOTYPE =
37      		"END {Time 0}  {VisUpdate False} ";
38      
39      	
40      	
41      	/**
42      	 * Parameter-less contructor for the message.
43      	 */
44  		public EndMessage()
45  		{
46  		}
47  	
48      	
49      	
50      	
51      	/**
52  		 * Creates new instance of the message EndMessage.
53  		 * 
54  		Synchronous message. This message signalizes end of
55  		synchronous
56  		batch.
57  	
58  		 * Corresponding GameBots message
59  		 *   
60  		 *   is
61  		 *   END.
62  		 * 
63   	  	 * 
64  		 *   
65  		 *     @param Time 
66  			Time, when the message was sent - intern UT time.
67  		
68  		 *   
69  		 * 
70  		 *   
71  		 *     @param VisUpdate Sent only if new synchronous batch procotol is used (NewSelfBatchProtocol attribute in INIT message). If true it means this sync. batches contains also visiblity information - PLR, INV, PRJ messages... If false, it means that only SELF message is in this synchronous batch.
72  		 *   
73  		 * 
74  		 */
75  		public EndMessage(
76  			double Time,  boolean VisUpdate
77  		) {
78  			
79  					this.Time = Time;
80  				
81  					this.VisUpdate = VisUpdate;
82  				
83  		}
84      
85      	/**
86  		 * Cloning constructor from the full message.
87  		 *
88  		 * @param original
89  		 */
90  		public EndMessage(EndMessage original) {		
91  			
92  					this.Time = original.getTime()
93   	;
94  				
95  					this.VisUpdate = original.isVisUpdate()
96   	;
97  				
98  			this.SimTime = original.getSimTime();			
99  		}
100 		
101 	   		
102 			protected long SimTime;
103 				
104 			/**
105 			 * Simulation time in MILLI SECONDS !!!
106 			 */	
107 			@Override
108 			public long getSimTime() {
109 				return SimTime;
110 			}
111 						
112 			/**
113 			 * Used by Yylex to slip correct time of the object or programmatically.
114 			 */
115 			protected void setSimTime(long SimTime) {
116 				this.SimTime = SimTime;
117 			}
118 	   	
119     	
120 	    /**
121          * 
122 			Time, when the message was sent - intern UT time.
123 		 
124          */
125         protected
126          double Time =
127        	0;
128 	
129  		/**
130          * 
131 			Time, when the message was sent - intern UT time.
132 		 
133          */
134         public  double getTime()
135  	 {
136     					return Time;
137     				}
138     			
139     	
140 	    /**
141          * Sent only if new synchronous batch procotol is used (NewSelfBatchProtocol attribute in INIT message). If true it means this sync. batches contains also visiblity information - PLR, INV, PRJ messages... If false, it means that only SELF message is in this synchronous batch. 
142          */
143         protected
144          boolean VisUpdate =
145        	false;
146 	
147  		/**
148          * Sent only if new synchronous batch procotol is used (NewSelfBatchProtocol attribute in INIT message). If true it means this sync. batches contains also visiblity information - PLR, INV, PRJ messages... If false, it means that only SELF message is in this synchronous batch. 
149          */
150         public  boolean isVisUpdate()
151  	 {
152     					return VisUpdate;
153     				}
154     			
155  		
156  	    public String toString() {
157             return
158             	super.toString() + "[" +
159             	
160 		              			"Time = " + String.valueOf(getTime()
161  	) + " | " + 
162 		              		
163 		              			"VisUpdate = " + String.valueOf(isVisUpdate()
164  	) + " | " + 
165 		              		
166 				"]";           		
167         }
168  	
169  		
170  		public String toHtmlString() {
171  			return super.toString() + "[<br/>" +
172             	
173 		              			"<b>Time</b> = " + String.valueOf(getTime()
174  	) + " <br/> " + 
175 		              		
176 		              			"<b>VisUpdate</b> = " + String.valueOf(isVisUpdate()
177  	) + " <br/> " + 
178 		              		
179 				"<br/>]";     
180 		}
181  	
182  	    public String toJsonLiteral() {
183             return "endmessage( "
184             		+
185 								    String.valueOf(getTime()
186  	)									
187 								+ ", " + 
188 								    String.valueOf(isVisUpdate()
189  	)									
190 								
191                    + ")";
192         }
193  	
194  		
195  		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
196         	
197 		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
198 		
199 	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=event+classtype[@name=impl]) ---
200 	        
201 	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=event+classtype[@name=impl]) ---        	            	
202  	
203 		}
204