Files
.externalToolBuilders
config
source
cpp
java
org
alfresco
email
filesys
alfresco
avm
ftp
locking
netbios
server
auth
config
core
filesys
locking
oncrpc
pseudo
LocalPseudoFile.java
MemoryNetworkFile.java
MemoryPseudoFile.java
PseudoFile.java
PseudoFileImpl.java
PseudoFileInterface.java
PseudoFileList.java
PseudoFolderNetworkFile.java
PseudoNetworkFile.java
state
DatagramSessionHandler.java
NetworkServer.java
NetworkServerList.java
PacketHandlerInterface.java
PacketHandlerList.java
ServerListener.java
SessionHandlerInterface.java
SessionHandlerList.java
SessionListener.java
SocketPacketHandler.java
SocketSessionHandler.java
SrvSession.java
SrvSessionList.java
smb
util
CIFSServer.java
FTPServer.java
NFSServer.java
jcr
linkvalidation
model
repo
sandbox
service
tools
util
apache
queryRegister.dtd
meta-inf
test-resources
web
.classpath
.project
build.xml
alfresco-community-repo/source/java/org/alfresco/filesys/server/pseudo/LocalPseudoFile.java
Paul Holmes-Higgin 4e2300f095 Updated copyright
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5186 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2007-02-19 17:17:36 +00:00

121 lines
3.7 KiB
Java

/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.filesys.server.pseudo;
import java.io.File;
import org.alfresco.filesys.server.filesys.FileInfo;
import org.alfresco.filesys.server.filesys.NetworkFile;
/**
* Local Pseudo File Class
*
* <p>Pseudo file class that uses a file on the local filesystem.
*
* @author gkspencer
*/
public class LocalPseudoFile extends PseudoFile
{
// Path to the file on the local filesystem
private String m_path;
/**
* Class constructor
*
* @param name String
* @param path String
*/
public LocalPseudoFile(String name, String path)
{
super(name);
m_path = path;
}
/**
* Return the path to the file on the local filesystem
*
* @return String
*/
public final String getFilePath()
{
return m_path;
}
/**
* Return the file information for the pseudo file
*
* @return FileInfo
*/
public FileInfo getFileInfo()
{
// Check if the file information is valid
if ( getInfo() == null) {
// Get the file details
File localFile = new File( getFilePath());
if ( localFile.exists())
{
// Create the file information
FileInfo fInfo = new FileInfo( getFileName(), localFile.length(), getAttributes());
// Set the file creation/modification times
fInfo.setModifyDateTime( localFile.lastModified());
fInfo.setCreationDateTime( _creationDateTime);
fInfo.setChangeDateTime( _creationDateTime);
// Set the allocation size, round up the actual length
fInfo.setAllocationSize(( localFile.length() + 512L) & 0xFFFFFFFFFFFFFE00L);
setFileInfo( fInfo);
}
}
// Return the file information
return getInfo();
}
/**
* Return a network file for reading/writing the pseudo file
*
* @param netPath String
* @return NetworkFile
*/
public NetworkFile getFile(String netPath)
{
// Create a pseudo file mapped to a file in the local filesystem
return new PseudoNetworkFile( getFileName(), getFilePath(), netPath);
}
}