|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.alfresco.repo.content.AbstractContentAccessor
org.alfresco.repo.content.AbstractContentReader
public abstract class AbstractContentReader
Implements all the convenience methods of the interface. The only methods that need to be implemented, i.e. provide low-level content access are:
AbstractContentReader.createReader() to read content from the repositoryAbstractContentReader.getDirectReadableChannel() to provide direct storage access
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.alfresco.repo.content.AbstractContentAccessor |
|---|
AbstractContentAccessor.CallbackFileChannel, AbstractContentAccessor.ChannelCloseCallbackAdvise |
| Constructor Summary | |
|---|---|
protected |
AbstractContentReader(java.lang.String contentUrl)
|
| Method Summary | |
|---|---|
void |
addListener(org.alfresco.service.cmr.repository.ContentStreamListener listener)
Adds the listener after checking that the output stream isn't already in use. |
static boolean |
compareContentReaders(org.alfresco.service.cmr.repository.ContentReader left,
org.alfresco.service.cmr.repository.ContentReader right)
Does a comparison of the binaries associated with two readers. |
protected abstract org.alfresco.service.cmr.repository.ContentReader |
createReader()
A factory method for subclasses to implement that will ensure the proper implementation of the ContentReader.getReader() method. |
void |
getContent(java.io.File file)
|
void |
getContent(java.io.OutputStream os)
Copies the input stream to the given
OutputStream |
java.io.InputStream |
getContentInputStream()
|
java.lang.String |
getContentString()
Makes use of the encoding, if available, to convert bytes to a string. |
java.lang.String |
getContentString(int length)
|
protected abstract java.nio.channels.ReadableByteChannel |
getDirectReadableChannel()
Provides low-level access to read content from the repository. |
java.nio.channels.FileChannel |
getFileChannel()
|
java.nio.channels.ReadableByteChannel |
getReadableChannel()
|
org.alfresco.service.cmr.repository.ContentReader |
getReader()
Performs checks and copies required reader attributes |
boolean |
isChannelOpen()
|
boolean |
isClosed()
An automatically created listener sets the flag |
| Methods inherited from class org.alfresco.repo.content.AbstractContentAccessor |
|---|
channelOpened, finalize, getCallbackFileChannel, getContentData, getContentUrl, getEncoding, getLocale, getMimetype, setContentUrl, setEncoding, setLocale, setMimetype, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.alfresco.service.cmr.repository.ContentReader |
|---|
exists, getLastModified |
| Methods inherited from interface org.alfresco.service.cmr.repository.ContentAccessor |
|---|
getContentData, getContentUrl, getEncoding, getLocale, getMimetype, getSize, setEncoding, setLocale, setMimetype |
| Constructor Detail |
|---|
protected AbstractContentReader(java.lang.String contentUrl)
contentUrl - the content URL - this should be relative to the root of the store
and not absolute: to enable moving of the stores| Method Detail |
|---|
public void addListener(org.alfresco.service.cmr.repository.ContentStreamListener listener)
addListener in interface org.alfresco.service.cmr.repository.ContentAccessor
protected abstract org.alfresco.service.cmr.repository.ContentReader createReader()
throws org.alfresco.service.cmr.repository.ContentIOException
ContentReader.getReader() method.
Only the instance need be constructed. The required mimetype, encoding, etc will be copied across by this class.
org.alfresco.service.cmr.repository.ContentIOException
public final org.alfresco.service.cmr.repository.ContentReader getReader()
throws org.alfresco.service.cmr.repository.ContentIOException
getReader in interface org.alfresco.service.cmr.repository.ContentReaderorg.alfresco.service.cmr.repository.ContentIOExceptionpublic final boolean isClosed()
isClosed in interface org.alfresco.service.cmr.repository.ContentReaderpublic boolean isChannelOpen()
isChannelOpen in interface org.alfresco.service.cmr.repository.ContentAccessor
protected abstract java.nio.channels.ReadableByteChannel getDirectReadableChannel()
throws org.alfresco.service.cmr.repository.ContentIOException
This is the only of the content reading methods that needs to be implemented by derived classes. All other content access methods make use of this in their underlying implementations.
org.alfresco.service.cmr.repository.ContentIOException - if the channel could not be opened or the underlying content
has disappeared
public final java.nio.channels.ReadableByteChannel getReadableChannel()
throws org.alfresco.service.cmr.repository.ContentIOException
getReadableChannel in interface org.alfresco.service.cmr.repository.ContentReaderorg.alfresco.service.cmr.repository.ContentIOExceptionAbstractContentReader.getDirectReadableChannel(),
AbstractContentReader.getCallbackReadableChannel(ReadableByteChannel, List)
public java.nio.channels.FileChannel getFileChannel()
throws org.alfresco.service.cmr.repository.ContentIOException
getFileChannel in interface org.alfresco.service.cmr.repository.ContentReaderorg.alfresco.service.cmr.repository.ContentIOException
public java.io.InputStream getContentInputStream()
throws org.alfresco.service.cmr.repository.ContentIOException
getContentInputStream in interface org.alfresco.service.cmr.repository.ContentReaderorg.alfresco.service.cmr.repository.ContentIOExceptionChannels.newInputStream(java.nio.channels.ReadableByteChannel)
public final void getContent(java.io.OutputStream os)
throws org.alfresco.service.cmr.repository.ContentIOException
input stream to the given
OutputStream
getContent in interface org.alfresco.service.cmr.repository.ContentReaderorg.alfresco.service.cmr.repository.ContentIOException
public final void getContent(java.io.File file)
throws org.alfresco.service.cmr.repository.ContentIOException
getContent in interface org.alfresco.service.cmr.repository.ContentReaderorg.alfresco.service.cmr.repository.ContentIOException
public final java.lang.String getContentString(int length)
throws org.alfresco.service.cmr.repository.ContentIOException
getContentString in interface org.alfresco.service.cmr.repository.ContentReaderorg.alfresco.service.cmr.repository.ContentIOException
public final java.lang.String getContentString()
throws org.alfresco.service.cmr.repository.ContentIOException
All the content is streamed into memory. So, like the interface said, be careful with this method.
getContentString in interface org.alfresco.service.cmr.repository.ContentReaderorg.alfresco.service.cmr.repository.ContentIOExceptionContentAccessor.getEncoding()
public static boolean compareContentReaders(org.alfresco.service.cmr.repository.ContentReader left,
org.alfresco.service.cmr.repository.ContentReader right)
throws org.alfresco.service.cmr.repository.ContentIOException
compared.
org.alfresco.service.cmr.repository.ContentIOException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||