com.gargoylesoftware.base.objectstore

Class DispatchingObjectStore

public class DispatchingObjectStore extends ObjectStore

An object store that just dispatches commands to other object stores

Version: $Revision: 1.5 $

Author: Mike Bowler

Field Summary
MapdispatchMap_
MapresourceFactoryMap_
Constructor Summary
protected DispatchingObjectStore(Map nameToResourceFactoryMap)
Create an instance.
DispatchingObjectStore(Map commandToStoreMap, Map nameToResourceFactoryMap)
Create an instance
Method Summary
protected ObjectexecuteImpl(ObjectStoreCommand command)
Perform the dispatching.
protected ObjectStorefindStore(ObjectStoreCommand command)
Find the ObjectStore for the specified command

Field Detail

dispatchMap_

private final Map dispatchMap_

resourceFactoryMap_

private final Map resourceFactoryMap_

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.

Parameters: command The command to dispatch

Returns: The result of the command after the other store has processed it

findStore

protected ObjectStore findStore(ObjectStoreCommand command)
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