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
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_pidFields 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
ConstructorsModifierConstructorDescriptionprotectedContentNetworkFile(NodeService nodeService, ContentService contentService, MimetypeService mimetypeService, NodeRef nodeRef, String name) Class constructor -
Method Summary
Modifier and TypeMethodDescriptionvoidClose the filestatic ContentNetworkFilecreateFile(NodeService nodeService, ContentService contentService, MimetypeService mimetypeService, CifsHelper cifsHelper, NodeRef nodeRef, String path, boolean readOnly, boolean attributesOnly, org.alfresco.jlan.server.SrvSession sess) Helper method to create anetwork filegiven a node reference.voidFlush and buffered data for this filefinal booleanDetermine if the file content data has been openedfinal booleanReturn 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 filetoString()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, setProcessIdMethods inherited from class org.alfresco.filesys.alfresco.AlfrescoNetworkFile
allowsOpenCloseViaNetworkFile, getFileState, setFileStateMethods 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 Details
-
ContentNetworkFile
protected ContentNetworkFile(NodeService nodeService, ContentService contentService, MimetypeService mimetypeService, NodeRef nodeRef, String name) Class constructor- Parameters:
nodeService- NodeServicecontentService- ContentServicemimetypeService- mimetypeServicenodeRef- NodeRefname- String
-
-
Method Details
-
createFile
public static ContentNetworkFile createFile(NodeService nodeService, ContentService contentService, MimetypeService mimetypeService, CifsHelper cifsHelper, NodeRef nodeRef, String path, boolean readOnly, boolean attributesOnly, org.alfresco.jlan.server.SrvSession sess) Helper method to create anetwork filegiven a node reference. -
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.AlfrescoRuntimeException Opens 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.READONLYNetworkFile.WRITEONLYNetworkFile.READWRITE
-
closeFile
Close the file- Specified by:
closeFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Throws:
IOException
-
truncateFile
Truncate or extend the file to the specified length- Specified by:
truncateFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Parameters:
size- long- Throws:
IOException
-
writeFile
Write a block of data to the file.- Specified by:
writeFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Parameters:
buffer- byte[]length- intposition- intfileOffset- long- Throws:
IOException
-
readFile
Read 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:
IOException
-
openFile
Open the file- Specified by:
openFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Parameters:
createFlag- boolean- Throws:
IOException
-
seekFile
Seek to a new position in the file- Specified by:
seekFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Parameters:
pos- longtyp- int- Returns:
- long
- Throws:
IOException
-
flushFile
Flush and buffered data for this file- Specified by:
flushFilein classorg.alfresco.jlan.server.filesys.NetworkFile- Throws:
IOException
-
isModified
public final boolean isModified()Return the modified status- Returns:
- boolean
-