fedora.server.storage.types
Class Datastream

java.lang.Object
  extended by fedora.server.storage.types.Datastream
Direct Known Subclasses:
DatastreamManagedContent, DatastreamReferencedContent, DatastreamXMLMetadata

public class Datastream
extends java.lang.Object

A Fedora datastream.

Version:
$Id: Datastream.java 6261 2007-11-02 19:38:01Z haschart $
Author:
payette@cs.cornell.edu

Field Summary
static boolean autoChecksum
           
static java.lang.String CHECKSUM_IOEXCEPTION
           
static java.lang.String CHECKSUMTYPE_DISABLED
           
 java.lang.String[] DatastreamAltIDs
           
 java.lang.String DatastreamID
           
static java.lang.String defaultChecksumType
           
 java.lang.String DSChecksum
           
 java.lang.String DSChecksumType
           
 java.lang.String DSControlGrp
          Datastream Control Group: This indicates the nature of the repository's control over the datastream content.
 java.util.Date DSCreateDT
           
 java.lang.String DSFormatURI
           
 java.lang.String DSInfoType
          Used to maintain backwards compatibility with METS-Fedora
 java.lang.String DSLabel
           
 java.lang.String DSLocation
           
 java.lang.String DSLocationType
           
 java.lang.String DSMIME
           
 long DSSize
           
 java.lang.String DSState
           
 boolean DSVersionable
           
 java.lang.String DSVersionID
           
 boolean isNew
           
 
Constructor Summary
Datastream()
           
 
Method Summary
 boolean compareChecksum()
           
 Datastream copy()
           
 void copy(Datastream target)
           
 java.lang.String getChecksum()
           
 java.lang.String getChecksumType()
           
 java.io.InputStream getContentStream()
           
 java.io.InputStream getContentStreamForChecksum()
           
static java.lang.String getDefaultChecksumType()
           
 java.lang.String setChecksum(java.lang.String csType)
           
static java.lang.String validateChecksumType(java.lang.String checksumType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CHECKSUMTYPE_DISABLED

public static final java.lang.String CHECKSUMTYPE_DISABLED
See Also:
Constant Field Values

CHECKSUM_IOEXCEPTION

public static final java.lang.String CHECKSUM_IOEXCEPTION
See Also:
Constant Field Values

isNew

public boolean isNew

DatastreamID

public java.lang.String DatastreamID

DatastreamAltIDs

public java.lang.String[] DatastreamAltIDs

DSFormatURI

public java.lang.String DSFormatURI

DSMIME

public java.lang.String DSMIME

DSControlGrp

public java.lang.String DSControlGrp
Datastream Control Group: This indicates the nature of the repository's control over the datastream content. Values are:

R = Redirected. The datastream resides on an external server and is referenced by a URL. When a dissemination request for the *datastream* comes through, Fedora sends an HTTP redirect to the client, thereby causing the client to directly access the datastream from its external location. This is useful in cases where the datastream is really some sort of streaming media that cannot be piped through Fedora, or the datastream is an HTML document with relative hyperlinks to the server on which is is normally hosted. E = External Referenced. The datastream content is external to the repository and referenced by URL. The content is not under the direct custodianship of the repository. The URL is considered public so the repository does not worry about whether it exposes the datastream location to collaborating services. M = Managed Content. The datastream content is stored and managed by the repository. The content is considered under the direct custodianship of the repository. The repository does not expose the underlying storage location to collaborating services and it mediates all access to the content by collaborating services. X = Inline XML Metadata. The datastream content is user-defined XML metadata that is stored within the digital object XML file itself. As such, it is intrinsically bound to the digital object, and by implication, it is stored and managed by the repository. The content considered under the custodianship of the repository.


DSInfoType

public java.lang.String DSInfoType
Used to maintain backwards compatibility with METS-Fedora


DSState

public java.lang.String DSState

DSVersionable

public boolean DSVersionable

DSVersionID

public java.lang.String DSVersionID

DSLabel

public java.lang.String DSLabel

DSCreateDT

public java.util.Date DSCreateDT

DSSize

public long DSSize

DSLocation

public java.lang.String DSLocation

DSLocationType

public java.lang.String DSLocationType

DSChecksumType

public java.lang.String DSChecksumType

DSChecksum

public java.lang.String DSChecksum

autoChecksum

public static boolean autoChecksum

defaultChecksumType

public static java.lang.String defaultChecksumType
Constructor Detail

Datastream

public Datastream()
Method Detail

getContentStream

public java.io.InputStream getContentStream()
                                     throws StreamIOException
Throws:
StreamIOException

getContentStreamForChecksum

public java.io.InputStream getContentStreamForChecksum()
                                                throws StreamIOException
Throws:
StreamIOException

getDefaultChecksumType

public static java.lang.String getDefaultChecksumType()

getChecksumType

public java.lang.String getChecksumType()

getChecksum

public java.lang.String getChecksum()

setChecksum

public java.lang.String setChecksum(java.lang.String csType)

compareChecksum

public boolean compareChecksum()

validateChecksumType

public static java.lang.String validateChecksumType(java.lang.String checksumType)
                                             throws GeneralException
Throws:
GeneralException

copy

public Datastream copy()

copy

public void copy(Datastream target)