1 package com.thoughtworks.xstream.converters.lookup;
2
3 import com.thoughtworks.xstream.converters.ConversionException;
4 import com.thoughtworks.xstream.converters.Converter;
5 import com.thoughtworks.xstream.converters.ConverterLookup;
6 import com.thoughtworks.xstream.converters.basic.NullConverter;
7
8 import java.util.Iterator;
9 import java.util.LinkedList;
10
11 public class DefaultConverterLookup implements ConverterLookup {
12
13 private LinkedList converters = new LinkedList();
14 private Converter nullConverter = new NullConverter();
15
16 public Converter lookupConverterForType(Class type) {
17 if (type == null) {
18 return nullConverter;
19 }
20 for (Iterator iterator = converters.iterator(); iterator.hasNext();) {
21 Converter converter = (Converter) iterator.next();
22 if (converter.canConvert(type)) {
23 return converter;
24 }
25 }
26 throw new ConversionException("No converter specified for " + type);
27 }
28
29 public void registerConverter(Converter converter) {
30 converters.addFirst(converter);
31 }
32
33 }
This page was automatically generated by Maven