00001 /* 00002 * OpenMobileIS - a free Java(TM) Framework for mobile applications Java(TM) 00003 * Copyright (C) 2004-2006 Philippe Delrieu 00004 * All rights reserved. 00005 * Contact: pdelrieu@openmobileis.org 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00020 * USA 00021 * 00022 * 00023 * Modifications : 00024 * 2006 Creation P.Delrieu 00025 * 00026 */ 00027 00028 package org.openmobileis.synchro.algo.replication.utils.impl; 00029 00030 import java.sql.*; 00031 00032 import org.openmobileis.common.util.database.AbstractQueryManager; 00033 import org.openmobileis.common.util.exception.DatabaseException; 00034 00042 public abstract class AtomicObjectQueryManager extends AbstractQueryManager { 00043 00044 /* 00045 * check if the sync table exists. IF it does not exist, create it 00046 */ 00047 public abstract void createTable() throws DatabaseException, java.sql.SQLException; 00048 00049 public abstract void createAtomicObject(String[] parameters) throws DatabaseException; 00050 00051 public abstract void updateAtomicObject(String[] parameters) throws DatabaseException; 00052 00053 public abstract void purgeDeletedAtomicObject(String[] parameters) throws DatabaseException; 00054 00055 /* getAtomicObject() get the atomic object for specified UID 00056 * @param : array containing atomic object uid 00057 * @return ResultSet : rows containing UID, CHECKSUM, TIME_STAMP, MODIFICATION_TYPE, CREATION_DATE 00058 * @exception ServiceException 00059 */ 00060 public abstract ResultSet getAtomicObject(String parameters[]) throws DatabaseException; 00061 00062 /* getAtomicObjectsForService() return all atomic object uid modified since specified date for service 00063 * @param : array containing service id and date 00064 * @return ResultSet : rows containing UID 00065 * @exception ServiceException 00066 */ 00067 public abstract ResultSet getAllModifiedAtomicObjectForServiceSince (String parameters[]) throws DatabaseException; 00068 00069 }