Package org.alfresco.filesys.repo
Class OpenOfficeContentNetworkFile
- java.lang.Object
-
- org.alfresco.jlan.server.filesys.NetworkFile
-
- org.alfresco.filesys.alfresco.AlfrescoNetworkFile
-
- org.alfresco.filesys.repo.NodeRefNetworkFile
-
- org.alfresco.filesys.repo.ContentNetworkFile
-
- org.alfresco.filesys.repo.OpenOfficeContentNetworkFile
-
- All Implemented Interfaces:
NetworkFileLegacyReferenceCount,org.alfresco.jlan.server.filesys.cache.NetworkFileStateInterface
public class OpenOfficeContentNetworkFile extends ContentNetworkFile
OpenOffice Content Network File ClassProvides 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.
- Author:
- gkspencer
-
-
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
ATTRIBUTESONLY, 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
Constructors Modifier Constructor Description protectedOpenOfficeContentNetworkFile(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcloseFile()Close the fileintgetDelayedCloseCount()Return the delayed close countvoidincrementDelayedCloseCount()Increment the delayed close countintreadFile(byte[] buffer, int length, int position, long fileOffset)Read from the file.booleantruncatedToZeroLength()Check if the last file operation was a truncate to zero lengthvoidtruncateFile(long size)Truncate or extend the file to the specified lengthvoidwriteFile(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
decrementLagacyOpenCount, decrementOpenCount, getLegacyOpenCount, getNodeRef, getOpenCount, getProcessId, incrementLegacyOpenCount, incrementOpenCount, setNodeRef, setProcessId
-
Methods inherited from class org.alfresco.filesys.alfresco.AlfrescoNetworkFile
allowsOpenCloseViaNetworkFile, 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, isForce, isHidden, isReadOnly, isStream, isSystem, numberOfLocks, removeAllLocks, removeLock, setAccessDate, setAccessToken, setAllowedAccess, setAttributes, setClosed, setCreationDate, setDelayedClose, setDelayedWriteError, setDeleteOnClose, setDirectoryId, setFileId, setFileSize, setFileSize, setForce, setFullName, setGrantedAccess, setIOPending, setModifyDate, setName, setOpLock, setProtocolId, setStatusFlag, setStreamId, setStreamName, setUniqueId, setUniqueId, setUniqueId, wasCreated
-
-
-
-
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:
nodeService- NodeServicecontentService- ContentServicemimetypeService- MimetypeServicenodeRef- NodeRefname- 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.IOExceptionRead from the file.- Overrides:
readFilein classContentNetworkFile- Parameters:
buffer- byte[]length- intposition- intfileOffset- 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.IOExceptionWrite a block of data to the file.- Overrides:
writeFilein classContentNetworkFile- Parameters:
buffer- byte[]length- intposition- intfileOffset- long- Throws:
java.io.IOException
-
truncateFile
public void truncateFile(long size) throws java.io.IOExceptionTruncate or extend the file to the specified length- Overrides:
truncateFilein classContentNetworkFile- Parameters:
size- long- Throws:
java.io.IOException
-
closeFile
public void closeFile() throws java.io.IOExceptionClose the file- Overrides:
closeFilein classContentNetworkFile- Throws:
java.io.IOException
-
-