Interface ServiceManager
-
- All Known Implementing Classes:
DefaultServiceManager
,WrapperServiceManager
public interface ServiceManager
AServiceManager
selectsObject
s based on a role. The contract is that all theObject
s implement the differing roles and there is oneObject
per role. If you need to select on of manyObject
s that implement the same role, then you need to use aServiceSelector
. Roles are usually the full interface name. A role is better understood by the analogy of a play. There are many different roles in a script. Any actor or actress can play any given part and you get the same results (phrases said, movements made, etc.). The exact nuances of the performance is different. Below is a list of things that might be considered the different roles:- InputAdapter and OutputAdapter
- Store and Spool
ServiceManager
does not specify the methodology of getting theObject
, merely the interface used to get it. Therefore theServiceManager
can be implemented with a factory pattern, an object pool, or a simple Hashtable.- Version:
- CVS $Revision: 1.14 $ $Date: 2003/02/11 15:58:42 $
- Author:
- Avalon Development Team
- See Also:
Serviceable
,ServiceSelector
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
hasService(java.lang.String key)
Check to see if aObject
exists for a key.java.lang.Object
lookup(java.lang.String key)
Get theObject
associated with the given key.void
release(java.lang.Object object)
Return theObject
when you are finished with it.
-
-
-
Method Detail
-
lookup
java.lang.Object lookup(java.lang.String key) throws ServiceException
Get theObject
associated with the given key. For instance, If theServiceManager
had aLoggerComponent
stored and referenced by key, the following could be used:try { LoggerComponent log; myComponent = (LoggerComponent) manager.lookup( LoggerComponent.ROLE ); } catch (...) { ... }
- Parameters:
key
- The lookup key of theObject
to retrieve.- Returns:
- an
Object
value - Throws:
ServiceException
- if an error occurs
-
hasService
boolean hasService(java.lang.String key)
Check to see if aObject
exists for a key.- Parameters:
key
- a string identifying the key to check.- Returns:
- True if the object exists, False if it does not.
-
release
void release(java.lang.Object object)
Return theObject
when you are finished with it. This allows theServiceManager
to handle the End-Of-Life Lifecycle events associated with theObject
. Please note, that no Exception should be thrown at this point. This is to allow easy use of the ServiceManager system without having to trap Exceptions on a release.- Parameters:
object
- TheObject
we are releasing.
-
-