Package org.alfresco.filesys.repo
Class ContentNetworkFile
- java.lang.Object
-
- org.alfresco.jlan.server.filesys.NetworkFile
-
- org.alfresco.filesys.alfresco.AlfrescoNetworkFile
-
- org.alfresco.filesys.repo.NodeRefNetworkFile
-
- org.alfresco.filesys.repo.ContentNetworkFile
-
- All Implemented Interfaces:
NetworkFileLegacyReferenceCount,org.alfresco.jlan.server.filesys.cache.NetworkFileStateInterface
- Direct Known Subclasses:
MSOfficeContentNetworkFile,OpenOfficeContentNetworkFile
public class ContentNetworkFile extends NodeRefNetworkFile
Implementation of the NetworkFile for direct interaction with the channel repository.This provides the interaction with the Alfresco Content Model file/folder structure.
- Author:
- Derek Hulley
-
-
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 protectedContentNetworkFile(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 Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcloseFile()Close the filestatic ContentNetworkFilecreateFile(org.alfresco.service.cmr.repository.NodeService nodeService, ContentService contentService, org.alfresco.service.cmr.repository.MimetypeService mimetypeService, CifsHelper cifsHelper, org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String path, boolean readOnly, boolean attributesOnly, org.alfresco.jlan.server.SrvSession sess)Helper method to create anetwork filegiven a node reference.voidflushFile()Flush and buffered data for this filebooleanhasContent()Determine if the file content data has been openedbooleanisModified()Return the modified statusvoidopenContent(boolean write, boolean trunc)Opens the channel for reading or writing depending on the access mode.voidopenFile(boolean createFlag)Open the fileintreadFile(byte[] buffer, int length, int position, long fileOffset)Read from the file.longseekFile(long pos, int typ)Seek to a new position in the filejava.lang.StringtoString()Return the file details as a stringvoidtruncateFile(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.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
-
ContentNetworkFile
protected ContentNetworkFile(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
-
createFile
public static ContentNetworkFile createFile(org.alfresco.service.cmr.repository.NodeService nodeService, ContentService contentService, org.alfresco.service.cmr.repository.MimetypeService mimetypeService, CifsHelper cifsHelper, org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String path, boolean readOnly, boolean attributesOnly, org.alfresco.jlan.server.SrvSession sess)
Helper method to create anetwork filegiven a node reference.
-
toString
public java.lang.String toString()
Return the file details as a string- Overrides:
toStringin classorg.alfresco.jlan.server.filesys.NetworkFile- Returns:
- String
-
hasContent
public final boolean hasContent()
Determine if the file content data has been opened- Returns:
- boolean
-
openContent
public void openContent(boolean write, boolean trunc) throws org.alfresco.jlan.server.filesys.AccessDeniedException, org.alfresco.error.AlfrescoRuntimeExceptionOpens the channel for reading or writing depending on the access mode.Side effect: sets fileSize
If the channel is already open, it is left.
- Parameters:
write- true if the channel must be writabletrunc- true if the writable channel does not require the previous content data- Throws:
org.alfresco.jlan.server.filesys.AccessDeniedException- if this network file is read onlyorg.alfresco.error.AlfrescoRuntimeException- if this network file represents a directory- See Also:
NetworkFile.getGrantedAccess(),NetworkFile.READONLY,NetworkFile.WRITEONLY,NetworkFile.READWRITE
-
closeFile
public void closeFile() throws java.io.IOExceptionClose the file- Specified by:
closeFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Throws:
java.io.IOException
-
truncateFile
public void truncateFile(long size) throws java.io.IOExceptionTruncate or extend the file to the specified length- Specified by:
truncateFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Parameters:
size- long- 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.- Specified by:
writeFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Parameters:
buffer- byte[]length- intposition- intfileOffset- long- Throws:
java.io.IOException
-
readFile
public int readFile(byte[] buffer, int length, int position, long fileOffset) throws java.io.IOExceptionRead from the file.- Specified by:
readFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Parameters:
buffer- byte[]length- intposition- intfileOffset- long- Returns:
- Length of data read.
- Throws:
java.io.IOException
-
openFile
public void openFile(boolean createFlag) throws java.io.IOExceptionOpen the file- Specified by:
openFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Parameters:
createFlag- boolean- Throws:
java.io.IOException
-
seekFile
public long seekFile(long pos, int typ) throws java.io.IOExceptionSeek to a new position in the file- Specified by:
seekFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Parameters:
pos- longtyp- int- Returns:
- long
- Throws:
java.io.IOException
-
flushFile
public void flushFile() throws java.io.IOExceptionFlush and buffered data for this file- Specified by:
flushFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Throws:
java.io.IOException
-
isModified
public final boolean isModified()
Return the modified status- Returns:
- boolean
-
-