Package org.hibernate.service.internal
Class SessionFactoryServiceRegistryImpl
- java.lang.Object
-
- org.hibernate.service.internal.AbstractServiceRegistryImpl
-
- org.hibernate.service.internal.SessionFactoryServiceRegistryImpl
-
- All Implemented Interfaces:
AutoCloseable
,ServiceRegistry
,ServiceBinding.ServiceLifecycleOwner
,ServiceRegistryImplementor
,SessionFactoryServiceInitiatorContext
,SessionFactoryServiceRegistry
public class SessionFactoryServiceRegistryImpl extends AbstractServiceRegistryImpl implements SessionFactoryServiceRegistry, SessionFactoryServiceInitiatorContext
-
-
Field Summary
-
Fields inherited from class org.hibernate.service.internal.AbstractServiceRegistryImpl
ALLOW_CRAWLING
-
-
Constructor Summary
Constructors Constructor Description SessionFactoryServiceRegistryImpl(ServiceRegistryImplementor parent, List<SessionFactoryServiceInitiator<?>> initiators, List<ProvidedService<?>> providedServices, SessionFactoryImplementor sessionFactory, SessionFactoryOptions sessionFactoryOptions)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <R extends Service>
voidconfigureService(ServiceBinding<R> serviceBinding)
<R extends Service>
RgetService(Class<R> serviceRole)
Retrieve a service by role.ServiceRegistryImplementor
getServiceRegistry()
SessionFactoryImplementor
getSessionFactory()
SessionFactoryOptions
getSessionFactoryOptions()
<R extends Service>
RinitiateService(ServiceInitiator<R> serviceInitiator)
-
Methods inherited from class org.hibernate.service.internal.AbstractServiceRegistryImpl
createService, createServiceBinding, createServiceBinding, deRegisterChild, destroy, fromRegistryOrChildren, fromRegistryOrChildren, getParentServiceRegistry, injectDependencies, isActive, locateServiceBinding, locateServiceBinding, reactivate, registerChild, registerService, resetParent, startService, stopService, visitServiceBindings
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.service.ServiceRegistry
getParentServiceRegistry, requireService
-
Methods inherited from interface org.hibernate.service.spi.ServiceRegistryImplementor
close, deRegisterChild, destroy, fromRegistryOrChildren, locateServiceBinding, registerChild
-
-
-
-
Constructor Detail
-
SessionFactoryServiceRegistryImpl
public SessionFactoryServiceRegistryImpl(ServiceRegistryImplementor parent, List<SessionFactoryServiceInitiator<?>> initiators, List<ProvidedService<?>> providedServices, SessionFactoryImplementor sessionFactory, SessionFactoryOptions sessionFactoryOptions)
-
-
Method Detail
-
initiateService
public <R extends Service> R initiateService(ServiceInitiator<R> serviceInitiator)
- Specified by:
initiateService
in interfaceServiceBinding.ServiceLifecycleOwner
-
configureService
public <R extends Service> void configureService(ServiceBinding<R> serviceBinding)
- Specified by:
configureService
in interfaceServiceBinding.ServiceLifecycleOwner
-
getSessionFactory
public SessionFactoryImplementor getSessionFactory()
- Specified by:
getSessionFactory
in interfaceSessionFactoryServiceInitiatorContext
-
getSessionFactoryOptions
public SessionFactoryOptions getSessionFactoryOptions()
- Specified by:
getSessionFactoryOptions
in interfaceSessionFactoryServiceInitiatorContext
-
getServiceRegistry
public ServiceRegistryImplementor getServiceRegistry()
- Specified by:
getServiceRegistry
in interfaceSessionFactoryServiceInitiatorContext
-
getService
public <R extends Service> R getService(Class<R> serviceRole)
Description copied from interface:ServiceRegistry
Retrieve a service by role. If service is not found, but aServiceInitiator
is registered for this service role, the service will be initialized and returned.- Specified by:
getService
in interfaceServiceRegistry
- Overrides:
getService
in classAbstractServiceRegistryImpl
- Type Parameters:
R
- The service role type- Parameters:
serviceRole
- The service role- Returns:
- The requested service or null if the service was not found.
-
-