org.fcrepo.server.storage.translation
Class METSFedoraExtDODeserializer

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by org.fcrepo.server.storage.translation.METSFedoraExtDODeserializer
All Implemented Interfaces:
Constants, DODeserializer, ContentHandler, DTDHandler, EntityResolver, ErrorHandler
Direct Known Subclasses:
METSFedoraExt1_0DODeserializer, METSFedoraExt1_1DODeserializer

public class METSFedoraExtDODeserializer
extends DefaultHandler
implements Constants, DODeserializer

Deserializes objects in the constructor-provided version of the METS Fedora Extension format.

Author:
Sandy Payette, Chris Wilper

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.fcrepo.common.Constants
Constants.FedoraHome
 
Field Summary
static XMLFormat DEFAULT_FORMAT
          The format this deserializer will read if unspecified at construction.
 
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
METSFedoraExtDODeserializer()
          Creates a deserializer that reads the default Fedora METS Extension format.
METSFedoraExtDODeserializer(XMLFormat format)
          Creates a deserializer that reads the given Fedora METS Extension format.
 
Method Summary
 void characters(char[] ch, int start, int length)
          
 void deserialize(InputStream in, DigitalObject obj, String encoding, int transContext)
          Deserializes the given stream.
 void endElement(String uri, String localName, String qName)
          
 void endPrefixMapping(String prefix)
          
 DODeserializer getInstance()
          Creates a new deserializer that the same format as this one.
 void startElement(String uri, String localName, String qName, Attributes a)
          
 void startPrefixMapping(String prefix, String uri)
          
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, unparsedEntityDecl, warning
 
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 deserializer will read if unspecified at construction. This defaults to the latest FOXML format.

Constructor Detail

METSFedoraExtDODeserializer

public METSFedoraExtDODeserializer()
Creates a deserializer that reads the default Fedora METS Extension format.


METSFedoraExtDODeserializer

public METSFedoraExtDODeserializer(XMLFormat format)
Creates a deserializer that reads the given Fedora METS Extension format.

Parameters:
format - the version-specific Fedora METS Extension format.
Throws:
IllegalArgumentException - if format is not a known Fedora METS Extension format.
Method Detail

getInstance

public DODeserializer getInstance()
Creates a new deserializer that the same format as this one.

Specified by:
getInstance in interface DODeserializer

deserialize

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

Specified by:
deserialize in interface DODeserializer
Parameters:
in - the stream to read from (closed when finished).
obj - the object to deserialize into.
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.
UnsupportedEncodingException - if the encoding is not supported by the JVM.
See Also:
DOTranslationUtility.DESERIALIZE_INSTANCE

startPrefixMapping

public void startPrefixMapping(String prefix,
                               String uri)

Specified by:
startPrefixMapping in interface ContentHandler
Overrides:
startPrefixMapping in class DefaultHandler

endPrefixMapping

public void endPrefixMapping(String prefix)

Specified by:
endPrefixMapping in interface ContentHandler
Overrides:
endPrefixMapping in class DefaultHandler

startElement

public void startElement(String uri,
                         String localName,
                         String qName,
                         Attributes a)
                  throws SAXException

Specified by:
startElement in interface ContentHandler
Overrides:
startElement in class DefaultHandler
Throws:
SAXException

characters

public void characters(char[] ch,
                       int start,
                       int length)

Specified by:
characters in interface ContentHandler
Overrides:
characters in class DefaultHandler

endElement

public void endElement(String uri,
                       String localName,
                       String qName)
                throws SAXException

Specified by:
endElement in interface ContentHandler
Overrides:
endElement in class DefaultHandler
Throws:
SAXException


Copyright © 2012 DuraSpace. All Rights Reserved.