public class CachedNetworkFile extends DBNetworkFile
Caches the file data in the local filesystem in a temporary area.
Modifier and Type | Field and Description |
---|---|
protected static long |
DataLoadWaitTime |
protected static long |
DataPollSleepTime |
protected FileSegment |
m_cacheFile |
protected int |
m_lastReadLen |
protected long |
m_lastReadPos |
protected boolean |
m_seqOnly |
protected int |
m_seqReads |
DBCacheFile
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 and Description |
---|
CachedNetworkFile(String name,
int fid,
int stid,
int did,
FileStateProxy state,
FileSegment segment,
FileLoader loader)
Class constructor
|
Modifier and Type | Method and Description |
---|---|
void |
closeFile()
Close the file
|
protected FileRequest |
createFileRequest(int typ)
Create a file load or save request.
|
protected void |
finalize()
Object is about to be garbage collected
|
void |
flushFile()
Flush any buffered output to the file
|
FileSegment |
getFileSegment()
Return the associated file segment
|
protected boolean |
hasDebug()
Determine if network file debug output is enabled
|
boolean |
isSequentialOnly()
Determine if the file will only be accessed sequentially
|
void |
openFile(boolean createFlag)
Open the file
|
int |
readFile(byte[] buf,
int len,
int pos,
long fileOff)
Read from the file.
|
long |
seekFile(long pos,
int typ)
Seek to the specified file position.
|
void |
setSequentialOnly(boolean seq)
Set the sequential access only flag
|
void |
truncateFile(long siz)
Truncate the file to the specified file size
|
protected void |
updateFileSize(long siz,
long alloc)
Update the cached file information file size
|
void |
writeFile(byte[] buf,
int len,
int pos,
long offset)
Write a block of data to the file.
|
getFileState, getLoader, getOwnerSessionId, getStatus, hasFileState, hasLoader, hasOwnerSessionId, setFileDetails, setFileState, setLoader, setOwnerSessionId, setStatus
addLock, allowsOpenCloseViaNetworkFile, 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, toString, wasCreated
protected static final long DataLoadWaitTime
protected static final long DataPollSleepTime
protected FileSegment m_cacheFile
protected long m_lastReadPos
protected int m_lastReadLen
protected int m_seqReads
protected boolean m_seqOnly
public CachedNetworkFile(String name, int fid, int stid, int did, FileStateProxy state, FileSegment segment, FileLoader loader)
name
- Stringfid
- intstid
- intdid
- intstate
- FileStateProxysegment
- FileSegmentloader
- FileLoaderpublic final FileSegment getFileSegment()
public final boolean isSequentialOnly()
public final void setSequentialOnly(boolean seq)
seq
- booleanpublic void openFile(boolean createFlag) throws IOException
openFile
in class DBNetworkFile
createFlag
- booleanIOException
public int readFile(byte[] buf, int len, int pos, long fileOff) throws IOException
readFile
in class NetworkFile
buf
- byte[]len
- intpos
- intfileOff
- longIOException
public void writeFile(byte[] buf, int len, int pos, long offset) throws IOException
writeFile
in class NetworkFile
buf
- byte[]len
- intpos
- intoffset
- longIOException
public void flushFile() throws IOException
flushFile
in class NetworkFile
IOException
public long seekFile(long pos, int typ) throws IOException
seekFile
in class NetworkFile
pos
- longtyp
- intIOException
public void truncateFile(long siz) throws IOException
truncateFile
in class NetworkFile
siz
- longIOException
public void closeFile()
closeFile
in class NetworkFile
protected final void updateFileSize(long siz, long alloc)
siz
- longalloc
- longprotected FileRequest createFileRequest(int typ)
typ
- intprotected final boolean hasDebug()
Copyright © 2005–2018 Alfresco Software. All rights reserved.