View Javadoc
1 package com.thoughtworks.xstream.converters.collections; 2 3 import com.thoughtworks.xstream.alias.ClassMapper; 4 import com.thoughtworks.xstream.converters.ConverterLookup; 5 import com.thoughtworks.xstream.objecttree.ObjectTree; 6 import com.thoughtworks.xstream.xml.XMLReader; 7 import com.thoughtworks.xstream.xml.XMLWriter; 8 9 import java.lang.reflect.Array; 10 11 public class ArrayConverter extends AbstractCollectionConverter { 12 13 public ArrayConverter(ClassMapper classMapper) { 14 super(classMapper); 15 } 16 17 public boolean canConvert(Class type) { 18 return type.isArray(); 19 } 20 21 public void toXML(ObjectTree objectGraph, XMLWriter xmlWriter, ConverterLookup converterLookup) { 22 Object array = objectGraph.get(); 23 int length = Array.getLength(array); 24 for (int i = 0; i < length; i++) { 25 Object item = Array.get(array, i); 26 writeItem(item, xmlWriter, converterLookup, objectGraph); 27 } 28 } 29 30 public void fromXML(ObjectTree objectGraph, XMLReader xmlReader, ConverterLookup converterLookup, Class requiredType) { 31 int size = xmlReader.childCount(); 32 Class type = classMapper.lookupType(xmlReader.name()); 33 Object array = Array.newInstance(type.getComponentType(), size); 34 for (int i = 0; i < size; i++) { 35 Object item = readItem(xmlReader, i, objectGraph, converterLookup); 36 Array.set(array, i, item); 37 } 38 objectGraph.set(array); 39 } 40 41 42 }

This page was automatically generated by Maven