001 /* 002 Copyright (C) 2001-2003 Lionel Seinturier <Lionel.Seinturier@lip6.fr> 003 004 This program is free software; you can redistribute it and/or modify 005 it under the terms of the GNU Lesser General Public License as 006 published by the Free Software Foundation; either version 2 of the 007 License, or (at your option) any later version. 008 009 This program is distributed in the hope that it will be useful, 010 but WITHOUT ANY WARRANTY; without even the implied warranty of 011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 012 GNU Lesser General Public License for more details. 013 014 You should have received a copy of the GNU Lesser General Public License 015 along with this program; if not, write to the Free Software 016 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 017 018 package org.objectweb.jac.aspects.distrans.persistence; 019 020 import org.enhydra.jdbc.standard.StandardXADataSource; 021 022 /** 023 * @author Lionel Seinturier <Lionel.Seinturier@lip6.fr> 024 * @version 1.0 025 */ 026 public interface PersistenceItf { 027 028 /** 029 * Initialize the persistence storage. 030 * If the storage already exists, reinitialize it. 031 * 032 * @param className the class name for which we want to create a storage 033 * @param ds the data source 034 */ 035 public void initStorage( String className, StandardXADataSource ds ); 036 037 /** 038 * Initialize the persistence storage. 039 * If the storage already exists, do not reinitialize it. 040 * 041 * @param className the class name for which we want to create a storage 042 * @param ds the data source 043 */ 044 public void initStorageIfNeeded( String className, StandardXADataSource ds ); 045 046 /** 047 * Store an object into the persistence storage. 048 * 049 * @param wrappee the object to store 050 * @param name the identifier for the object 051 * @param ds the data source 052 */ 053 public void load( Object wrappee, String name, StandardXADataSource ds ) 054 throws Exception; 055 056 /** 057 * Update an object with the values retrieved from the persistent 058 * storage. 059 * 060 * @param wrappee the object to update 061 * @param name the identifier for the object 062 * @param ds the data source 063 */ 064 public void store( Object wrappee, String name, StandardXADataSource ds ) 065 throws Exception; 066 067 }