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(java.lang.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(java.lang.String name, int fid, int stid, int did, FileStateProxy state, FileSegment segment, FileLoader loader)
name
- Stringfid
- intstid
- intdid
- intstateProxy
- FileStateProxysegment
- FileSegmentloader
- FileLoaderpublic final FileSegment getFileSegment()
public final boolean isSequentialOnly()
public final void setSequentialOnly(boolean seq)
seq
- booleanpublic void openFile(boolean createFlag) throws java.io.IOException
openFile
in class DBNetworkFile
createFlag
- booleanjava.io.IOException
public int readFile(byte[] buf, int len, int pos, long fileOff) throws java.io.IOException
readFile
in class NetworkFile
buf
- byte[]len
- intpos
- intfileOff
- longjava.io.IOException
public void writeFile(byte[] buf, int len, int pos, long offset) throws java.io.IOException
writeFile
in class NetworkFile
buf
- byte[]len
- intpos
- intoffset
- longjava.io.IOException
public void flushFile() throws java.io.IOException
flushFile
in class NetworkFile
java.io.IOException
public long seekFile(long pos, int typ) throws java.io.IOException
seekFile
in class NetworkFile
pos
- longtyp
- intjava.io.IOException
public void truncateFile(long siz) throws java.io.IOException
truncateFile
in class NetworkFile
siz
- longjava.io.IOException
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()
protected void finalize()
finalize
in class java.lang.Object
Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.