package com.intrbiz.bergamot.config.adapter;
import java.util.LinkedHashSet;
import java.util.Set;
import javax.xml.bind.annotation.adapters.XmlAdapter;
import com.intrbiz.Util;
public class CSVAdapter extends XmlAdapter<String, Set<String>>
{
@Override
public String marshal(Set<String> arg0) throws Exception
{
if (arg0 == null || arg0.isEmpty()) return null;
return Util.join(", ", arg0);
}
@Override
public Set<String> unmarshal(String arg0) throws Exception
{
if (arg0 == null) return new LinkedHashSet<String>();
Set<String> r = new LinkedHashSet<String>();
for (String s : arg0.split(", ?"))
{
s = s.trim();
if (! Util.isEmpty(s))
{
r.add(s);
}
}
return r;
}
}