mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-06-30 18:15:39 +00:00
ContentDiskDriver rework. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29451 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
94 lines
2.5 KiB
Java
94 lines
2.5 KiB
Java
package org.alfresco.filesys.repo;
|
|
|
|
import java.io.IOException;
|
|
|
|
import org.alfresco.error.AlfrescoRuntimeException;
|
|
import org.alfresco.jlan.server.filesys.FileInfo;
|
|
import org.alfresco.jlan.server.filesys.NetworkFile;
|
|
import org.alfresco.jlan.server.filesys.cache.FileState;
|
|
import org.alfresco.jlan.server.filesys.cache.NetworkFileStateInterface;
|
|
|
|
/**
|
|
* Object returned to JLAN if the repository object is a folder.
|
|
*/
|
|
public class AlfrescoFolder extends NetworkFile implements NetworkFileStateInterface
|
|
{
|
|
public AlfrescoFolder(String path, FileInfo fileInfo, boolean readOnly)
|
|
{
|
|
super(path);
|
|
setFullName(path);
|
|
|
|
// Set the file timestamps
|
|
|
|
if ( fileInfo.hasCreationDateTime())
|
|
setCreationDate( fileInfo.getCreationDateTime());
|
|
|
|
if ( fileInfo.hasModifyDateTime())
|
|
setModifyDate(fileInfo.getModifyDateTime());
|
|
|
|
if ( fileInfo.hasAccessDateTime())
|
|
setAccessDate(fileInfo.getAccessDateTime());
|
|
|
|
// Set the file attributes
|
|
setAttributes(fileInfo.getFileAttributes());
|
|
}
|
|
|
|
@Override
|
|
public void openFile(boolean createFlag) throws IOException
|
|
{
|
|
throw new AlfrescoRuntimeException("Unable to open channel for a directory network file: " + this);
|
|
}
|
|
|
|
@Override
|
|
public int readFile(byte[] buf, int len, int pos, long fileOff)
|
|
throws IOException
|
|
{
|
|
throw new AlfrescoRuntimeException("Unable to open channel for a directory network file: " + this);
|
|
}
|
|
|
|
@Override
|
|
public void writeFile(byte[] buf, int len, int pos, long fileOff)
|
|
throws IOException
|
|
{
|
|
throw new AlfrescoRuntimeException("Unable to open channel for a directory network file: " + this);
|
|
}
|
|
|
|
@Override
|
|
public long seekFile(long pos, int typ) throws IOException
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public void flushFile() throws IOException
|
|
{
|
|
// Do nothing.
|
|
}
|
|
|
|
@Override
|
|
public void truncateFile(long siz) throws IOException
|
|
{
|
|
throw new AlfrescoRuntimeException("Unable to open channel for a directory network file: " + this);
|
|
}
|
|
|
|
@Override
|
|
public void closeFile() throws IOException
|
|
{
|
|
setClosed(true);
|
|
}
|
|
|
|
// For JLAN file state lock manager
|
|
public void setFileState(FileState fileState)
|
|
{
|
|
this.fileState = fileState;
|
|
}
|
|
|
|
@Override
|
|
public FileState getFileState()
|
|
{
|
|
return fileState;
|
|
|
|
}
|
|
private FileState fileState;
|
|
}
|