001 /* 002 @license.text@ 003 */ 004 package biz.hammurapi.xml.dom; 005 006 import java.util.Collection; 007 import java.util.Iterator; 008 009 import org.w3c.dom.Element; 010 011 import biz.hammurapi.xml.dom.CompositeDomSerializer.Member; 012 013 /** 014 * @author Pavel Vlasov 015 * 016 * @version $Revision: 1.3 $ 017 */ 018 public class CollectionDomSerializer implements Member { 019 020 private CompositeDomSerializer owner; 021 022 public DomSerializable toDomSerializable(final Collection col) { 023 return new DomSerializable() { 024 025 public void toDom(Element holder) { 026 holder.setAttribute("type", col.getClass().getName()); 027 Iterator it=col.iterator(); 028 while (it.hasNext()) { 029 DomSerializable ds=owner.getStackHead().toDomSerializable(it.next()); 030 if (ds!=null) { 031 Element el=holder.getOwnerDocument().createElement("element"); 032 holder.appendChild(el); 033 ds.toDom(el); 034 } 035 } 036 } 037 038 }; 039 } 040 041 /** 042 * Callback method 043 */ 044 public void setOwner(CompositeDomSerializer owner) { 045 this.owner=owner; 046 } 047 }