View Javadoc
1 package com.thoughtworks.xstream.converters.extended; 2 3 import com.thoughtworks.xstream.converters.Converter; 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.awt.*; 10 11 public class ColorConverter implements Converter { 12 public boolean canConvert(Class type) { 13 return type.equals(Color.class); 14 } 15 16 public void toXML(ObjectTree objectGraph, XMLWriter xmlWriter, ConverterLookup converterLookup) { 17 Color color = (Color) objectGraph.get(); 18 write("red", color.getRed(), xmlWriter); 19 write("green", color.getGreen(), xmlWriter); 20 write("blue", color.getBlue(), xmlWriter); 21 write("alpha", color.getAlpha(), xmlWriter); 22 } 23 24 private void write(String fieldName, int value, XMLWriter xmlWriter) { 25 xmlWriter.startElement(fieldName); 26 xmlWriter.writeText(String.valueOf(value)); 27 xmlWriter.endElement(); 28 } 29 30 public void fromXML(ObjectTree objectGraph, XMLReader xmlReader, ConverterLookup converterLookup, Class requiredType) { 31 Color color = new Color( 32 read("red", xmlReader), 33 read("green", xmlReader), 34 read("blue", xmlReader), 35 read("alpha", xmlReader) 36 ); 37 objectGraph.set(color); 38 } 39 40 private int read(String field, XMLReader reader) { 41 reader.child(field); 42 int result = Integer.parseInt(reader.text()); 43 reader.pop(); 44 return result; 45 } 46 }

This page was automatically generated by Maven