Package org.vrspace.server.obj
Class Client
- java.lang.Object
-
- org.vrspace.server.obj.Entity
-
- org.vrspace.server.obj.VRObject
-
- org.vrspace.server.obj.Client
-
- Direct Known Subclasses:
EventRecorder
,RemoteServer
,User
@Node public class Client extends VRObject
Basic client class, adds user-related properties and business logic to VRObject.- Author:
- joe
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
canEqual(Object other)
String
clearToken(String serviceId)
Remove token for a given servicevoid
createScene(WorldManager wm)
Create client's scene, called by WorldManager during login process.boolean
equals(Object o)
String
getIdentity()
Identity is a big unknown yet, will likely get encapsulated in a class.com.fasterxml.jackson.databind.ObjectMapper
getMapper()
Mapper for publicly visible propertiesString
getName()
Client name - unique ID.com.fasterxml.jackson.databind.ObjectMapper
getPrivateMapper()
Private mapper even serializes private fields (so that client can receive own secrets)Scene
getScene()
Scene contains all object that a client tracks, e.g.SceneProperties
getSceneProperties()
org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator
getSession()
Web socket.String
getToken(String serviceId)
Returns token for a given serviceMap<String,String>
getTokens()
Tokens used to access video/audio streaming servers, identify conversations with chatbots etc.Double
getUserHeight()
User's height in real life, used in VR.WriteBack
getWriteBack()
Write-back cache to persist changes to all properties.int
hashCode()
boolean
isGuest()
guest flag hints SceneManager to remove all created/owned object when client disconnectsvoid
processEvent(VREvent event)
Process an event received from other active objects, typically other users.void
sendMessage(Object obj)
void
setGuest(boolean guest)
guest flag hints SceneManager to remove all created/owned object when client disconnectsvoid
setIdentity(String identity)
Identity is a big unknown yet, will likely get encapsulated in a class.void
setMapper(com.fasterxml.jackson.databind.ObjectMapper mapper)
Mapper for publicly visible propertiesvoid
setName(String name)
Client name - unique ID.void
setPrivateMapper(com.fasterxml.jackson.databind.ObjectMapper privateMapper)
Private mapper even serializes private fields (so that client can receive own secrets)void
setScene(Scene scene)
Scene contains all object that a client tracks, e.g.void
setSceneProperties(SceneProperties sceneProperties)
void
setSession(org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator session)
Web socket.void
setToken(String serviceId, String value)
Set token for a given servicevoid
setTokens(Map<String,String> tokens)
Tokens used to access video/audio streaming servers, identify conversations with chatbots etc.void
setUserHeight(Double userHeight)
User's height in real life, used in VR.void
setWriteBack(WriteBack writeBack)
Write-back cache to persist changes to all properties.String
toString()
-
Methods inherited from class org.vrspace.server.obj.VRObject
active, addChildren, addListener, getActive, getAnimation, getChildren, getListeners, getMesh, getObjectId, getPermanent, getPosition, getProperties, getRotation, getScale, getScript, getStreamId, getTemporary, getWorld, getWorldId, isActive, isPermanent, isTemporary, notifyListeners, passive, removeListener, setActive, setAnimation, setChildren, setListeners, setMesh, setPermanent, setPosition, setProperties, setRotation, setScale, setScript, setStreamId, setTemporary, setWorld, setWorldId
-
-
-
-
Method Detail
-
processEvent
public void processEvent(VREvent event)
Process an event received from other active objects, typically other users. This implementation serializes the event and sends it over websocket.- Overrides:
processEvent
in classVRObject
- Parameters:
event
- Whatever has changed
-
sendMessage
public void sendMessage(Object obj)
-
createScene
public void createScene(WorldManager wm)
Create client's scene, called by WorldManager during login process. Default client doesn't have a scene.
-
getName
public String getName()
Client name - unique ID.
-
getUserHeight
public Double getUserHeight()
User's height in real life, used in VR. Transient biometric data.
-
getSceneProperties
public SceneProperties getSceneProperties()
-
getScene
public Scene getScene()
Scene contains all object that a client tracks, e.g. user sees.
-
getIdentity
public String getIdentity()
Identity is a big unknown yet, will likely get encapsulated in a class. For the time being, it's something like username@oauth2provider, e.g. joe@facebook
-
getTokens
public Map<String,String> getTokens()
Tokens used to access video/audio streaming servers, identify conversations with chatbots etc.
-
getWriteBack
public WriteBack getWriteBack()
Write-back cache to persist changes to all properties.
-
getSession
public org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator getSession()
Web socket.
-
getMapper
public com.fasterxml.jackson.databind.ObjectMapper getMapper()
Mapper for publicly visible properties
-
getPrivateMapper
public com.fasterxml.jackson.databind.ObjectMapper getPrivateMapper()
Private mapper even serializes private fields (so that client can receive own secrets)
-
isGuest
public boolean isGuest()
guest flag hints SceneManager to remove all created/owned object when client disconnects
-
setName
public void setName(String name)
Client name - unique ID.
-
setUserHeight
public void setUserHeight(Double userHeight)
User's height in real life, used in VR. Transient biometric data.
-
setSceneProperties
public void setSceneProperties(SceneProperties sceneProperties)
-
setScene
public void setScene(Scene scene)
Scene contains all object that a client tracks, e.g. user sees.
-
setIdentity
public void setIdentity(String identity)
Identity is a big unknown yet, will likely get encapsulated in a class. For the time being, it's something like username@oauth2provider, e.g. joe@facebook
-
setTokens
public void setTokens(Map<String,String> tokens)
Tokens used to access video/audio streaming servers, identify conversations with chatbots etc.
-
setWriteBack
public void setWriteBack(WriteBack writeBack)
Write-back cache to persist changes to all properties.
-
setSession
public void setSession(org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator session)
Web socket.
-
setMapper
public void setMapper(com.fasterxml.jackson.databind.ObjectMapper mapper)
Mapper for publicly visible properties
-
setPrivateMapper
public void setPrivateMapper(com.fasterxml.jackson.databind.ObjectMapper privateMapper)
Private mapper even serializes private fields (so that client can receive own secrets)
-
setGuest
public void setGuest(boolean guest)
guest flag hints SceneManager to remove all created/owned object when client disconnects
-
-