package eu.jucy.hublist;
import helpers.GH;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import eu.jucy.gui.ApplicationWorkbenchWindowAdvisor;
import uc.DCClient;
import uc.FavHub;
public class HublistHub implements Iterable<String> {
private final Map<Column,String> attribs = new HashMap<Column,String>();
public HublistHub() {}
public void setAttribute(Column c, String value) {
attribs.put(c, value);
}
public String getAttribute(Column c) {
String s = attribs.get(c);
return s == null? "":s ;
}
public String getPresentableForColumn(Column c) {
String data = getAttribute(c);
String presentation = c.getType().getPresentation(data);
return presentation;
}
public void connect(DCClient dcc) {
FavHub fh = getFavHub();
fh.connect(dcc);
}
public void addToFavorites() {
getFavHub().addToFavHubs(ApplicationWorkbenchWindowAdvisor.get().getFavHubs());
}
private FavHub getFavHub() {
FavHub fh = new FavHub(getAttribute(Column.ADDRESS));
String val = null;
if (null != (val= getAttribute(Column.HUBNAME))) {
fh.setHubname(val);
}
if (null != (val = getAttribute(Column.DESCRIPTION))) {
fh.setDescription(val);
}
return fh;
}
public String toString() {
String s = GH.concat(attribs.values(), ";");
if (!GH.isEmpty(s)) {
s+=";";
}
return s;
}
public Iterator<String> iterator() {
return attribs.values().iterator();
}
}