src/org/objectweb/cjdbc/controller/loadbalancer/policies/createtable/CreateTableRule.java

説明を見る。
00001 00025 package org.objectweb.cjdbc.controller.loadbalancer.policies.createtable; 00026 00027 import java.util.ArrayList; 00028 00029 import org.objectweb.cjdbc.common.xml.DatabasesXmlTags; 00030 00037 public abstract class CreateTableRule 00038 { 00040 protected ArrayList backendList; 00041 00043 protected int nbOfNodes = 0; 00044 00049 protected String tableName = null; 00050 00051 protected int policy; 00052 00058 public CreateTableRule(int policy) 00059 { 00060 this.policy = policy; 00061 backendList = new ArrayList(); 00062 } 00063 00070 public CreateTableRule(int policy, ArrayList backendList) 00071 { 00072 if (backendList == null) 00073 throw new IllegalArgumentException("Null backendList in CreateTableRule constructor"); 00074 00075 this.policy = policy; 00076 this.backendList = backendList; 00077 } 00078 00084 public void addBackendName(String name) 00085 { 00086 backendList.add(name); 00087 } 00088 00094 public ArrayList getBackendList() 00095 { 00096 return backendList; 00097 } 00098 00104 public int getNumberOfNodes() 00105 { 00106 return nbOfNodes; 00107 } 00108 00114 public void setNumberOfNodes(int numberOfNodes) 00115 { 00116 this.nbOfNodes = numberOfNodes; 00117 } 00118 00124 public String getTableName() 00125 { 00126 return tableName; 00127 } 00128 00134 public void setTableName(String tableName) 00135 { 00136 this.tableName = tableName; 00137 } 00138 00144 public int getPolicy() 00145 { 00146 return policy; 00147 } 00148 00154 public void setPolicy(int policy) 00155 { 00156 this.policy = policy; 00157 } 00158 00164 public boolean isDefaultRule() 00165 { 00166 return this.tableName == null; 00167 } 00168 00177 public abstract ArrayList getBackends(ArrayList backends) 00178 throws CreateTableException; 00179 00185 public abstract String getInformation(); 00186 00192 public String getXml() 00193 00194 { 00195 StringBuffer info = new StringBuffer(); 00196 info.append( 00197 "<" 00198 + DatabasesXmlTags.ELT_CreateTable 00199 + " " 00200 + DatabasesXmlTags.ATT_tableName 00201 + "=\"" 00202 + tableName 00203 + "\" " 00204 + DatabasesXmlTags.ATT_policy 00205 + "=\"" 00206 + CreateTablePolicy.getXmlValue(policy) 00207 + "\" " 00208 + DatabasesXmlTags.ATT_numberOfNodes 00209 + "=\"" 00210 + nbOfNodes 00211 + "\">"); 00212 ArrayList list = this.getBackendList(); 00213 int count = list.size(); 00214 for (int i = 0; i < count; i++) 00215 { 00216 info.append( 00217 "<" 00218 + DatabasesXmlTags.ELT_BackendName 00219 + " " 00220 + DatabasesXmlTags.ATT_name 00221 + "=\"" 00222 + ((String) list.get(i)) 00223 + "\"/>"); 00224 } 00225 info.append("</" + DatabasesXmlTags.ELT_CreateTable + ">"); 00226 return info.toString(); 00227 } 00228 00229 }

CJDBCversion1.0.4に対してTue Oct 12 15:16:02 2004に生成されました。 doxygen 1.3.8