package org.jblooming.ontology;
import org.jblooming.utilities.StringUtilities;
import java.io.Serializable;
import java.util.List;
import java.util.LinkedList;
/**
* @author Pietro Polsinelli ppolsinelli@open-lab.com
* @author Roberto Bicchierai rbicchierai@open-lab.com
*/
public class SerializedList<K> extends LinkedList<K> implements Serializable {
public static final String META_SEPARATOR = "$~$";
public static SerializedList deserialize(String serObj) {
SerializedList sm = new SerializedList();
if (serObj != null) {
List<String> params = StringUtilities.splitToList(serObj, SerializedList.META_SEPARATOR);
for (String key : params) {
if (key != null && key.trim().length() > 0) {
sm.add(key);
}
}
}
return sm;
}
public String serialize() {
StringBuffer sb = new StringBuffer();
boolean isFirst = true;
for (Object k : this) {
if (!isFirst) {
sb.append(SerializedList.META_SEPARATOR);
} else
isFirst = false;
sb.append((k+"").replace('~','-'));
}
return sb.toString();
}
public String toString() {
return serialize();
}
}