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 /** 023 * _Publication is an interface implemented by Publication class. 024 * It holds abstraction of all the relevant methods, needed for the completion of 025 * creating publication. It holds the abstraction of the methods which set the 026 * publication parameters as well as which create Replication system tables 027 * (and triggers) for storing publication information and needed for replication. 028 * This Interface actually is the bound over the user's access on the methods of 029 * the publication class , as the user can access only those methods which are 030 * declared here. 031 * 032 */ 033 034 public interface _Publication { 035 036 final static String subscriber_wins = "subscriber_wins"; 037 final static String publisher_wins = "publisher_wins"; 038 039 //Delete all entries from shadow table and delete the xml file 040 static boolean xmlAndShadow_entries = true; 041 void setConflictResolver(String conflictReolver0) throws RepException; 042 043 void setFilter(String tableName0, String filterClause0) throws RepException; 044 045 void setFilter(String tableName0, String filterClause0,int paramCount) throws RepException; 046 047 void setCreateShadowTable(String tableName0,boolean createShadowTable)throws RepException; 048 049 void publish() throws RepException; 050 /** 051 * This method sets the columns whose values are to be ignored while taking snapshot,synchronizing etc. 052 * @param tableName String 053 */ 054 void setIgnoredColumns(String tableName,String columnNamesToBeIgnored[]) throws RepException; 055 056 void unpublish() throws RepException; 057 058 void addTableToPublication(String[] newTableList,String[] filterClauses) throws RepException ; 059 060 void dropTableFromPublication(String[] dropTableList) throws RepException; 061 }

