001 package org.kuali.ole.ingest;
002
003 import com.thoughtworks.xstream.converters.Converter;
004 import com.thoughtworks.xstream.converters.MarshallingContext;
005 import com.thoughtworks.xstream.converters.UnmarshallingContext;
006 import com.thoughtworks.xstream.io.HierarchicalStreamReader;
007 import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
008 import org.kuali.ole.ingest.pojo.OleAddressLine;
009
010 /**
011 * OlePatronAddressLineConverter is a converter class used to convert object into data and data into object by using
012 * hierarchicalStreamWriter and hierarchicalStreamReader respectively
013 */
014 public class OlePatronAddressLineConverter implements Converter {
015 /**
016 * This method convert the object into data by using hierarchicalStreamWriter.
017 * @param obj
018 * @param hierarchicalStreamWriter
019 * @param marshallingContext
020 */
021 @Override
022 public void marshal(Object obj, HierarchicalStreamWriter hierarchicalStreamWriter, MarshallingContext marshallingContext) {
023 OleAddressLine oleAddressLine = (OleAddressLine) obj;
024 hierarchicalStreamWriter.setValue(oleAddressLine.getAddressLine());
025 }
026
027 /**
028 * This method convert the data into object by using hierarchicalStreamReader.
029 * @param hierarchicalStreamReader
030 * @param unmarshallingContext
031 * @return oleAddressLine.
032 */
033 @Override
034 public Object unmarshal(HierarchicalStreamReader hierarchicalStreamReader, UnmarshallingContext unmarshallingContext) {
035 OleAddressLine oleAddressLine = new OleAddressLine();
036 oleAddressLine.setAddressLine(hierarchicalStreamReader.getValue());
037 return oleAddressLine;
038 }
039
040 /**
041 * This method returns True/False.
042 * This method check whether the class is OleAddressLine class or not.
043 * @param aClass
044 * @return boolean
045 */
046 @Override
047 public boolean canConvert(Class aClass) {
048 return aClass.equals(OleAddressLine.class);
049 }
050 }