com.gargoylesoftware.base.objectstore
Class ObjectStore

java.lang.Object
  extended bycom.gargoylesoftware.base.objectstore.ObjectStore
Direct Known Subclasses:
DispatchingObjectStore, ReflectedObjectStore

public abstract class ObjectStore
extends Object

This is a wrapper for the data layer in an application. Any code that accesses a database or some other form of data should be in a subclass of ObjectStore

Version:
$Revision: 1.5 $
Author:
Mike Bowler

Constructor Summary
protected ObjectStore()
          Create an instance
 
Method Summary
protected  void assertNotNull(String fieldName, Object object)
          Throw an exception if the specified object is null
 Object execute(ObjectStoreCommand command)
          Perform the actions specified by the key and return a value.
protected abstract  Object executeImpl(ObjectStoreCommand command)
          Override this to provide the actual processing of the object store.
protected  Object getResource(String name)
          Return a resource from the specified factory
 ResourceManager getResourceManager()
          Gets the resource manager
protected  Object handleError(Error error)
          Handle an exception that occured during the processing of executeImpl().
protected  Object handleException(Exception exception)
          Handle an exception that occured during the processing of executeImpl().
protected  void releaseResource(ManagedResource object)
          Release the specified resource
 void setResourceFactoryMap(Map inputMap)
          Set the resource map.
 void setResourceManager(ResourceManager resourceManager)
          Set the resource manager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObjectStore

protected ObjectStore()
Create an instance

Method Detail

setResourceFactoryMap

public final void setResourceFactoryMap(Map inputMap)

Set the resource map. This defines what class is used when a specific resource factory is requested.

It is recommended to use setResourceManager(ResourceManager) instead

Parameters:
inputMap - A map containing string/class pairs.

setResourceManager

public final void setResourceManager(ResourceManager resourceManager)
Set the resource manager

Parameters:
resourceManager - The new resource manager

getResourceManager

public final ResourceManager getResourceManager()
Gets the resource manager

Returns:
The resource manager or null if a resource manager has not been set.

execute

public final Object execute(ObjectStoreCommand command)
                     throws ObjectStoreCommandNotSupportedException,
                            ObjectStoreException
Perform the actions specified by the key and return a value. The subclasses will perform the actual work in overridden versions of executeImpl()

Parameters:
command - The object that tells the object store what to do
Returns:
The results of the actions or null if there are no results
Throws:
ObjectStoreCommandNotSupportedException - If the command is not supported by this store
ObjectStoreException - If an error occurs during processing of this command.
See Also:
executeImpl(ObjectStoreCommand)

handleException

protected Object handleException(Exception exception)
                          throws ObjectStoreException,
                                 ObjectStoreCommandNotSupportedException
Handle an exception that occured during the processing of executeImpl(). Usually these exceptions will be rethrown after logging them to some error log

The default behaviour is to rethrow any ObjectStoreExceptions or ObjectStoreCommandNotSupportedExceptions. All other exceptions are wrapped in a new ObjectStoreException and then that wrapper is thown

Parameters:
exception - the exception that had been thrown
Returns:
The object to return from execute in those cases where an exception is not thrown out of this method
Throws:
ObjectStoreException - The exception to be thrown back out of execute()
ObjectStoreCommandNotSupportedException - the exception to be thrown back out of execute()

handleError

protected Object handleError(Error error)
Handle an exception that occured during the processing of executeImpl(). Usually these exceptions will be rethrown after logging them to some error log

The default behaviour is to rethrow the error

Parameters:
error - The error that had been thrown
Returns:
The object to return from execute in those cases where an exception is not thrown out of this method

getResource

protected final Object getResource(String name)
Return a resource from the specified factory

Parameters:
name - The name of the factory
Returns:
The specified resource
See Also:
setResourceFactoryMap(Map)

executeImpl

protected abstract Object executeImpl(ObjectStoreCommand command)
                               throws Throwable,
                                      ObjectStoreCommandNotSupportedException
Override this to provide the actual processing of the object store.

Parameters:
command - The object that tells the object store what to do
Returns:
The results of the actions or null if there are no results
Throws:
ObjectStoreCommandNotSupportedException - If the specified command is not understood by the object store
Throwable - If an error occurs
See Also:
execute(ObjectStoreCommand)

releaseResource

protected final void releaseResource(ManagedResource object)
Release the specified resource

Parameters:
object - The resource to release

assertNotNull

protected final void assertNotNull(String fieldName,
                                   Object object)
Throw an exception if the specified object is null

Parameters:
fieldName - The name of the paremeter we are checking
object - The value of the parameter we are checking


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