org.vrspace.server
Class OwnedVRObject

java.lang.Object
  extended byjava.util.Observable
      extended byorg.vrspace.server.VRObject
          extended byorg.vrspace.server.PublicVRObject
              extended byorg.vrspace.server.OwnedVRObject
All Implemented Interfaces:
java.lang.Cloneable, Owned

public class OwnedVRObject
extends PublicVRObject
implements Owned

Forwards events to all the listeners, but receives events only from owners.


Field Summary
 
Fields inherited from class org.vrspace.server.VRObject
db_id, primitiveMap, primitives
 
Constructor Summary
OwnedVRObject()
           
 
Method Summary
 void addOwner(Owner c)
          Interface Owned
 boolean isOwned(Owner c)
          Interface Owned
 void notifyOwners(java.lang.Object o)
          Interface Owned
 void ownershipRequired(Request r)
          Called from sendEvent( request ) in case request comes from non-owner.
 void processEvent(Request r)
          Process a request.
 void removeOwner(Owner c)
          Interface Owned
 void sendEvent(Request r)
          Forwards request r to other clients, listeners added by Dispatcher.
 
Methods inherited from class org.vrspace.server.PublicVRObject
setValue
 
Methods inherited from class org.vrspace.server.VRObject
arrayToString, canRead, canWrite, clone, equals, fieldToText, fromString, fromText, getClassName, getField, getFields, getId, getID, getMemebers, hasField, hasMethod, isNew, newInstance, sendResponse, setField, setField, setField, setFields, setFields, stringToArray, toString, toText, toText, toText
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OwnedVRObject

public OwnedVRObject()
Method Detail

sendEvent

public void sendEvent(Request r)
               throws RequestException
Forwards request r to other clients, listeners added by Dispatcher. Throws RequestException if request target is another object, or if event source is not in it's owners list.

Overrides:
sendEvent in class VRObject
Throws:
RequestException

ownershipRequired

public void ownershipRequired(Request r)
                       throws RequestException
Called from sendEvent( request ) in case request comes from non-owner. Intended for subclases. This implementation throws RequestException.

Throws:
RequestException

processEvent

public void processEvent(Request r)
Process a request. Called from sendEvent if request comes from owner. Intedend for use by sublcasses, utility function.


addOwner

public void addOwner(Owner c)
Interface Owned

Specified by:
addOwner in interface Owned

removeOwner

public void removeOwner(Owner c)
Interface Owned

Specified by:
removeOwner in interface Owned

isOwned

public boolean isOwned(Owner c)
Interface Owned

Specified by:
isOwned in interface Owned

notifyOwners

public void notifyOwners(java.lang.Object o)
Interface Owned

Specified by:
notifyOwners in interface Owned