001 /** 002 * Copyright (c) 2003 Daffodil Software Ltd all rights reserved, 003 * Modifications Copyright (c) 2008 Regiscope Digital Imaging Co, LLC, All rights reserved. 004 * This program is free software; you can redistribute it and/or modify 005 * it under the terms of version 2 of the GNU General Public License as 006 * published by the Free Software Foundation. 007 * There are special exceptions to the terms and conditions of the GPL 008 * as it is applied to this software. See the GNU General Public License for more details. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU General Public License for more details. 014 * 015 * You should have received a copy of the GNU General Public License 016 * along with this program; if not, write to the Free Software 017 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 018 */ 019 020 package org.dbreplicator.replication; 021 022 import java.util.*; 023 import java.sql.Timestamp; 024 025 /** 026 * _Subscription is an interface implemented by Subscription class. 027 * It holds abstraction of all the relevant methods, needed for the completion of 028 * creating subscription. It holds the abstraction of the methods which set the 029 * subscription parameters as well as which create Replication system tables 030 * (and triggers) for storing subscription information and needed for replication. 031 * This interface holds the declaration of the methods needed for getting snapshot 032 * and for synchronization. 033 * This Interface actually is the bound over the user's access on the methods of 034 * the subscription class , as the user can access only those methods which are 035 * declared here. 036 * 037 */ 038 039 public interface _Subscription { 040 041 void setRemoteServerUrl(String remoteUrl0) throws RepException; 042 043 void setRemoteServerPortNo(int remotePort0); 044 045 void getSnapShot() throws RepException; 046 047 void subscribe() throws RepException; 048 049 void synchronize() throws RepException; 050 051 void unsubscribe() throws RepException; 052 053 void pull() throws RepException; 054 055 void push() throws RepException; 056 057 void addSchedule(String scheduleName, String subscriptionName,String scheduleType, 058 String publicationServerName, String publicationPortNo, 059 String recurrenceType, 060 String replicationType, Timestamp startDateTime, 061 int scheduleCounter) throws RepException; 062 063 void editSchedule(String scheduleName, String subName, String newPubServerName, 064 String newPubPortNo) throws RepException; 065 066 void removeSchedule(String scheduleName, String subscriptionName) throws RepException; 067 068 static boolean xmlAndShadow_entries = true; 069 070 public String getRemoteServerUrl(); 071 072 public void resetRemoteServer(); 073 074 public int getRemoteServerPortNo(); 075 076 void updateSubscription() throws RepException ; 077 078 public void getSnapShotAfterUpdatingSubscriber() throws RepException ; 079 080 ArrayList getRepTables(); 081 082 083 }

