package br.com.caelum.restfulie.opensearch.conveter; import br.com.caelum.restfulie.opensearch.Tags; import com.thoughtworks.xstream.converters.Converter; import com.thoughtworks.xstream.converters.MarshallingContext; import com.thoughtworks.xstream.converters.UnmarshallingContext; import com.thoughtworks.xstream.io.HierarchicalStreamReader; import com.thoughtworks.xstream.io.HierarchicalStreamWriter; public class DefaultTagsConveter implements Converter { @SuppressWarnings("rawtypes") public boolean canConvert(Class clazz) { return clazz.equals(Tags.class); } public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) { } public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { Tags tags = new Tags(); String values = reader.getValue(); if(values.equals("")) { return tags; } for (String value : values.trim().split("\\s+")) { tags.add(value); } return tags; } }