00001 /** 00002 * C-JDBC: Clustered JDBC. 00003 * Copyright (C) 2002-2005 French National Institute For Research In Computer 00004 * Science And Control (INRIA). 00005 * Contact: c-jdbc@objectweb.org 00006 * 00007 * This library is free software; you can redistribute it and/or modify it 00008 * under the terms of the GNU Lesser General Public License as published by the 00009 * Free Software Foundation; either version 2.1 of the License, or any later 00010 * version. 00011 * 00012 * This library is distributed in the hope that it will be useful, but WITHOUT 00013 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00014 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 00015 * for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public License 00018 * along with this library; if not, write to the Free Software Foundation, 00019 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 00020 * 00021 * Initial developer(s): Emmanuel Cecchet. 00022 * Contributor(s): Jean-Bernard van Zuylen 00023 */ 00024 00025 package org.objectweb.cjdbc.controller.loadbalancer.policies.createtable; 00026 00027 import java.util.ArrayList; 00028 00029 /** 00030 * Use all backends for <code>CREATE TABLE</code> statements. 00031 * 00032 * @author <a href="mailto:Emmanuel.Cecchet@inria.fr">Emmanuel Cecchet</a> 00033 * @author <a href="mailto:jbvanzuylen@transwide.com">Jean-Bernard van Zuylen 00034 * </a> 00035 * @version 1.0 00036 */ 00037 public class CreateTableAll extends CreateTableRule 00038 { 00039 00040 /** 00041 * Creates a new <code>CreateTableAll</code> instance. 00042 */ 00043 public CreateTableAll() 00044 { 00045 super(CreateTablePolicy.ALL); 00046 } 00047 00048 /** 00049 * Creates a new <code>CreateTableAll</code> instance. 00050 * 00051 * @param backendList <code>ArryList</code> of backend 00052 */ 00053 public CreateTableAll(ArrayList backendList) 00054 { 00055 super(CreateTablePolicy.ALL, backendList); 00056 } 00057 00058 /** 00059 * @see org.objectweb.cjdbc.controller.loadbalancer.policies.createtable.CreateTableRule#getBackends(ArrayList) 00060 */ 00061 public ArrayList getBackends(ArrayList backends) throws CreateTableException 00062 { 00063 return super.getBackends(backends); 00064 } 00065 00066 /** 00067 * @see org.objectweb.cjdbc.controller.loadbalancer.policies.createtable.CreateTableRule#getInformation() 00068 */ 00069 public String getInformation() 00070 { 00071 String s; 00072 if (tableName == null) 00073 s = "Default rule create table on "; 00074 else 00075 s = "Rule for table " + tableName + " create table on "; 00076 00077 return s + " all nodes in " + backendList; 00078 } 00079 }