1 44 45 package org.jfree.chart.urls; 46 47 import java.io.Serializable ; 48 import java.util.ArrayList ; 49 import java.util.List ; 50 51 import org.jfree.data.xy.XYDataset; 52 53 58 public class CustomXYURLGenerator implements XYURLGenerator, Serializable { 59 60 61 private static final long serialVersionUID = -8565933356596551832L; 62 63 64 private ArrayList urlSeries = new ArrayList (); 65 66 69 public CustomXYURLGenerator() { 70 super(); 71 } 72 73 78 public int getListCount() { 79 return this.urlSeries.size(); 80 } 81 82 89 public int getURLCount(int list) { 90 int result = 0; 91 List urls = (List ) this.urlSeries.get(list); 92 if (urls != null) { 93 result = urls.size(); 94 } 95 return result; 96 } 97 98 106 public String getURL(int series, int item) { 107 String result = null; 108 if (series < getListCount()) { 109 List urls = (List ) this.urlSeries.get(series); 110 if (urls != null) { 111 if (item < urls.size()) { 112 result = (String ) urls.get(item); 113 } 114 } 115 } 116 return result; 117 } 118 119 128 public String generateURL(XYDataset dataset, int series, int item) { 129 return getURL(series, item); 130 } 131 132 137 public void addURLSeries(List urls) { 138 this.urlSeries.add(urls); 139 } 140 141 148 public boolean equals(Object o) { 149 150 if (o == null) { 151 return false; 152 } 153 if (o == this) { 154 return true; 155 } 156 157 if (!(o instanceof CustomXYURLGenerator)) { 158 return false; 159 } 160 CustomXYURLGenerator generator = (CustomXYURLGenerator) o; 161 int listCount = getListCount(); 162 if (listCount != generator.getListCount()) { 163 return false; 164 } 165 166 for (int series = 0; series < listCount; series++) { 167 int urlCount = getURLCount(series); 168 if (urlCount != generator.getURLCount(series)) { 169 return false; 170 } 171 172 for (int item = 0; item < urlCount; item++) { 173 String u1 = getURL(series, item); 174 String u2 = generator.getURL(series, item); 175 if (u1 != null) { 176 if (!u1.equals(u2)) { 177 return false; 178 } 179 } 180 else { 181 if (u2 != null) { 182 return false; 183 } 184 } 185 } 186 } 187 return true; 188 189 } 190 191 } 192 | Popular Tags |