com.gargoylesoftware.base.objectstore
Class DispatchingObjectStore

java.lang.Object
  extended bycom.gargoylesoftware.base.objectstore.ObjectStore
      extended bycom.gargoylesoftware.base.objectstore.DispatchingObjectStore

public class DispatchingObjectStore
extends ObjectStore

An object store that just dispatches commands to other object stores

Version:
$Revision: 1.6 $
Author:
Mike Bowler

Constructor Summary
protected DispatchingObjectStore(Map nameToResourceFactoryMap)
          Create an instance.
  DispatchingObjectStore(Map commandToStoreMap, Map nameToResourceFactoryMap)
          Create an instance
 
Method Summary
protected  Object executeImpl(ObjectStoreCommand command)
          Perform the dispatching.
protected  ObjectStore findStore(ObjectStoreCommand command)
          Find the ObjectStore for the specified command
 
Methods inherited from class com.gargoylesoftware.base.objectstore.ObjectStore
assertNotNull, execute, getResource, getResourceManager, handleError, handleException, releaseResource, setResourceFactoryMap, setResourceManager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DispatchingObjectStore

protected DispatchingObjectStore(Map nameToResourceFactoryMap)
Create an instance. If you use this constructor then you must override findStoreClass() since the dispatchMap has not been populated

Parameters:
nameToResourceFactoryMap - keys are names, values are the resource factory objects that are represented by the name. This map will be passed into any newly created ObjectStore's via the method setResourceFactoryMap()

DispatchingObjectStore

public DispatchingObjectStore(Map commandToStoreMap,
                              Map nameToResourceFactoryMap)
Create an instance

Parameters:
commandToStoreMap - A map containing command to store mappings. Keys and values must be class objects.
nameToResourceFactoryMap - keys are names, values are the resource factory objects that are represented by the name. This map will be passed into any newly created ObjectStore's via the method setResourceFactoryMap()
Method Detail

executeImpl

protected Object executeImpl(ObjectStoreCommand command)
Perform the dispatching.

Specified by:
executeImpl in class ObjectStore
Parameters:
command - The command to dispatch
Returns:
The result of the command after the other store has processed it
See Also:
ObjectStore.execute(ObjectStoreCommand)

findStore

protected ObjectStore findStore(ObjectStoreCommand command)
                         throws ObjectStoreCommandNotSupportedException,
                                ObjectStoreException
Find the ObjectStore for the specified command

Parameters:
command - The command for which we are finding the store
Returns:
The object store
Throws:
ObjectStoreCommandNotSupportedException - If we cannot find a store for the specified command
ObjectStoreException - if an error occurs when finding or creating an object store


Copyright © 1998-2005 Gargoyle Software Inc.. All Rights Reserved.