Class ObjectStore
- java.lang.Object
-
- com.gargoylesoftware.base.objectstore.ObjectStore
-
- Direct Known Subclasses:
DispatchingObjectStore
,ReflectedObjectStore
public abstract class ObjectStore extends java.lang.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.4 $
-
-
Field Summary
Fields Modifier and Type Field Description private ResourceManager
resourceManager_
-
Constructor Summary
Constructors Modifier Constructor Description protected
ObjectStore()
Create an instance
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
assertNotNull(java.lang.String fieldName, java.lang.Object object)
Throw an exception if the specified object is nulljava.lang.Object
execute(ObjectStoreCommand command)
Perform the actions specified by the key and return a value.protected abstract java.lang.Object
executeImpl(ObjectStoreCommand command)
Override this to provide the actual processing of the object store.protected java.lang.Object
getResource(java.lang.String name)
Return a resource from the specified factoryResourceManager
getResourceManager()
Gets the resource managerprivate ResourceManager
getResourceManagerOrDie()
Return the resource manager.protected java.lang.Object
handleError(java.lang.Error error)
Handle an exception that occured during the processing of executeImpl().protected java.lang.Object
handleException(java.lang.Exception exception)
Handle an exception that occured during the processing of executeImpl().protected void
releaseResource(ManagedResource object)
Release the specified resourcevoid
setResourceFactoryMap(java.util.Map inputMap)
Set the resource map.void
setResourceManager(ResourceManager resourceManager)
Set the resource manager
-
-
-
Field Detail
-
resourceManager_
private ResourceManager resourceManager_
-
-
Method Detail
-
setResourceFactoryMap
public final void setResourceFactoryMap(java.util.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 java.lang.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 storeObjectStoreException
- If an error occurs during processing of this command.- See Also:
executeImpl(ObjectStoreCommand)
-
handleException
protected java.lang.Object handleException(java.lang.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 logThe 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 java.lang.Object handleError(java.lang.Error error)
Handle an exception that occured during the processing of executeImpl(). Usually these exceptions will be rethrown after logging them to some error logThe 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 java.lang.Object getResource(java.lang.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 java.lang.Object executeImpl(ObjectStoreCommand command) throws java.lang.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 storejava.lang.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
-
getResourceManagerOrDie
private ResourceManager getResourceManagerOrDie()
Return the resource manager. If a resource manager has not been specified then throw an exception.- Returns:
- The resource manager
-
assertNotNull
protected final void assertNotNull(java.lang.String fieldName, java.lang.Object object)
Throw an exception if the specified object is null- Parameters:
fieldName
- The name of the paremeter we are checkingobject
- The value of the parameter we are checking
-
-