|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ContentWriter
Represents a handle to write specific content. Content may only be accessed once per instance.
Implementations of this interface might be Serializable
but client code could should check suitability before attempting to serialize
it.
Implementations that are able to provide inter-VM streaming, such as accessing
WebDAV, would be Serializable
. An accessor that has to access a
local file on the server could not provide inter-VM streaming unless it specifically
makes remote calls and opens sockets, etc.
ContentReader
Method Summary | |
---|---|
java.io.OutputStream |
getContentOutputStream()
Get a stream to write to the underlying channel. |
java.nio.channels.FileChannel |
getFileChannel(boolean truncate)
Provides read-write, random-access to the underlying content. |
ContentReader |
getReader()
Convenience method to get a reader onto newly written content. |
java.nio.channels.WritableByteChannel |
getWritableChannel()
Provides low-level access to write to repository content. |
void |
guessEncoding()
Attempts to guess the encoding of the Content based on the contents. |
void |
guessMimetype(java.lang.String filename)
Attempts to guess the mimetype of the Content based on the contents and the filename. |
boolean |
isClosed()
Convenience method to find out if this writer has been closed. |
void |
putContent(ContentReader reader)
Copies content from the reader. |
void |
putContent(java.io.File file)
Puts content to the repository direct from file |
void |
putContent(java.io.InputStream is)
Puts content to the repository |
void |
putContent(java.lang.String content)
Puts content to the repository direct from String . |
Methods inherited from interface org.alfresco.service.cmr.repository.ContentAccessor |
---|
addListener, getContentData, getContentUrl, getEncoding, getLocale, getMimetype, getSize, isChannelOpen, setEncoding, setLocale, setMimetype |
Method Detail |
---|
ContentReader getReader() throws ContentIOException
ContentIOException
boolean isClosed()
java.nio.channels.WritableByteChannel getWritableChannel() throws ContentIOException
The channel returned to the client should remain open (subject to timeouts) until closed by the client. All lock detection, read-only access and other concurrency issues are dealt with during this operation. It remains possible that implementations will throw exceptions when the channel is closed.
The stream will notify any listeners according to the listener interface.
ContentIOException
java.nio.channels.FileChannel getFileChannel(boolean truncate) throws ContentIOException
ContentWriter.getWritableChannel()
.
Underlying implementations use the truncate
parameter to determine the
most effective means of providing access to the content.
truncate
- true to start with zero length content
ContentIOException
ContentWriter.getWritableChannel()
,
RandomAccessFile.getChannel()
java.io.OutputStream getContentOutputStream() throws ContentIOException
ContentIOException
ContentWriter.getWritableChannel()
void putContent(ContentReader reader) throws ContentIOException
All resources will be closed automatically.
reader
- the reader acting as the source of the content
ContentIOException
ContentWriter.getWritableChannel()
void putContent(java.io.InputStream is) throws ContentIOException
All resources will be closed automatically.
is
- the input stream from which the content will be read
ContentIOException
ContentWriter.getWritableChannel()
void putContent(java.io.File file) throws ContentIOException
All resources will be closed automatically.
file
- the file to load the content from
ContentIOException
ContentWriter.getWritableChannel()
void putContent(java.lang.String content) throws ContentIOException
String
.
If the encoding
is known then it will be used
otherwise the default system String to byte[] conversion
will be used.
All resources will be closed automatically.
content
- a string representation of the content
ContentIOException
ContentWriter.getWritableChannel()
,
String.getBytes(java.lang.String)
void guessMimetype(java.lang.String filename)
If the content has already been written, then the mimetype guessing will occur immediately. If the content has yet to be written, then the guessing will occur once the content write has completed.
The
- filename of the content (if known)void guessEncoding()
If the content has already been written, then the encoding guessing will occur immediately. If the content has yet to be written, then the guessing will occur once the content write has completed.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |