001/*
002 * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others.
003 *
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the Eclipse Public License v1.0
006 * which accompanies this distribution, and is available at
007 * http://www.eclipse.org/legal/epl-v10.html
008 *
009 * Contributors:
010 *     Damien Metzler (Leroy Merlin, http://www.leroymerlin.fr/)
011 */
012package org.nuxeo.ecm.core.test.annotations;
013
014import java.lang.annotation.ElementType;
015import java.lang.annotation.Inherited;
016import java.lang.annotation.Retention;
017import java.lang.annotation.RetentionPolicy;
018import java.lang.annotation.Target;
019
020import org.nuxeo.ecm.core.repository.RepositoryFactory;
021import org.nuxeo.ecm.core.storage.sql.coremodel.SQLRepositoryFactory;
022import org.nuxeo.ecm.core.test.NoopRepositoryInit;
023
024/**
025 * Defines the session parameters to use.
026 */
027@Inherited
028@Retention(RetentionPolicy.RUNTIME)
029@Target({ ElementType.TYPE })
030public @interface RepositoryConfig {
031
032    Class<? extends RepositoryFactory> repositoryFactoryClass() default SQLRepositoryFactory.class;
033
034    Class<? extends RepositoryInit> init() default NoopRepositoryInit.class;
035
036    Granularity cleanup() default Granularity.UNDEFINED;
037
038}