com.hammurapi.util
Class DefaultContext

java.lang.Object
  extended by com.hammurapi.util.DefaultContext
All Implemented Interfaces:
Context

public class DefaultContext
extends Object
implements Context

Default context uses ServiceLoader to find services in a given classloader and map of bindings.

Author:
Pavel Vlasov

Field Summary
 
Fields inherited from interface com.hammurapi.util.Context
INSTANCE
 
Constructor Summary
DefaultContext(ClassLoader classLoader, Map<String,Object> bindings)
           
 
Method Summary
<T> T
lookup(Class<T> serviceClass)
          Looks up single object (service) by type.
 Object lookup(String name)
          Looks up object by name.
<T> Iterator<T>
lookupAll(Class<T> serviceClass)
          Looks up all services of given type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultContext

public DefaultContext(ClassLoader classLoader,
                      Map<String,Object> bindings)
Parameters:
classLoader - ClassLoader for services. Can be null.
bindings - Name bindings. Can be null.
Method Detail

lookup

public Object lookup(String name)
Description copied from interface: Context
Looks up object by name.

Specified by:
lookup in interface Context
Parameters:
name - Object name.
Returns:
named object or null.

lookup

public <T> T lookup(Class<T> serviceClass)
Description copied from interface: Context
Looks up single object (service) by type.

Specified by:
lookup in interface Context
Type Parameters:
T - Service type.
Parameters:
serviceClass - Requested service type.
Returns:
Service instance or null.

lookupAll

public <T> Iterator<T> lookupAll(Class<T> serviceClass)
Description copied from interface: Context
Looks up all services of given type.

Specified by:
lookupAll in interface Context
Type Parameters:
T - Service type.
Parameters:
serviceClass - Requested service type.
Returns:
Iterator over services of requested type.