/*
* Hibernate OGM, Domain model persistence for NoSQL datastores
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.ogm.dialect.impl;
import java.util.Map;
import org.hibernate.boot.registry.StandardServiceInitiator;
import org.hibernate.ogm.dialect.optimisticlock.spi.OptimisticLockingAwareGridDialect;
import org.hibernate.ogm.dialect.spi.GridDialect;
import org.hibernate.service.spi.ServiceRegistryImplementor;
/**
* Contributes the {@link OptimisticLockingAwareGridDialect} service if the current grid dialect implements this dialect
* facet.
*
* @author Gunnar Morling
*/
public class OptimisticLockingAwareGridDialectInitiator implements StandardServiceInitiator<OptimisticLockingAwareGridDialect> {
public static final OptimisticLockingAwareGridDialectInitiator INSTANCE = new OptimisticLockingAwareGridDialectInitiator();
private OptimisticLockingAwareGridDialectInitiator() {
}
@Override
public Class<OptimisticLockingAwareGridDialect> getServiceInitiated() {
return OptimisticLockingAwareGridDialect.class;
}
@Override
public OptimisticLockingAwareGridDialect initiateService(Map configurationValues, ServiceRegistryImplementor registry) {
return GridDialects.getDialectFacetOrNull( registry.getService( GridDialect.class ), OptimisticLockingAwareGridDialect.class );
}
}