00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 package org.objectweb.cjdbc.controller.loadbalancer.policies;
00026
00027 import org.objectweb.cjdbc.common.xml.DatabasesXmlTags;
00028
00029
00030
00031
00032
00033
00034 public class WaitForCompletionPolicy
00035 {
00036
00037 public static final int FIRST = 0;
00038
00039
00040
00041
00042 public static final int MAJORITY = 1;
00043
00044
00045 public static final int ALL = 2;
00046
00047
00048 private int policy = FIRST;
00049
00050
00051
00052
00053
00054
00055 public int getPolicy()
00056 {
00057 return policy;
00058 }
00059
00060
00061
00062
00063
00064
00065 public void setPolicy(int policy)
00066 {
00067 this.policy = policy;
00068 }
00069
00070
00071
00072
00073
00074
00075 public String getInformation()
00076 {
00077 switch (policy)
00078 {
00079 case FIRST :
00080 return "return when first node completes";
00081 case MAJORITY :
00082 return "return when a majority of nodes completes";
00083 case ALL :
00084 return "return when all nodes have completed";
00085 default :
00086 return "unknown policy";
00087 }
00088 }
00089
00090
00091
00092
00093
00094
00095 public String getXml()
00096 {
00097 StringBuffer info = new StringBuffer();
00098 info.append(
00099 "<"
00100 + DatabasesXmlTags.ELT_WaitForCompletion
00101 + " "
00102 + DatabasesXmlTags.ATT_policy
00103 + "=\"");
00104 switch (policy)
00105 {
00106 case FIRST :
00107 info.append(DatabasesXmlTags.VAL_first);
00108 break;
00109 case ALL :
00110 info.append(DatabasesXmlTags.VAL_all);
00111 break;
00112 case MAJORITY :
00113 info.append(DatabasesXmlTags.VAL_majority);
00114 break;
00115 default :
00116 }
00117 info.append("\"/>");
00118 return info.toString();
00119 }
00120 }