package de.timroes.axmlrpc.serializer; import de.timroes.axmlrpc.XMLRPCException; import de.timroes.axmlrpc.XMLRPCRuntimeException; import de.timroes.axmlrpc.xmlcreator.XmlElement; /** * * @author Tim Roes */ public class ArraySerializer implements Serializer { private static final String ARRAY_DATA = "data"; private static final String ARRAY_VALUE = "value"; public XmlElement serialize(Object object) { Iterable<?> iter = (Iterable<?>)object; XmlElement array = new XmlElement(SerializerHandler.TYPE_ARRAY); XmlElement data = new XmlElement(ARRAY_DATA); array.addChildren(data); try { XmlElement e; for(Object obj : iter) { e = new XmlElement(ARRAY_VALUE); e.addChildren(SerializerHandler.getDefault().serialize(obj)); data.addChildren(e); } } catch(XMLRPCException ex) { throw new XMLRPCRuntimeException(ex); } return array; } }