/* * Hibernate Search, full-text search for your domain model * * 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.search.store.spi; import java.io.File; import java.util.Properties; import org.apache.lucene.store.LockFactory; import org.hibernate.search.engine.service.spi.Service; /** * A service for obtaining {@link LockFactory}s based on the current configuration. * * @author Sanne Grinovero * @author Hardy Ferentschik * @author Gunnar Morling */ public interface LockFactoryCreator extends Service { /** * Creates a {@link LockFactory} as selected in the configuration for the Directory provider. The "simple" and * "native" strategies a {@link File} to know where to store the file system based locks; other implementations may * ignore this parameter. * * @param indexDir the directory to use to store locks, if needed by implementation * @param dirConfiguration the configuration of current DirectoryProvider * @return the lock factory as configured, or a factory adhering to the "simple" strategy in case of configuration * errors or as a default. */ LockFactory createLockFactory(File indexDir, Properties dirConfiguration); }