Class OpenOfficeContentNetworkFile

java.lang.Object
org.alfresco.jlan.server.filesys.NetworkFile
All Implemented Interfaces:
NetworkFileLegacyReferenceCount, 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.

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
    protected
    OpenOfficeContentNetworkFile(NodeService nodeService, ContentService contentService, MimetypeService mimetypeService, NodeRef nodeRef, String name)
    Class constructor
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Close the file
    final int
    Return the delayed close count
    final void
    Increment the delayed close count
    int
    readFile(byte[] buffer, int length, int position, long fileOffset)
    Read from the file.
    final boolean
    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.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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • OpenOfficeContentNetworkFile

      protected OpenOfficeContentNetworkFile(NodeService nodeService, ContentService contentService, MimetypeService mimetypeService, NodeRef nodeRef, String name)
      Class constructor
      Parameters:
      nodeService - NodeService
      contentService - ContentService
      mimetypeService - MimetypeService
      nodeRef - NodeRef
      name - String
  • Method Details

    • 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 IOException
      Read from the file.
      Overrides:
      readFile in class ContentNetworkFile
      Parameters:
      buffer - byte[]
      length - int
      position - int
      fileOffset - long
      Returns:
      Length of data read.
      Throws:
      IOException
    • writeFile

      public void writeFile(byte[] buffer, int length, int position, long fileOffset) throws IOException
      Write a block of data to the file.
      Overrides:
      writeFile in class ContentNetworkFile
      Parameters:
      buffer - byte[]
      length - int
      position - int
      fileOffset - long
      Throws:
      IOException
    • truncateFile

      public void truncateFile(long size) throws IOException
      Truncate or extend the file to the specified length
      Overrides:
      truncateFile in class ContentNetworkFile
      Parameters:
      size - long
      Throws:
      IOException
    • closeFile

      public void closeFile() throws IOException
      Close the file
      Overrides:
      closeFile in class ContentNetworkFile
      Throws:
      IOException