public abstract class MediaBlobHelper extends Object
Modifier and Type | Field and Description |
---|---|
protected S_MediaBlob |
m_MediaBlob
The S_MediaBlob being serviced.
|
protected S_LibrarySession |
m_Session
The S_LibrarySession used by the S_MediaBlob being serviced.
|
Constructor and Description |
---|
MediaBlobHelper(S_MediaBlob mediaBlob)
Constructs a MediaBlobHelper instance.
|
Modifier and Type | Method and Description |
---|---|
protected abstract void |
copyContent(S_MediaBfile srcMedia,
Long srcCid,
Long dstCid,
Long partitionValue,
AttributeValue[] mediaOptions)
Stores a copy of existing content as the content for the specified
content id, with a S_MediaBfile being the source.
|
protected abstract void |
copyContent(S_MediaBlob srcMedia,
Long srcCid,
Long dstCid,
Long partitionValue,
AttributeValue[] mediaOptions)
Stores a copy of existing content as the content for the specified
content id, with a S_MediaBlob being the source.
|
abstract void |
createContentIndexProcedure(Connection conn)
Recreates the content index procedure, if any, for this MediaBlob instance.
|
protected abstract void |
destroyContent(Long cid,
AttributeValue[] mediaOptions)
Destroys the content for the specified content ID.
|
protected abstract InputStream |
getContent(Long cid)
Gets the content stream for the specified content id.
|
protected abstract long |
getContentSize(Long cid)
Gets the size of the content stream for the specified content id.
|
protected abstract RandomAccessDriver |
getRandomAccessDriver(Long cid)
Returns a RandomAccessDriver to use to retrieve the indicated content.
|
S_LibrarySession |
getSession()
Gets the session context.
|
protected abstract void |
setContent(Long cid,
InputStream is,
Long partitionValue,
AttributeValue[] mediaOptions)
Stores content read from the specified InputStream using the specified
content id.
|
protected abstract void |
setEmptyContent(Long cid,
Long partitionValue,
AttributeValue[] mediaOptions)
Stores zero-length content for the specified content id.
|
protected S_MediaBlob m_MediaBlob
protected S_LibrarySession m_Session
public MediaBlobHelper(S_MediaBlob mediaBlob) throws IfsException
mediaBlob
- the S_MediaBlob instance being servicedIfsException
- if the operation failspublic S_LibrarySession getSession()
public abstract void createContentIndexProcedure(Connection conn) throws IfsException
conn
- the connectionIfsException
- if the operation failsprotected abstract InputStream getContent(Long cid) throws IfsException
cid
- the content id; requiredIfsException
- if the operation failsprotected abstract long getContentSize(Long cid) throws IfsException
cid
- the content id; requiredIfsException
- if the operation failsprotected abstract void setContent(Long cid, InputStream is, Long partitionValue, AttributeValue[] mediaOptions) throws IfsException
The implementation of this method is responsible for inserting a row into
the content table whose ID column is cid
, storing content
read from the InputStream, and closing the InputStream.
cid
- the content id; requiredis
- the InputStream from which content is readpartitionValue
- the value for the PARTITIONVALUE column in the
content table, or null if nonemediaOptions
- a set of name/value pairs whose semantics are
Media determined, or null for no media optionsIfsException
- if the operation failsprotected abstract void setEmptyContent(Long cid, Long partitionValue, AttributeValue[] mediaOptions) throws IfsException
The implementation of this method is responsible for inserting a row into
the content table whose ID column is cid
.
Althrough a concrete implementation is provided here (by calling
setContent
and immediately closing the returned
OutputStream), subclasses should override this method with a more
performant implementation, if possible.
cid
- the content id; requiredpartitionValue
- the value for the PARTITIONVALUE column in the
content table, or null if nonemediaOptions
- a set of name/value pairs whose semantics are
Media determined, or null for no media optionsIfsException
- if the operation failsprotected abstract void copyContent(S_MediaBlob srcMedia, Long srcCid, Long dstCid, Long partitionValue, AttributeValue[] mediaOptions) throws IfsException
The implementation of this method is responsible for inserting a row into
the content table whose ID column is dstCid
.
Although a concrete implementation is provided here (by copying the
InputStream returned by srcMedia.getContent(srcCid)
to the
OutputStream returned by setContent
), subclasses should
override this method with a more performant implementation, if possible.
srcMedia
- the S_MediaBlob source media; requiredsrcCid
- the source content id; requireddstCid
- the destination content id; requiredpartitionValue
- the value for the PARTITIONVALUE column in the
content table, or null if nonemediaOptions
- a set of name/value pairs whose semantics are
Media determined, or null for no media optionsIfsException
- if the operation failsprotected abstract void copyContent(S_MediaBfile srcMedia, Long srcCid, Long dstCid, Long partitionValue, AttributeValue[] mediaOptions) throws IfsException
The implementation of this method is responsible for inserting a row into
the content table whose ID column is dstCid
.
Although a concrete implementation is provided here (by copying the
InputStream returned by srcMedia.getContent(srcCid)
to the
OutputStream returned by setContent
), subclasses should
override this method with a more performant implementation, if possible.
srcMedia
- the S_MediaBfile source media; requiredsrcCid
- the source content id; requireddstCid
- the destination content id; requiredpartitionValue
- the value for the PARTITIONVALUE column in the
content table, or null if nonemediaOptions
- a set of name/value pairs whose semantics are
Media determined, or null for no media optionsIfsException
- if the operation failsprotected abstract void destroyContent(Long cid, AttributeValue[] mediaOptions) throws IfsException
cid
- the content id; requiredmediaOptions
- a set of name/value pairs whose semantics are
Media determined, or null for no media optionsIfsException
- if the operation failsprotected abstract RandomAccessDriver getRandomAccessDriver(Long cid) throws IfsException
cid
- the content id; requiredIfsException
- if the operation failsCopyright © 2023. All rights reserved.