All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.nimbusds.infinispan.persistence.sql.config.SQLStoreConfigurationChildBuilder Maven / Gradle / Ivy

package com.nimbusds.infinispan.persistence.sql.config;


import org.infinispan.configuration.cache.StoreConfigurationChildBuilder;
import org.jooq.SQLDialect;


/**
 * SQL store configuration child builder.
 */
public interface SQLStoreConfigurationChildBuilder extends StoreConfigurationChildBuilder {
	
	
	/**
	 * Sets the class for transforming between Infinispan entries (key /
	 * value pair and optional metadata) and a corresponding SQL record.
	 *
	 * @param recordTransformerClass The record transformer class. Must not
	 *                               be {@code null}.
	 *
	 * @return The builder.
	 */
	SQLStoreConfigurationBuilder recordTransformerClass(final Class recordTransformerClass);
	
	
	/**
	 * Sets the optional class for executing direct SQL queries against the
	 * database.
	 *
	 * @param queryExecutorClass The query executor class, {@code null} if
	 *                           not specified.
	 *
	 * @return The builder.
	 */
	SQLStoreConfigurationBuilder queryExecutorClass(final Class queryExecutorClass);
	
	
	/**
	 * Sets the preferred SQL dialect.
	 *
	 * @param sqlDialect The preferred SQL dialect. Must not be
	 *                   {@code null}.
	 *
	 * @return The builder.
	 */
	SQLStoreConfigurationBuilder sqlDialect(final SQLDialect sqlDialect);
}