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}