org.alfresco.repo.content.filestore
Class FileContentWriter

java.lang.Object
  extended by org.alfresco.repo.content.AbstractContentAccessor
      extended by org.alfresco.repo.content.AbstractContentWriter
          extended by org.alfresco.repo.content.filestore.FileContentWriter
All Implemented Interfaces:
org.alfresco.service.cmr.repository.ContentAccessor, org.alfresco.service.cmr.repository.ContentWriter

public class FileContentWriter
extends AbstractContentWriter

Provides direct access to a local file.

This class does not provide remote access to the file.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.alfresco.repo.content.AbstractContentAccessor
AbstractContentAccessor.CallbackFileChannel, AbstractContentAccessor.ChannelCloseCallbackAdvise
 
Constructor Summary
FileContentWriter(java.io.File file)
          Constructor that builds a URL based on the absolute path of the file.
FileContentWriter(java.io.File file, org.alfresco.service.cmr.repository.ContentReader existingContentReader)
          Constructor that builds a URL based on the absolute path of the file.
FileContentWriter(java.io.File file, java.lang.String url, org.alfresco.service.cmr.repository.ContentReader existingContentReader)
          Constructor that explicitely sets the URL that the reader represents.
 
Method Summary
 boolean canWrite()
           
protected  org.alfresco.service.cmr.repository.ContentReader createReader()
          The URL of the write is known from the start and this method contract states that no consideration needs to be taken w.r.t.
protected  java.nio.channels.WritableByteChannel getDirectWritableChannel()
          Provides low-level access to write content to the repository.
 java.io.File getFile()
           
 long getSize()
           
 
Methods inherited from class org.alfresco.repo.content.AbstractContentWriter
addListener, getContentOutputStream, getExistingContentReader, getFileChannel, getReader, getWritableChannel, guessEncoding, guessMimetype, isChannelOpen, isClosed, putContent, putContent, putContent, putContent, setMimetypeService
 
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.ContentAccessor
getContentData, getContentUrl, getEncoding, getLocale, getMimetype, setEncoding, setLocale, setMimetype
 

Constructor Detail

FileContentWriter

public FileContentWriter(java.io.File file)
Constructor that builds a URL based on the absolute path of the file.

Parameters:
file - the file for writing. This will most likely be directly related to the content URL.

FileContentWriter

public FileContentWriter(java.io.File file,
                         org.alfresco.service.cmr.repository.ContentReader existingContentReader)
Constructor that builds a URL based on the absolute path of the file.

Parameters:
file - the file for writing. This will most likely be directly related to the content URL.
existingContentReader - a reader of a previous version of this content

FileContentWriter

public FileContentWriter(java.io.File file,
                         java.lang.String url,
                         org.alfresco.service.cmr.repository.ContentReader existingContentReader)
Constructor that explicitely sets the URL that the reader represents.

Parameters:
file - the file for writing. This will most likely be directly related to the content URL.
url - the relative url that the reader represents
existingContentReader - a reader of a previous version of this content
Method Detail

getFile

public java.io.File getFile()
Returns:
Returns the file that this writer accesses

getSize

public long getSize()
Returns:
Returns the size of the underlying file or

createReader

protected org.alfresco.service.cmr.repository.ContentReader createReader()
                                                                  throws org.alfresco.service.cmr.repository.ContentIOException
The URL of the write is known from the start and this method contract states that no consideration needs to be taken w.r.t. the stream state.

Specified by:
createReader in class AbstractContentWriter
Returns:
Returns a reader onto the location referenced by this instance. The instance must always be a new instance and never null.
Throws:
org.alfresco.service.cmr.repository.ContentIOException

getDirectWritableChannel

protected java.nio.channels.WritableByteChannel getDirectWritableChannel()
                                                                  throws org.alfresco.service.cmr.repository.ContentIOException
Description copied from class: AbstractContentWriter
Provides low-level access to write content to the repository.

This is the only of the content writing methods that needs to be implemented by derived classes. All other content access methods make use of this in their underlying implementations.

Specified by:
getDirectWritableChannel in class AbstractContentWriter
Returns:
Returns a channel with which to write content
Throws:
org.alfresco.service.cmr.repository.ContentIOException - if the channel could not be opened

canWrite

public boolean canWrite()
Returns:
Returns true always


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.