org.fcrepo.server.storage.translation
Class FOXMLDODeserializer

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

public class FOXMLDODeserializer
extends DefaultHandler
implements DODeserializer, Constants

Deserializes objects in the constructor-provided version of FOXML.

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
FOXMLDODeserializer()
          Creates a deserializer that reads the default FOXML format.
FOXMLDODeserializer(XMLFormat format)
          Creates a deserializer that reads the given FOXML 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

FOXMLDODeserializer

public FOXMLDODeserializer()
Creates a deserializer that reads the default FOXML format.


FOXMLDODeserializer

public FOXMLDODeserializer(XMLFormat format)
Creates a deserializer that reads the given FOXML format.

Parameters:
format - the version-specific FOXML format.
Throws:
IllegalArgumentException - if format is not a known FOXML 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.