org.alfresco.filesys.repo
Class OpenOfficeContentNetworkFile

java.lang.Object
  extended by org.alfresco.jlan.server.filesys.NetworkFile
      extended by org.alfresco.filesys.alfresco.AlfrescoNetworkFile
          extended by org.alfresco.filesys.repo.NodeRefNetworkFile
              extended by org.alfresco.filesys.repo.ContentNetworkFile
                  extended by org.alfresco.filesys.repo.OpenOfficeContentNetworkFile
All Implemented Interfaces:
org.alfresco.jlan.server.filesys.cache.NetworkFileStateInterface

public class OpenOfficeContentNetworkFile
extends ContentNetworkFile

OpenOffice Content Network File Class

Provides special handling for OpenOffice file saves that open the file, truncate, close, then open the file again to write the data, as this causes multiple versions to be generated when the file is versionable.


Field Summary
 
Fields inherited from class org.alfresco.filesys.repo.NodeRefNetworkFile
m_nodeRef, m_pid
 
Fields inherited from class org.alfresco.jlan.server.filesys.NetworkFile
Created, DelayedClose, DelayedWriteError, DeleteOnClose, IOPending, m_accessDate, m_allowedAccess, m_attrib, m_closed, m_createDate, m_dirId, m_fid, m_fileSize, m_fullName, m_grantedAccess, m_modifyDate, m_name, m_streamId, m_streamName, m_uniqueId, m_writeCount, READONLY, READWRITE, WRITEONLY
 
Constructor Summary
protected OpenOfficeContentNetworkFile(org.alfresco.service.cmr.repository.NodeService nodeService, ContentService contentService, org.alfresco.service.cmr.repository.MimetypeService mimetypeService, org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String name)
          Class constructor
 
Method Summary
 void closeFile()
          Close the file
 int getDelayedCloseCount()
          Return the delayed close count
 void incrementDelayedCloseCount()
          Increment the delayed close count
 int readFile(byte[] buffer, int length, int position, long fileOffset)
          Read from the file.
 boolean truncatedToZeroLength()
          Check if the last file operation was a truncate to zero length
 void truncateFile(long size)
          Truncate or extend the file to the specified length
 void writeFile(byte[] buffer, int length, int position, long fileOffset)
          Write a block of data to the file.
 
Methods inherited from class org.alfresco.filesys.repo.ContentNetworkFile
createFile, flushFile, hasContent, isModified, openContent, openFile, seekFile, toString
 
Methods inherited from class org.alfresco.filesys.repo.NodeRefNetworkFile
decrementOpenCount, getNodeRef, getOpenCount, getProcessId, incrementOpenCount, setNodeRef, setProcessId
 
Methods inherited from class org.alfresco.filesys.alfresco.AlfrescoNetworkFile
getFileState, setFileState
 
Methods inherited from class org.alfresco.jlan.server.filesys.NetworkFile
addLock, close, getAccessDate, getAccessToken, getAllowedAccess, getCreationDate, getDirectoryId, getFileAttributes, getFileId, getFileSize, getFileSizeInt, getFullName, getFullNameStream, getGrantedAccess, getGrantedAccessAsString, getLockAt, getLockList, getModifyDate, getName, getOpLock, getProtocolId, getStreamId, getStreamName, getUniqueId, getWriteCount, hasAccessDate, hasAccessToken, hasCreationDate, hasDelayedClose, hasDelayedWriteError, hasDeleteOnClose, hasIOPending, hasLocks, hasModifyDate, hasNTAttribute, hasOpLock, incrementWriteCount, isArchived, isClosed, isDirectory, isHidden, isReadOnly, isStream, isSystem, numberOfLocks, removeAllLocks, removeLock, setAccessDate, setAccessToken, setAllowedAccess, setAttributes, setClosed, setCreationDate, setDelayedClose, setDelayedWriteError, setDeleteOnClose, setDirectoryId, setFileId, setFileSize, setFileSize, setFullName, setGrantedAccess, setIOPending, setModifyDate, setName, setOpLock, setProtocolId, setStatusFlag, setStreamId, setStreamName, setUniqueId, setUniqueId, setUniqueId, wasCreated
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OpenOfficeContentNetworkFile

protected OpenOfficeContentNetworkFile(org.alfresco.service.cmr.repository.NodeService nodeService,
                                       ContentService contentService,
                                       org.alfresco.service.cmr.repository.MimetypeService mimetypeService,
                                       org.alfresco.service.cmr.repository.NodeRef nodeRef,
                                       java.lang.String name)
Class constructor

Parameters:
transactionService - TransactionService
nodeService - NodeService
contentService - ContentService
nodeRef - NodeRef
name - String
Method Detail

getDelayedCloseCount

public final int getDelayedCloseCount()
Return the delayed close count

Returns:
int

incrementDelayedCloseCount

public final void incrementDelayedCloseCount()
Increment the delayed close count


truncatedToZeroLength

public final boolean truncatedToZeroLength()
Check if the last file operation was a truncate to zero length

Returns:
boolean

readFile

public int readFile(byte[] buffer,
                    int length,
                    int position,
                    long fileOffset)
             throws java.io.IOException
Read from the file.

Overrides:
readFile in class ContentNetworkFile
Parameters:
buf - byte[]
len - int
pos - int
fileOff - long
Returns:
Length of data read.
Throws:
java.io.IOException

writeFile

public void writeFile(byte[] buffer,
                      int length,
                      int position,
                      long fileOffset)
               throws java.io.IOException
Write a block of data to the file.

Overrides:
writeFile in class ContentNetworkFile
Parameters:
buf - byte[]
len - int
pos - int
fileOff - long
Throws:
java.io.IOException

truncateFile

public void truncateFile(long size)
                  throws java.io.IOException
Truncate or extend the file to the specified length

Overrides:
truncateFile in class ContentNetworkFile
Parameters:
size - long
Throws:
java.io.IOException

closeFile

public void closeFile()
               throws java.io.IOException
Close the file

Overrides:
closeFile in class ContentNetworkFile
Throws:
java.io.IOException


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