package com.trendmicro.mist.util; import java.util.ArrayList; import org.apache.commons.lang.StringUtils; public class ConnectionList { private ArrayList<Address> addressList = new ArrayList<Address>(); public ConnectionList() { } public ConnectionList(String address_list) { set(address_list); } public void reset() { addressList.clear(); } public void add(String host_port) { add(new Address(host_port)); } public void add(Address addr) { addressList.add(addr); } public int size() { return addressList.size(); } public Address get(int idx) { return addressList.get(idx); } public void merge(String address_list) { String [] v = address_list.trim().split(","); for(String s: v) add(s); } public void merge(String host_list, String port_list) { String [] hosts = host_list.split(","); String [] ports = port_list.split(","); if(hosts.length == ports.length) { for(int i = 0; i < hosts.length; i++) add(hosts[i] + ":" + ports[i]); } } public void set(String address_list) { reset(); merge(address_list); } public void set(String host_list, String port_list) { reset(); merge(host_list, port_list); } public String toString() { return StringUtils.join(addressList, ","); } public String getHosts() { String [] h = new String[size()]; for(int i = 0; i < addressList.size(); i++) h[i] = addressList.get(i).getHost(); return StringUtils.join(h, ","); } public String getPorts() { String [] p = new String[size()]; for(int i = 0; i < addressList.size(); i++) p[i] = addressList.get(i).getPort(); return StringUtils.join(p, ","); } }