Save This Page
Home » tapestry-src-5.0.19 » org.apache.tapestry5.ioc.internal » [javadoc | source]
org.apache.tapestry5.ioc.internal
public class: RegistryImpl [javadoc | source]
java.lang.Object
   org.apache.tapestry5.ioc.internal.RegistryImpl

All Implemented Interfaces:
    InternalRegistry, Registry, ServiceProxyProvider

Nested Class Summary:
public static final class  RegistryImpl.OrderedConfigurationToOrdererAdaptor   
Field Summary
static final  String PERTHREAD_MANAGER_SERVICE_ID     
static final  String CLASS_FACTORY_SERVICE_ID    Used to obtain the org.apache.tapestry5.ioc.services.ClassFactory service, which is crucial when creating runtime classes for proxies and the like. 
static final  String LOGGER_SOURCE_SERVICE_ID     
Constructor:
 public RegistryImpl(Collection<ModuleDef> moduleDefs,
    ClassFactory classFactory,
    LoggerSource loggerSource) 
    Constructs the registry from a set of module definitions and other resources.
    Parameters:
    moduleDefs - defines the modules (and builders, decorators, etc., within)
    classFactory - TODO
    loggerSource - used to obtain Logger instances
Method from org.apache.tapestry5.ioc.internal.RegistryImpl Summary:
addRegistryShutdownListener,   autobuild,   cleanupThread,   expandSymbols,   findDecoratorsForService,   getMappedConfiguration,   getObject,   getObject,   getOrderedConfiguration,   getService,   getService,   getServiceLifecycle,   getServiceLogger,   getUnorderedConfiguration,   invoke,   newClass,   performRegistryStartup,   provideServiceProxy,   proxy,   run,   shutdown
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.tapestry5.ioc.internal.RegistryImpl Detail:
 public  void addRegistryShutdownListener(RegistryShutdownListener listener) 
 public T autobuild(Class<T> clazz) 
 public  void cleanupThread() 
 public String expandSymbols(String input) 
 public List<ServiceDecorator> findDecoratorsForService(ServiceDef serviceDef) 
 public Map<K, V> getMappedConfiguration(ServiceDef serviceDef,
    Class<K> keyType,
    Class<V> objectType) 
 public T getObject(Class<T> objectType,
    AnnotationProvider annotationProvider) 
 public T getObject(Class<T> objectType,
    AnnotationProvider annotationProvider,
    Module localModule) 
 public List<T> getOrderedConfiguration(ServiceDef serviceDef,
    Class<T> objectType) 
 public T getService(Class<T> serviceInterface) 
 public T getService(String serviceId,
    Class<T> serviceInterface) 
 public ServiceLifecycle getServiceLifecycle(String scope) 
 public Logger getServiceLogger(String serviceId) 
 public Collection<T> getUnorderedConfiguration(ServiceDef serviceDef,
    Class<T> objectType) 
 public T invoke(String description,
    Invokable<T> operation) 
 public ClassFab newClass(Class serviceInterface) 
 public  void performRegistryStartup() 
    It's not unreasonable for an eagerly-loaded service to decide to start a thread, at which point we raise issues about improper publishing of the Registry instance from the RegistryImpl constructor. Moving eager loading of services out to its own method should ensure thread safety.
 public Object provideServiceProxy(String serviceId) 
 public T proxy(Class<T> interfaceClass,
    Class<? extends T> implementationClass) 
 public  void run(String description,
    Runnable operation) 
 public synchronized  void shutdown()