Changeset 84 for java/main/src/main/java/com/framsticks/core/Entity.java
- Timestamp:
- 06/22/13 21:51:33 (11 years ago)
- Location:
- java/main
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
java/main
-
Property
svn:ignore
set to
target
-
Property
svn:ignore
set to
-
java/main/src/main/java/com/framsticks/core/Entity.java
r78 r84 1 1 package com.framsticks.core; 2 2 3 import com.framsticks.util.*; 4 import com.framsticks.util.Thread; 3 import com.framsticks.params.FramsClass; 4 import com.framsticks.util.dispatching.Thread; 5 import com.framsticks.util.dispatching.Dispatcher; 6 7 import org.apache.commons.configuration.Configuration; 5 8 import org.apache.log4j.Logger; 6 9 … … 8 11 * @author Piotr Sniegowski 9 12 */ 10 public abstract class Entity extends Parametersimplements Dispatcher {13 public abstract class Entity implements Dispatcher { 11 14 12 private final static Logger LOGGER= Logger.getLogger(Entity.class.getName());15 private final static Logger log = Logger.getLogger(Entity.class.getName()); 13 16 14 public Entity(Parameters parameters) { 15 super(parameters); 16 if (dispatcher == null) { 17 dispatcher = new Thread(name); 18 } 19 } 17 protected String name = "entity"; 18 protected EntityOwner owner; 19 protected Dispatcher dispatcher; 20 20 21 @Override 22 public final boolean isActive() { 23 return dispatcher.isActive(); 24 } 21 public Entity() { 22 } 25 23 26 @Override 27 public final void invokeLater(Runnable runnable) { 28 dispatcher.invokeLater(runnable); 29 } 24 public final String getName() { 25 return name; 26 } 30 27 31 protected void run() { 32 assert isActive(); 33 LOGGER.info("running: " + this); 34 } 28 /** 29 * @param name the name to set 30 */ 31 public final void setName(String name) { 32 this.name = name; 33 if (dispatcher instanceof Thread) { 34 ((Thread) dispatcher).setName(name); 35 } 36 } 35 37 36 public final void configurePublic() throws Exception { 37 configure(); 38 } 38 /** 39 * @return the owner 40 */ 41 public EntityOwner getOwner() { 42 return owner; 43 } 39 44 40 protected void configure() throws Exception { 45 /** 46 * @param owner the owner to set 47 */ 48 public void setOwner(EntityOwner owner) { 49 this.owner = owner; 50 } 41 51 42 } 52 @Override 53 public final boolean isActive() { 54 return dispatcher == null || dispatcher.isActive(); 55 } 43 56 44 public Dispatcher getDispatcher() { 45 return dispatcher; 46 } 57 @Override 58 public final void invokeLater(Runnable runnable) { 59 assert dispatcher != null; 60 dispatcher.invokeLater(runnable); 61 } 47 62 48 public final void start() { 49 invokeLater(new Runnable() { 50 @Override 51 public void run() { 52 Entity.this.run(); 53 } 54 }); 55 } 63 public Dispatcher createDefaultDispatcher() { 64 return new Thread(name); 65 } 66 67 protected void run() { 68 assert isActive(); 69 log.info("running: " + this); 70 } 71 72 73 public void configure(Configuration config) { 74 } 75 76 public Dispatcher getDispatcher() { 77 return dispatcher; 78 } 79 80 /** 81 * @param dispatcher the dispatcher to set 82 */ 83 public void setDispatcher(Dispatcher dispatcher) { 84 this.dispatcher = dispatcher; 85 } 86 87 public final void start() { 88 if (dispatcher == null) { 89 log.debug("no dispatcher set for " + this + ", creating default one"); 90 setDispatcher(createDefaultDispatcher()); 91 } 92 invokeLater(new Runnable() { 93 @Override 94 public void run() { 95 Entity.this.run(); 96 } 97 }); 98 } 56 99 57 100 public final void done() { 58 LOGGER.info("stopping entity");101 log.info("stopping entity"); 59 102 if (owner != null) { 60 103 owner.onDone(); … … 62 105 } 63 106 64 107 public static void constructFramsClass(FramsClass.Constructor constructor) { 108 constructor.method("getName"); 109 } 65 110 }
Note: See TracChangeset
for help on using the changeset viewer.