net.dpml.transit
Class DefaultModel

java.lang.Object
  extended by java.rmi.server.RemoteObject
      extended by java.rmi.server.RemoteServer
          extended by java.rmi.server.UnicastRemoteObject
              extended by net.dpml.util.UnicastEventSource
                  extended by net.dpml.transit.DefaultModel
All Implemented Interfaces:
Serializable, Remote, Disposable, EventHandler
Direct Known Subclasses:
DefaultTransitModel

public abstract class DefaultModel
extends UnicastEventSource
implements Disposable

A abstract base class that established an event queue and handles event dispatch operations for listeners declared in classes extending this base class.

Version:
1.0.3
Author:
Digital Product Meta Library
See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.rmi.server.RemoteObject
ref
 
Constructor Summary
DefaultModel(EventQueue queue, Logger logger)
          Creation of a new model.
DefaultModel(EventQueue queue, String name)
          Creation of a new model.
 
Method Summary
 void dispose()
          Dispose of the model.
protected  void enqueueEvent(EventObject event, boolean waitForCompletion)
          Enqueue an event for delivery to registered listeners unless there are no registered listeners.
protected  Logger getLogger()
          Return the assigned logging channel.
 
Methods inherited from class net.dpml.util.UnicastEventSource
addListener, enqueueEvent, getEventListeners, getEventQueue, getLocalLogger, getLock, processEvent, removeListener, terminate
 
Methods inherited from class java.rmi.server.UnicastRemoteObject
clone, exportObject, exportObject, exportObject, unexportObject
 
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
 
Methods inherited from class java.rmi.server.RemoteObject
equals, getRef, hashCode, toString, toStub
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DefaultModel

public DefaultModel(EventQueue queue,
                    String name)
             throws RemoteException
Creation of a new model.

Parameters:
queue - the event queue
name - the name used to construct a logging channel
Throws:
RemoteException - if a remote exception occurs

DefaultModel

public DefaultModel(EventQueue queue,
                    Logger logger)
             throws NullPointerException,
                    RemoteException
Creation of a new model.

Parameters:
queue - the event queue
logger - the assigned logging channel
Throws:
NullPointerException - if the supplied logging channel is null
RemoteException - if a remote exception occurs
Method Detail

getLogger

protected Logger getLogger()
Return the assigned logging channel.

Returns:
the logging channel

dispose

public void dispose()
Dispose of the model.

Specified by:
dispose in interface Disposable

enqueueEvent

protected void enqueueEvent(EventObject event,
                            boolean waitForCompletion)
Enqueue an event for delivery to registered listeners unless there are no registered listeners.

Parameters:
event - the event object to add to the queue
waitForCompletion - if TRUE the implementation will apply the event to the event source event handler and return on copmpletion of evetn delivery