/** * Copyright (C) 2008-2010, Squale Project - http://www.squale.org * * This file is part of Squale. * * Squale is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of the * License, or any later version. * * Squale is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Squale. If not, see <http://www.gnu.org/licenses/>. */ package org.squale.jraf.spi.persistence; import java.io.Serializable; import org.squale.jraf.commons.exception.JrafPersistenceException; import org.squale.jraf.spi.provider.IProvider; /** * <p>Project: JRAF * <p>Module: jrafSpi * <p>Title : IPersistenceProvider.java</p> * <p>Description : Comportement d'un provider de persistence</p> * <p>Copyright : Copyright (c) 2004</p> * */ public interface IPersistenceProvider extends IProvider { /** * Retourne true si gestion automatique des transactions, false sinon * @return true si gestion automatique des transactions, false sinon */ public boolean isAutomaticTransaction(); /** * Retourne true si les transaction sont gerees par le conteneur, false sinon. * @return true si les transaction sont gerees par le conteneur, false sinon. */ public boolean isContainerManagedTransaction(); /** * Retourne true si utilisation d'une session longue, false sinon * @return true si utilisation d'une session longue, false sinon */ public boolean isLongSession(); /** * Retourne true si utilisation du design pattern thread local session, false sinon * @return true si utilisation du design pattern thread local session, false sinon */ public boolean isThreadLocalSession(); /** * Retourne true si l'introspection est utilisee, false sinon * @return true si l'introspection est utilisee, false sinon */ public boolean isIntrospection(); /** * Fournir une session de type ISession * @return session de type ISession * @throws JrafPersistenceException */ ISession getSession() throws JrafPersistenceException; /** * Fournir un point d'acc�s aux meta donn�es du mapping. * @return un objet de type IMetaData. */ IMetaData getMetaData(); }