fedora.server.storage.translation
Class DOTranslatorModule

java.lang.Object
  extended by fedora.server.Parameterized
      extended by fedora.server.Pluggable
          extended by fedora.server.Module
              extended by fedora.server.storage.translation.DOTranslatorModule
All Implemented Interfaces:
Constants, DOTranslator

public class DOTranslatorModule
extends Module
implements DOTranslator

DOTranslatorImpl wrapped as a Module.

To configure the DOTranslatorImpl, this module accepts parameters with names starting with serializer_ and deserializer_. The latter part of each parameter name assigns the name of the format (typically a format URI), and the value of the parameter is a fully-qualified class name, denoting a DOSerializer or DODeserializer, respectively.

Author:
cwilper@cs.cornell.edu

Nested Class Summary
 
Nested classes/interfaces inherited from interface fedora.common.Constants
Constants.FedoraHome
 
Field Summary
 
Fields inherited from interface fedora.common.Constants
ACCESS, ACTION, API, AUDIT, AUDIT1_0, BATCH_MODIFY, BATCH_MODIFY1_1, BDEF, BE_SECURITY, BE_SECURITY1_0, BINDING_SPEC, BMECH, DATASTREAM, DC, DISSEMINATOR, DS_COMPOSITE_MODEL, DS_COMPOSITE_MODEL1_0, ENVIRONMENT, FCFG, FEDORA, FEDORA_HOME, FOXML, FOXML1_0, FOXML1_1, HTTP_REQUEST, MANAGEMENT, METHOD_MAP, METS, METS_EXT, METS_EXT1_0, METS_EXT1_1, MODEL, MULGARA, OAI_DC, OAI_DC2_0, OAI_FRIENDS, OAI_FRIENDS2_0, OAI_IDENTIFIER, OAI_IDENTIFIER2_0, OAI_PMH, OAI_PMH2_0, OAI_PROV, OAI_PROV2_0, OBJ_DATASTREAMS1_0, OBJ_HISTORY1_0, OBJ_ITEMS1_0, OBJ_METHODS1_0, OBJ_PROFILE1_0, OBJECT, OLD_XLINK, PID_LIST1_0, RDF, RDF_XSD, RECOVERY, RELS_EXT, REPO_DESC1_0, RESOURCE, SERVICE_PROFILE, SOAP, SOAP_ENC, SUBJECT, TYPES, VIEW, WSDL, WSDL_HTTP, WSDL_MIME, XLINK, XML_XSD, XMLNS, XSI
 
Constructor Summary
DOTranslatorModule(java.util.Map params, Server server, java.lang.String role)
          Creates an instance using the standard Module constructor.
 
Method Summary
 void deserialize(java.io.InputStream in, DigitalObject out, java.lang.String format, java.lang.String encoding, int transContext)
          Deserializes the given stream.
 void initModule()
          Initializes the Module based on configuration parameters.
 void serialize(DigitalObject in, java.io.OutputStream out, java.lang.String format, java.lang.String encoding, int transContext)
          Serializes the given object.
 
Methods inherited from class fedora.server.Module
getRole, getServer, postInitModule, shutdownModule
 
Methods inherited from class fedora.server.Pluggable
getHelp, getOptionalParameters, getParameterHelp, getRequiredModuleRoles, getRequiredParameters
 
Methods inherited from class fedora.server.Parameterized
getParameter, getParameter, getParameters, parameterNames, setParameter, setParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DOTranslatorModule

public DOTranslatorModule(java.util.Map params,
                          Server server,
                          java.lang.String role)
                   throws ModuleInitializationException
Creates an instance using the standard Module constructor.

Throws:
ModuleInitializationException
Method Detail

initModule

public void initModule()
                throws ModuleInitializationException
Initializes the Module based on configuration parameters.

Overrides:
initModule in class Module
Throws:
ModuleInitializationException - If initialization values are invalid or initialization fails for some other reason.

deserialize

public void deserialize(java.io.InputStream in,
                        DigitalObject out,
                        java.lang.String format,
                        java.lang.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).
out - 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 in,
                      java.io.OutputStream out,
                      java.lang.String format,
                      java.lang.String encoding,
                      int transContext)
               throws ObjectIntegrityException,
                      StreamIOException,
                      UnsupportedTranslationException,
                      ServerException
Serializes the given object.

Specified by:
serialize in interface DOTranslator
Parameters:
in - 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