org.fcrepo.server.storage.translation
Class DOTranslatorImpl

java.lang.Object
  extended by org.fcrepo.server.storage.translation.DOTranslatorImpl
All Implemented Interfaces:
DOTranslator

public class DOTranslatorImpl
extends Object
implements DOTranslator

A threadsafe DOTranslator that uses a map of serializers and a map of deserializers to do its job.

Author:
Chris Wilper

Constructor Summary
DOTranslatorImpl(Map<String,DOSerializer> serializers, Map<String,DODeserializer> deserializers)
          Creates an instance.
 
Method Summary
 void deserialize(InputStream in, DigitalObject obj, String format, String encoding, int transContext)
          Deserializes the given stream.
 void serialize(DigitalObject obj, OutputStream out, String format, String encoding, int transContext)
          Serializes the given object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DOTranslatorImpl

public DOTranslatorImpl(Map<String,DOSerializer> serializers,
                        Map<String,DODeserializer> deserializers)
Creates an instance.

Parameters:
serializers - the DOSerializer map, keyed by format string.
deserializers - the DODeserializer map, keyed by format string.
Method Detail

deserialize

public void deserialize(InputStream in,
                        DigitalObject obj,
                        String format,
                        String encoding,
                        int transContext)
                 throws ObjectIntegrityException,
                        StreamIOException,
                        UnsupportedTranslationException,
                        ServerException
Deserializes the given stream.

Specified by:
deserialize in interface DOTranslator
Parameters:
in - the stream to read from (closed when finished).
obj - the object to deserialize into.
format - the format of the stream (typically a format URI).
encoding - the character encoding if the format is text-based.
transContext - the translation context.
Throws:
ObjectIntegrityException - if the stream does not properly encode an object.
StreamIOException - if there is an error reading from the stream.
ServerException - if the translator is unable to deserialize for any other reason.
UnsupportedTranslationException
See Also:
DOTranslationUtility.DESERIALIZE_INSTANCE

serialize

public void serialize(DigitalObject obj,
                      OutputStream out,
                      String format,
                      String encoding,
                      int transContext)
               throws ObjectIntegrityException,
                      StreamIOException,
                      UnsupportedTranslationException,
                      ServerException
Serializes the given object.

Specified by:
serialize in interface DOTranslator
Parameters:
obj - the object to serialize.
out - where to send the output to (auto-closed when finished).
encoding - the character encoding if the format is text-based.
transContext - the translation context.
Throws:
ObjectIntegrityException - if the given object is in such a state that serialization can't be performed.
StreamIOException - if there is an error writing to the stream.
ServerException - if the translator is unable to serialize for any other reason.
UnsupportedTranslationException
See Also:
DOTranslationUtility.SERIALIZE_EXPORT_ARCHIVE, DOTranslationUtility.SERIALIZE_EXPORT_PUBLIC, DOTranslationUtility.SERIALIZE_EXPORT_MIGRATE, DOTranslationUtility.SERIALIZE_STORAGE_INTERNAL


Copyright © 2012 DuraSpace. All Rights Reserved.