001 /* 002 @license.text@ 003 */ 004 package biz.hammurapi.xml.dom; 005 006 import org.w3c.dom.Element; 007 008 import biz.hammurapi.xml.dom.CompositeDomSerializer.Member; 009 010 /** 011 * @author Pavel Vlasov 012 * 013 * @version $Revision: 1.3 $ 014 */ 015 public class ArrayDomSerializer implements Member { 016 017 private CompositeDomSerializer owner; 018 019 public DomSerializable toDomSerializable(final Object[] oa) { 020 return new DomSerializable() { 021 022 public void toDom(Element holder) { 023 holder.setAttribute("type", oa.getClass().getName()); 024 for (int i=0; i<oa.length; i++) { 025 DomSerializable eds=owner.getStackHead().toDomSerializable(oa[i]); 026 if (eds!=null) { 027 Element el=holder.getOwnerDocument().createElement("element"); 028 holder.appendChild(el); 029 eds.toDom(el); 030 } 031 } 032 } 033 034 }; 035 } 036 037 /** 038 * Callback method 039 */ 040 public void setOwner(CompositeDomSerializer owner) { 041 this.owner=owner; 042 } 043 }