001package org.kuali.ole.converters;
002
003import com.thoughtworks.xstream.converters.Converter;
004import com.thoughtworks.xstream.converters.MarshallingContext;
005import com.thoughtworks.xstream.converters.UnmarshallingContext;
006import com.thoughtworks.xstream.io.HierarchicalStreamReader;
007import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
008import org.kuali.ole.bo.explain.OleSRUExplainDatabaseTitle;
009
010/**
011 * Created with IntelliJ IDEA.
012 * User: ?
013 * Date: 7/19/12
014 * Time: 7:02 PM
015 * To change this template use File | Settings | File Templates.
016 */
017public class OleSRUExplainDatabaseInfoConverter implements Converter {
018
019
020    @Override
021    public void marshal(Object o, HierarchicalStreamWriter hierarchicalStreamWriter,
022                        MarshallingContext marshallingContext) {
023        OleSRUExplainDatabaseTitle oleSRUExplainDatabaseTitle = (OleSRUExplainDatabaseTitle) o;
024        hierarchicalStreamWriter.addAttribute("lang", oleSRUExplainDatabaseTitle.getLang());
025        hierarchicalStreamWriter.addAttribute("primary", oleSRUExplainDatabaseTitle.getPrimary());
026        hierarchicalStreamWriter.setValue(oleSRUExplainDatabaseTitle.getValue());
027    }
028
029    @Override
030    public Object unmarshal(HierarchicalStreamReader hierarchicalStreamReader,
031                            UnmarshallingContext unmarshallingContext) {
032        // System.out.println("datafield unmarshal");
033        OleSRUExplainDatabaseTitle oleSRUExplainDatabaseTitle = new OleSRUExplainDatabaseTitle();
034        oleSRUExplainDatabaseTitle.setLang(hierarchicalStreamReader.getAttribute("lang"));
035        oleSRUExplainDatabaseTitle.setPrimary(hierarchicalStreamReader.getAttribute("primary"));
036        oleSRUExplainDatabaseTitle.setValue(hierarchicalStreamReader.getValue());
037        return oleSRUExplainDatabaseTitle;
038    }
039
040    @Override
041    public boolean canConvert(Class aClass) {
042        return aClass.equals(OleSRUExplainDatabaseTitle.class);
043    }
044}