Package org.vrspace.server.obj
Class EventRecorder
- java.lang.Object
-
- org.vrspace.server.obj.Entity
-
- org.vrspace.server.obj.VRObject
-
- org.vrspace.server.obj.Client
-
- org.vrspace.server.obj.User
-
- org.vrspace.server.obj.EventRecorder
-
@Node public class EventRecorder extends User
Records all events in the world, saves them to the database, plays them back. This is a special case of Client that has no session, but copies scene and properties from the client it impersonates. By overriding Client's sendMessage(), it maintains internal list of received events. Once recording is done, i.e. stop() is called, event list is persisted to the database.- Author:
- joe
- See Also:
PersistentEvent,Recording
-
-
Constructor Summary
Constructors Constructor Description EventRecorder()EventRecorder(WorldManager worldManager, Client client, String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddListener(VRObject obj)Collection<PersistentEvent>getEvents()voidinit(WorldManager worldManager, Client client)voidplay()Play recorded client events as own events, optionally restart the loop when finished.voidplay(Client viewer)Play back to a client sends all recorded events back to a client, optionally restarts the loop when finished.voidprocessEvent(VREvent event)Process an event received from other active objects, typically other users.voidsendMessage(Object obj)voidstart()voidstop()-
Methods inherited from class org.vrspace.server.obj.User
createScene
-
Methods inherited from class org.vrspace.server.obj.Client
clearToken, getToken, setToken
-
Methods inherited from class org.vrspace.server.obj.VRObject
active, addChildren, isActive, isPermanent, isTemporary, notifyListeners, passive, removeListener, setWorld
-
Methods inherited from class org.vrspace.server.obj.Entity
getObjectId
-
-
-
-
Constructor Detail
-
EventRecorder
public EventRecorder()
-
EventRecorder
public EventRecorder(WorldManager worldManager, Client client, String name)
-
-
Method Detail
-
init
public void init(WorldManager worldManager, Client client)
-
start
public void start()
-
stop
public void stop()
-
processEvent
public void processEvent(VREvent event)
Description copied from class:ClientProcess an event received from other active objects, typically other users. This implementation serializes the event and sends it over websocket.- Overrides:
processEventin classClient- Parameters:
event- Whatever has changed
-
sendMessage
public void sendMessage(Object obj)
- Overrides:
sendMessagein classClient
-
play
public void play()
Play recorded client events as own events, optionally restart the loop when finished.
-
play
public void play(Client viewer)
Play back to a client sends all recorded events back to a client, optionally restarts the loop when finished.- Parameters:
viewer- Client who's viewing the recording
-
addListener
public void addListener(VRObject obj)
- Overrides:
addListenerin classVRObject
-
getEvents
public Collection<PersistentEvent> getEvents()
-
-