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=static]+classtype[@name=abstract] BEGIN
13  		
14  		// --- IMPORTS FROM extra/code/java/javapart/classcategory[@name=static]+classtype[@name=abstract] END
15      
16   		/**
17           *  
18              				Abstract definition of the static part of the GameBots2004 message ENT.  
19              			
20           *
21           *  <p></p><p></p>
22           *  Complete message documentation:               
23           *  
24  		Generic physical entity that may be present in the world. Works as a hook for custom objects, such as new items from EmohawkRPG extension.
25  	
26           */
27   	public abstract class EntityStatic 
28    						extends InfoMessage
29    						implements IStaticWorldObject
30    						
31  	    {
32   	
33      	
34      	
35      	/**
36      	 * Parameter-less contructor for the message.
37      	 */
38  		public EntityStatic()
39  		{
40  		}
41  		
42  				// abstract definition of the static-part of the message, no more constructors is needed
43  			
44  	   		
45  			protected long SimTime;
46  				
47  			/**
48  			 * Simulation time in MILLI SECONDS !!!
49  			 */	
50  			@Override
51  			public long getSimTime() {
52  				return SimTime;
53  			}
54  						
55  			/**
56  			 * Used by Yylex to slip correct time of the object or programmatically.
57  			 */
58  			protected void setSimTime(long SimTime) {
59  				this.SimTime = SimTime;
60  			}
61  	   	
62  	    			
63  	    				@Override
64  		    			public abstract 
65  		    			EntityStatic clone();
66  		    			
67  						@Override
68  						public Class getCompositeClass() {
69  							return Entity.class;
70  						}
71  	
72  						
73  		    			
74   		/**
75           * 
76  			Unique Id of the item. This Id represents some entity in the world.
77  		 
78           */
79          public abstract UnrealId getId()
80   	;
81  		    			
82   		/**
83           * Type (category) of the entity. 
84           */
85          public abstract String getType()
86   	;
87  		    			
88   		/**
89           * Type (category) of the entity. 
90           */
91          public abstract String getEntityClass()
92   	;
93  		    			
94   		
95   		@Override
96   		public boolean isDifferentFrom(IStaticWorldObject other)
97   		{
98   			if (other == null) //early fail
99   			{
100  				return true;
101  			}
102  			else if (other == this) //early out
103  			{
104  				return false;
105  			}
106  			else
107  			{
108  				EntityStatic obj = (EntityStatic) other;
109 
110  				
111  						if ( !(
112  	 			AdvancedEquals.equalsOrNull(this.getId()
113  	, obj.getId()
114  	)
115  	 		) )
116 						{
117 							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class EntityStatic");
118 							return true;
119 						}
120  					
121  						if ( !(
122  	 			AdvancedEquals.equalsOrNull(this.getType()
123  	, obj.getType()
124  	)
125  	 		) )
126 						{
127 							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Type on object class EntityStatic");
128 							return true;
129 						}
130  					
131  						if ( !(
132  	 			AdvancedEquals.equalsOrNull(this.getEntityClass()
133  	, obj.getEntityClass()
134  	)
135  	 		) )
136 						{
137 							System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property EntityClass on object class EntityStatic");
138 							return true;
139 						}
140  					
141  			}
142  			return false;
143  		}
144  	 
145  		
146  	    public String toString() {
147             return
148             	super.toString() + "[" +
149             	
150 		              			"Id = " + String.valueOf(getId()
151  	) + " | " + 
152 		              		
153 		              			"Type = " + String.valueOf(getType()
154  	) + " | " + 
155 		              		
156 		              			"EntityClass = " + String.valueOf(getEntityClass()
157  	) + " | " + 
158 		              		
159 				"]";           		
160         }
161  	
162  		
163  		public String toHtmlString() {
164  			return super.toString() + "[<br/>" +
165             	
166 		              			"<b>Id</b> = " + String.valueOf(getId()
167  	) + " <br/> " + 
168 		              		
169 		              			"<b>Type</b> = " + String.valueOf(getType()
170  	) + " <br/> " + 
171 		              		
172 		              			"<b>EntityClass</b> = " + String.valueOf(getEntityClass()
173  	) + " <br/> " + 
174 		              		
175 				"<br/>]";     
176 		}
177  	
178  		
179  		// --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=all]) ---
180         	
181 		// --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=all]) ---
182 		
183 	    // --- Extra Java from XML BEGIN (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---
184 	        
185 	    // --- Extra Java from XML END (extra/code/java/javapart/classcategory[@name=static+classtype[@name=abstract]) ---        	            	
186  	
187 		}
188