org.fcrepo.server.storage.translation
Class AtomDOSerializer

java.lang.Object
  extended by org.fcrepo.server.storage.translation.AtomDOSerializer
All Implemented Interfaces:
Constants, DOSerializer
Direct Known Subclasses:
Atom1_1DOSerializer, AtomZip1_1DOSerializer

public class AtomDOSerializer
extends Object
implements DOSerializer, Constants

Serializes a Fedora Object in Atom with Threading Extensions.

A Fedora Digital Object is represented as an atom:feed and Datastreams are represented as an atom:entries.

The hierarchy of Datastreams their Datastream Versions is represented via the Atom Threading Extensions. For convenience, a datastream entry references its latest datastream version entry with an atom:link element. For example, a DC datastream entry with a reference to its most recent version:
<link href="info:fedora/demo:foo/DC/2008-04-01T12:30:15.123" rel="alternate"/>

Each datastream version refers to its parent datastream via a thr:in-reply-to element. For example, the entry for a DC datastream version would include:
<thr:in-reply-to ref="info:fedora/demo:foo/DC"/>

Since:
3.0
Version:
$Id$
Author:
Edwin Shin
See Also:
The Atom Syndication Format, Atom Threading Extensions

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.fcrepo.common.Constants
Constants.FedoraHome
 
Field Summary
static XMLFormat DEFAULT_FORMAT
          The format this serializer will write if unspecified at construction.
protected  org.apache.abdera.model.Feed m_feed
           
 
Fields inherited from interface org.fcrepo.common.Constants
ACCESS, ACTION, API, ATOM_APIM1_0, ATOM_ZIP1_1, ATOM1_1, AUDIT, AUDIT1_0, BATCH_MODIFY, BATCH_MODIFY1_1, BE_SECURITY, BE_SECURITY1_0, BINDING_SPEC, DATASTREAM, DC, DISSEMINATOR, DS_COMPOSITE_MODEL, DS_COMPOSITE_MODEL1_0, DS_INPUT_SPEC1_0, DS_INPUT_SPEC1_1, ENVIRONMENT, FCFG, FEDORA, FEDORA_APP_CONTEXT_NAME, FEDORA_DEFAULT_APP_CONTEXT, FEDORA_HOME, FEDORA_REPOSITORY_PID, FOXML, FOXML1_0, FOXML1_0_LEGACY, FOXML1_1, HTTP_REQUEST, MANAGEMENT, METHOD_MAP, METS, METS_EXT, METS_EXT1_0, METS_EXT1_0_LEGACY, 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, OBJ_VALIDATION1_0, OBJECT, OLD_XLINK, PID_LIST1_0, RDF, RDF_XSD, RECOVERY, RELS_EXT, RELS_EXT1_0, RELS_INT1_0, REPO_DESC1_0, RESOURCE, SDEF, SDEF_METHOD_MAP1_0, SDEP, SDEP_METHOD_MAP1_0, SDEP_METHOD_MAP1_1, SERVICE_PROFILE, SOAP, SOAP_ENC, SUBJECT, TYPES, VIEW, WSDL, WSDL_HTTP, WSDL_MIME, XACML_POLICY, XACML_POLICY1_0, XACML1, XACML1_ACTION, XACML1_POLICY, XACML1_RESOURCE, XACML1_SUBJECT, XACML2_POLICY_SCHEMA, XLINK, XML_XSD, XMLNS, XSI
 
Constructor Summary
AtomDOSerializer()
           
AtomDOSerializer(XMLFormat format)
           
 
Method Summary
 DOSerializer getInstance()
          Creates a new serializer that writes the same format as this one.
 void serialize(DigitalObject obj, OutputStream out, 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
 

Field Detail

DEFAULT_FORMAT

public static final XMLFormat DEFAULT_FORMAT
The format this serializer will write if unspecified at construction. This defaults to the latest ATOM format.


m_feed

protected org.apache.abdera.model.Feed m_feed
Constructor Detail

AtomDOSerializer

public AtomDOSerializer()

AtomDOSerializer

public AtomDOSerializer(XMLFormat format)
Method Detail

getInstance

public DOSerializer getInstance()
Creates a new serializer that writes the same format as this one.

Specified by:
getInstance in interface DOSerializer

serialize

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

Specified by:
serialize in interface DOSerializer
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.
UnsupportedEncodingException - if the encoding is not supported by the JVM.
See Also:
DOTranslationUtility.SERIALIZE_EXPORT_ARCHIVE, DOTranslationUtility.SERIALIZE_EXPORT_PUBLIC, DOTranslationUtility.SERIALIZE_EXPORT_MIGRATE, DOTranslationUtility.SERIALIZE_STORAGE_INTERNAL


Copyright © 2012 DuraSpace. All Rights Reserved.