package com.ydl.ydlnet.cache.diskconverter;
import com.ydl.ydlnet.cache.utils.RxCacheLogUtils;
import com.ydl.ydlnet.cache.utils.Utils;
import java.io.*;
import java.lang.reflect.Type;
public class SerializableDiskConverter implements IDiskConverter {
@Override
public <T> T load(InputStream source, Type type) {
T value = null;
ObjectInputStream oin = null;
try {
oin = new ObjectInputStream(source);
value = (T) oin.readObject();
} catch (IOException | ClassNotFoundException e) {
RxCacheLogUtils.log(e);
} finally {
Utils.close(oin);
}
return value;
}
@Override
public boolean writer(OutputStream sink, Object data) {
ObjectOutputStream oos = null;
try {
oos = new ObjectOutputStream(sink);
oos.writeObject(data);
oos.flush();
return true;
} catch (IOException e) {
RxCacheLogUtils.log(e);
} finally {
Utils.close(oos);
}
return false;
}
}