package org.fcrepo.server.storage.translation; import java.io.ByteArrayInputStream; import java.util.concurrent.Callable; import org.fcrepo.server.storage.types.DigitalObject; import org.fcrepo.utilities.ReadableByteArrayOutputStream; public class SerializerCallable implements Callable<ByteArrayInputStream> { final DOSerializer m_ser; final DigitalObject m_obj; public SerializerCallable(DOSerializer ser, DigitalObject obj){ m_ser = ser; m_obj = obj; } @Override public ByteArrayInputStream call() throws Exception { ReadableByteArrayOutputStream out = new ReadableByteArrayOutputStream(); m_ser.serialize(m_obj, out, "UTF-8", DOTranslationUtility.SERIALIZE_EXPORT_ARCHIVE); return out.toInputStream(); } }