1 package org.sapia.util.xml.idefix.serializer; 2 3 import org.sapia.util.xml.Namespace; 4 import org.sapia.util.xml.idefix.NamespaceFactoryIF; 5 import org.sapia.util.xml.idefix.SerializationContext; 6 import org.sapia.util.xml.idefix.SerializationException; 7 import org.sapia.util.xml.idefix.SerializerIF; 8 import org.sapia.util.xml.idefix.SerializerNotFoundException; 9 10 import java.util.Iterator ; 11 12 13 23 public class IteratorSerializer implements SerializerIF { 24 27 public IteratorSerializer() { 28 super(); 29 } 30 31 39 public void serialize(Object anObject, SerializationContext aContext) 40 throws SerializationException { 41 Namespace aNamespace = NamespaceFactoryIF.DEFAULT_NAMESPACE; 42 String anObjectName = SerializerHelper.getLocalClassName(anObject); 43 serialize(anObject, aNamespace, anObjectName, aContext); 44 } 45 46 56 public void serialize(Object anIterator, Namespace aNamespace, 57 String anObjectName, SerializationContext aContext) 58 throws SerializationException { 59 Object anObject = null; 60 61 try { 62 for (Iterator it = (Iterator ) anIterator; it.hasNext();) { 64 anObject = it.next(); 65 66 SerializerIF aSerializer = aContext.getSerializerFactory() 68 .getSerializer(anObject.getClass()); 69 70 aSerializer.serialize(anObject, aContext); 72 } 73 } catch (SerializerNotFoundException snfe) { 74 String aMessage = "Unable to find a serializer for the object: " + 75 anObject; 76 throw new SerializationException(aMessage, snfe); 77 } 78 } 79 } 80 | Popular Tags |